diff --git a/.gitea/workflows/deploy-dev.yml b/.gitea/workflows/deploy-dev.yml index 98ac2f9..155f042 100644 --- a/.gitea/workflows/deploy-dev.yml +++ b/.gitea/workflows/deploy-dev.yml @@ -41,7 +41,7 @@ jobs: export ENGINE_BUILD BUYING_AGENT_API_PORT ENGINE_BUILD="$(git rev-parse --short HEAD)" BUYING_AGENT_API_PORT=8095 - docker compose -f docker-compose.dev-env.yml build --no-cache api + docker compose -f docker-compose.dev-env.yml build --pull=false api if ! ENGINE_BUILD="$ENGINE_BUILD" BUYING_AGENT_API_PORT="$BUYING_AGENT_API_PORT" \ docker compose -f docker-compose.dev-env.yml up -d --wait; then echo "compose up --wait failed — api logs:" diff --git a/.gitea/workflows/deploy-prod.yml b/.gitea/workflows/deploy-prod.yml index 9525a30..367953d 100644 --- a/.gitea/workflows/deploy-prod.yml +++ b/.gitea/workflows/deploy-prod.yml @@ -48,7 +48,7 @@ jobs: ENGINE_BUILD="$(git rev-parse --short HEAD)" BUYING_AGENT_API_BIND=0.0.0.0 BUYING_AGENT_API_PORT=8006 - docker compose build --no-cache api + docker compose build --pull=false api if ! ENGINE_BUILD="$ENGINE_BUILD" \ BUYING_AGENT_API_BIND="$BUYING_AGENT_API_BIND" \ BUYING_AGENT_API_PORT="$BUYING_AGENT_API_PORT" \ diff --git a/Dockerfile b/Dockerfile index 454a81a..a6793b8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,9 @@ -FROM python:3.13-slim-bookworm AS base +FROM ghcr.io/astral-sh/uv:0.10.11-python3.13-trixie-slim AS base RUN apt-get update \ && apt-get install -y --no-install-recommends libpq5 \ && rm -rf /var/lib/apt/lists/* -COPY --from=ghcr.io/astral-sh/uv:0.10.11 /uv /usr/local/bin/uv - WORKDIR /app ENV UV_COMPILE_BYTECODE=1 \ diff --git a/docs/DEPLOYMENT.md b/docs/DEPLOYMENT.md index d033a97..d5fdd71 100644 --- a/docs/DEPLOYMENT.md +++ b/docs/DEPLOYMENT.md @@ -66,6 +66,8 @@ Watchtower bleibt aus. | `deploy-prod.yml` | Push `main` | Deploy nach `~/docker/buyingagent`, Health `localhost:8006` | | `test.yml` | nach Dev-Deploy bzw. Push `develop` | nicht-schreibender Smoke gegen `/health/live` und `/health/ready` | +Der API-Build nutzt `ghcr.io` (nicht Docker Hub). `docker compose build --pull=false` verwendet vorhandene Basis-Images und vermeidet IPv6-Timeouts gegen `auth.docker.io`. + --- ## Manuelles Deploy @@ -74,14 +76,14 @@ Watchtower bleibt aus. # Development cd ~/docker/buyingagent-dev git fetch origin develop && git reset --hard origin/develop -docker compose -f docker-compose.dev-env.yml build --no-cache api +docker compose -f docker-compose.dev-env.yml build --pull=false api BUYING_AGENT_API_PORT=8095 docker compose -f docker-compose.dev-env.yml up -d --wait curl -sf http://localhost:8095/health/ready # Production cd ~/docker/buyingagent git fetch origin main && git reset --hard origin/main -BUYING_AGENT_API_BIND=0.0.0.0 BUYING_AGENT_API_PORT=8006 docker compose build --no-cache api +BUYING_AGENT_API_BIND=0.0.0.0 BUYING_AGENT_API_PORT=8006 docker compose build --pull=false api BUYING_AGENT_API_BIND=0.0.0.0 BUYING_AGENT_API_PORT=8006 docker compose up -d --wait curl -sf http://localhost:8006/health/ready ```