version: '3.7' services: app: image: wizewerx/betbeast:master command: - bundle - exec - rails - s networks: - default - routable configs: - source: betbeast target: /app/.env logging: driver: json-file options: max-size: 10M deploy: labels: traefik.http.routers.betbeast_app.tls: 'true' traefik.http.routers.betbeast_app.rule: Host(`betbeast.wizewerx.tech`) traefik.http.routers.betbeast_app.entrypoints: websecure traefik.http.services.betbeast_app.loadbalancer.server.port: '3000' traefik.enable: 'true' swarmpit.service.deployment.autoredeploy: 'true' update_config: delay: 60s order: start-first restart_policy: condition: on-failure window: 120s max_attempts: 3 placement: constraints: - node.labels.db == 2 cron_sidekiq: image: wizewerx/betbeast:master command: - bundle - exec - sidekiq environment: RUN_SIDEKIQ_CRON: 'yes' networks: - default configs: - source: betbeast target: /app/.env logging: driver: json-file options: max-size: 10M deploy: labels: swarmpit.service.deployment.autoredeploy: 'true' update_config: delay: 60s order: start-first restart_policy: condition: on-failure window: 120s max_attempts: 3 placement: constraints: - node.labels.db == 2 db: image: postgres:14.0-alpine environment: POSTGRES_DB: betbeast POSTGRES_PASSWORD: XbjGAoFf2HLFVV7SkooBswnF3SYQ POSTGRES_USER: godzilla volumes: - betbeast_db_data:/var/lib/postgresql/data networks: - databases - default logging: driver: json-file deploy: replicas: 0 restart_policy: condition: on-failure window: 120s max_attempts: 3 placement: constraints: - node.labels.db == 2 db_backup: image: tiredofit/db-backup:latest environment: COMPRESSION: GZ CONTAINER_ENABLE_MONITORING: 'FALSE' DB_CLEANUP_TIME: '10' DB_DUMP_FREQ: '15' DB_HOST: db DB_NAME: betbeast DB_PASS: XbjGAoFf2HLFVV7SkooBswnF3SYQ DB_TYPE: pgsql DB_USER: godzilla ENABLE_CHECKSUM: 'FALSE' volumes: - /mnt/s3_share/backups/databases:/backup networks: - default logging: driver: json-file deploy: restart_policy: condition: on-failure window: 120s max_attempts: 3 redis: image: redis:6.0-alpine volumes: - betbeast_redis:/data networks: - default logging: driver: json-file deploy: placement: constraints: - node.labels.db == 2 networks: databases: external: true default: driver: overlay routable: external: true volumes: betbeast_db_data: betbeast_redis: configs: betbeast: external: true