Files
videoreg.ru/deploy/swarm/docker-stack.yml
T
huncode df60a7b74c
Master Production Deploy / production (push) Failing after 7m51s
Init repo
2026-05-16 23:51:49 +03:00

59 lines
1.7 KiB
YAML

version: "3.9"
services:
web:
image: ${WEB_IMAGE}
environment:
NODE_ENV: production
APP_ENV: ${ENVIRONMENT}
PORT: "3000"
VIDEOREG_DB_FILE: /data/videoreg.json
VIDEOREG_DB_MEMORY_TTL_MS: ${VIDEOREG_DB_MEMORY_TTL_MS:-3600000}
VIDEOREG_NEXT_CACHE_REVALIDATE_SECONDS: ${VIDEOREG_NEXT_CACHE_REVALIDATE_SECONDS:-3600}
COMMIT_SHA: ${COMMIT_SHA}
RELEASE_ID: ${RELEASE_ID}
REGION: ${REGION:-}
TEAM_ID: ${TEAM_ID:-}
volumes:
- videoreg_data:/data
networks:
traefik: {}
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:3000/health/ready >/dev/null || exit 1"]
interval: 10s
timeout: 3s
retries: 3
start_period: 20s
deploy:
replicas: ${WEB_REPLICAS:-1}
placement:
constraints:
- ${WEB_PLACEMENT_CONSTRAINT:-node.role == manager}
update_config:
order: start-first
parallelism: 1
failure_action: rollback
monitor: 45s
rollback_config:
order: start-first
parallelism: 1
monitor: 45s
restart_policy:
condition: on-failure
labels:
- "traefik.enable=true"
- "traefik.docker.network=${TRAEFIK_NETWORK}"
- "traefik.http.routers.${STACK_NAME}-web.rule=Host(`${PUBLIC_HOST}`) && PathPrefix(`/`)"
- "traefik.http.routers.${STACK_NAME}-web.entrypoints=${TRAEFIK_ENTRYPOINTS:-websecure}"
- "traefik.http.routers.${STACK_NAME}-web.tls=${TRAEFIK_TLS:-true}"
- "traefik.http.services.${STACK_NAME}-web.loadbalancer.server.port=3000"
stop_grace_period: 30s
volumes:
videoreg_data:
networks:
traefik:
external: true
name: ${TRAEFIK_NETWORK}