version: '3.8' services: backend: image: registry.resk-u.ch/clerc/reskreen:latest labels: node.labels.reskreen-ready: 'true' volumes: - reskreen-data:/app/config networks: - main-swarm-network logging: driver: json-file deploy: restart_policy: condition: on-failure placement: constraints: - node.labels.reskreen-ready==true healthcheck: test: ["CMD", "curl", "-f", "http://127.0.0.1:8080/api/auth/health/"] interval: 30s timeout: 10s retries: 3 start_period: 60s backend-cron: image: registry.resk-u.ch/clerc/reskreen:latest command: - /app/start_crond.sh labels: node.labels.reskreen-ready: 'true' volumes: - reskreen-data:/app/config networks: - default logging: driver: json-file frontend: image: registry.resk-u.ch/clerc/clerc-frontend:latest labels: node.labels.reskreen-ready: 'true' networks: - main-swarm-network configs: - source: env-reskreen-frontend target: /app/frontend-app/.env logging: driver: json-file deploy: update_config: delay: 10s restart_policy: condition: on-failure max_attempts: 3 placement: constraints: - node.labels.reskreen-ready==true healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3000/"] interval: 30s timeout: 10s retries: 3 start_period: 60s networks: default: driver: overlay main-swarm-network: external: true volumes: reskreen-data: driver: local driver_opts: device: /home/prod/Reskreen o: bind type: none configs: env-reskreen-frontend: external: true