version: '3.9' networks: proxy: external: true services: zammad-backup: container_name: zammad-backup image: bash:latest restart: "no" entrypoint: ["echo", "backup disabled in compose.override.yml"] zammad-elasticsearch: container_name: zammad-elasticsearch mem_limit: 6g environment: - "ES_JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=true" healthcheck: test: curl -s http://localhost:9200 --output /dev/null || exit 1 interval: 60s timeout: 10s retries: 30 zammad-nginx: container_name: zammad-nginx healthcheck: test: curl --fail http://localhost:8080 || exit 1 interval: 60s retries: 30 start_period: 20s timeout: 10s labels: - "traefik.enable=true" - "traefik.docker.network=proxy" - "traefik.http.routers.zammad.rule=Host(`${ZAMMAD_DOMAIN}`)" - "traefik.http.routers.zammad.entrypoints=websecure" - "traefik.http.routers.zammad.tls.certresolver=letsencrypt" - "traefik.http.routers.zammad.middlewares=zammad" - "traefik.http.middlewares.zammad.headers.sslredirect=true" - "traefik.http.routers.zammad.tls.options=default" - "traefik.http.services.zammad.loadbalancer.server.port=8080" networks: - proxy - default zammad-backup: container_name: zammad-backup zammad-postgresql: container_name: zammad-postgresql healthcheck: test: ["CMD-SHELL", "pg_isready"] interval: 60s timeout: 10s retries: 30 zammad-init: container_name: zammad-init zammad-memcached: container_name: zammad-memcached zammad-railsserver: container_name: zammad-railsserver zammad-redis: container_name: zammad-redis healthcheck: test: ["CMD-SHELL", "redis-cli ping | grep PONG"] interval: 60s timeout: 30s retries: 10 zammad-scheduler: container_name: zammad-scheduler zammad-websocket: container_name: zammad-websocket