networks: traefik: external: true default: services: easy-appointments: image: git.nixc.us/nixius/easy-appointments:production deploy: replicas: 1 restart_policy: condition: on-failure max_attempts: 3 update_config: parallelism: 1 delay: 10s order: start-first rollback_config: parallelism: 1 delay: 10s order: stop-first networks: - traefik - default labels: - traefik.enable=true - traefik.http.routers.production_easy-appointments.rule=Host(`easy-appointments.colinknapp.com`) - traefik.http.routers.production_easy-appointments.entrypoints=websecure - traefik.http.routers.production_easy-appointments.tls=true - traefik.http.routers.production_easy-appointments.tls.certresolver=letsencryptresolver - traefik.http.services.production_easy-appointments.loadbalancer.server.port=80 # - traefik.http.services.production_easy-appointments.loadbalancer.healthcheck.path=/health # - traefik.http.services.production_easy-appointments.loadbalancer.healthcheck.interval=30s # - traefik.http.services.production_easy-appointments.loadbalancer.healthcheck.timeout=5s - traefik.http.routers.production_easy-appointments.middlewares=secure-headers mariadb: image: git.nixc.us/nixius/mariadb:production deploy: replicas: 1 restart_policy: condition: on-failure max_attempts: 3 environment: - MARIADB_ROOT_PASSWORD=secret - MARIADB_DATABASE=easyappointments networks: - default volumes: - mariadb_data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p$$MARIADB_ROOT_PASSWORD"] interval: 10s retries: 5 start_period: 30s timeout: 5s