# Registry pages are rendered on request from live Harbor data (cached ~1 min), # so publishing a new image needs no rebuild. Rebuild only after code changes: # docker compose up -d --build # Config comes from .env (see .env.example). services: web: build: context: . args: SITE_URL: ${SITE_URL:-} HARBOR_URL: ${HARBOR_URL:-} image: homepage:latest restart: unless-stopped ports: - "${PORT:-8080}:8080" environment: HARBOR_URL: ${HARBOR_URL:?set HARBOR_URL in .env} HARBOR_REGISTRY_HOST: ${HARBOR_REGISTRY_HOST:-} HARBOR_PROJECTS: ${HARBOR_PROJECTS:-} HARBOR_USERNAME: ${HARBOR_USERNAME:-} # Only needed for non-public projects; empty is fine. HARBOR_PASSWORD: ${HARBOR_PASSWORD:-} read_only: true tmpfs: - /tmp healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8080/"] interval: 30s timeout: 3s retries: 3