mirror of
https://codeberg.org/angestoepselt/docker-zammad.git
synced 2025-05-24 14:46:17 +00:00
75 lines
1.8 KiB
YAML
75 lines
1.8 KiB
YAML
version: '3'
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
|
|
services:
|
|
zammad-elasticsearch:
|
|
container_name: zammad-elasticsearch
|
|
mem_limit: 6g
|
|
healthcheck:
|
|
test: curl -s http://localhost:9200 --output /dev/null || exit 1
|
|
interval: 60s
|
|
timeout: 10s
|
|
retries: 30
|
|
|
|
zammad-nginx:
|
|
container_name: zammad-nginx
|
|
env_file: stack.env
|
|
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.services.zammad.loadbalancer.server.port=8080"
|
|
networks:
|
|
- proxy
|
|
- default
|
|
|
|
zammad-postgresql:
|
|
container_name: zammad-postgresql
|
|
env_file: stack.env
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready"]
|
|
interval: 60s
|
|
timeout: 10s
|
|
retries: 30
|
|
|
|
zammad-init:
|
|
container_name: zammad-init
|
|
environment:
|
|
- POSTGRES_DB=${POSTGRES_DB}
|
|
- POSTGRES_USER=${POSTGRES_USER}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASS}
|
|
env_file: stack.env
|
|
|
|
zammad-memcached:
|
|
container_name: zammad-memcached
|
|
|
|
zammad-railsserver:
|
|
container_name: zammad-railsserver
|
|
env_file: stack.env
|
|
volumes:
|
|
- ${APP_DATA}/zammad/config/database.yml:/opt/zammad/config/database.yml
|
|
|
|
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
|