Vendaweb-portal/docker-compose.swarm.yml

62 lines
1.6 KiB
YAML
Raw Normal View History

2026-01-08 12:32:16 +00:00
version: '3.8'
services:
vendaweb-frontend:
image: vendaweb-react:latest
deploy:
replicas: 3
update_config:
parallelism: 1
delay: 10s
failure_action: rollback
order: start-first
rollback_config:
parallelism: 1
delay: 5s
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
placement:
constraints:
- node.role == worker
preferences:
- spread: node.id
resources:
limits:
cpus: '0.5'
memory: 512M
reservations:
cpus: '0.25'
memory: 256M
labels:
- "traefik.enable=true"
- "traefik.http.routers.vendaweb.rule=Host(`venda.jurunense.com`)"
- "traefik.http.routers.vendaweb.entrypoints=websecure"
- "traefik.http.routers.vendaweb.tls.certresolver=letsencrypt"
- "traefik.http.services.vendaweb.loadbalancer.server.port=80"
- "traefik.http.services.vendaweb.loadbalancer.healthcheck.path=/health"
- "traefik.http.services.vendaweb.loadbalancer.healthcheck.interval=10s"
ports:
- target: 80
published: 3035
protocol: tcp
mode: ingress
networks:
- vendaweb-network
- traefik-public
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost/health" ]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
networks:
vendaweb-network:
driver: overlay
attachable: true
traefik-public:
external: true