x-blog-templage: &blog-base image: git.riverrooks.dev/venus/river-rooks-blog:latest restart: unless-stopped volumes: - "./posts:/app/src/posts" environment: - "SITE_DOMAIN=${SITE_DOMAIN:?Error: SITE_DOMAIN is not set. Please define SITE_DOMAIN in .env}" - "SITE_URL=${SITE_URL:-https://${SITE_DOMAIN}}" - "PORT=${PORT:-8080}" - "WATCH=true" - "API_SECRET=${API_SECRET}" ports: - "${HOST_PORT:-${PORT:-8080}}:${PORT:-8080}" networks: - backend healthcheck: test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:${PORT:-8080}/healthz > /dev/null || exit 1"] interval: 5s timeout: 3s retries: 3 start_period: 5s # I Have this deployed with a series of traefik labels but that's not strictly nessescary services: blog-blue: <<: *blog-base blog-green: <<: *blog-base networks: backend: external: true