Files
dockhand/zammad.yaml
T
2026-07-09 19:03:49 +02:00

273 lines
7.7 KiB
YAML

services:
zammad-postgresql:
image: postgres:17.10-alpine
container_name: zammad-postgresql
restart: unless-stopped
environment:
POSTGRES_DB: zammad_production
POSTGRES_USER: zammad
POSTGRES_PASSWORD: Winter2018
volumes:
- /srv/docker/zammad/postgresql:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U zammad -d zammad_production"]
interval: 10s
timeout: 5s
start_period: 60s
retries: 5
networks:
- zammad
zammad-redis:
image: redis:8.8-alpine
container_name: zammad-redis
restart: unless-stopped
volumes:
- /srv/docker/zammad/redis:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
start_period: 10s
retries: 5
networks:
- zammad
zammad-memcached:
image: memcached:1.6.42-alpine
container_name: zammad-memcached
restart: unless-stopped
command: memcached -m 256M
healthcheck:
test: ["CMD", "nc", "-z", "127.0.0.1", "11211"]
interval: 10s
timeout: 5s
start_period: 10s
retries: 5
networks:
- zammad
zammad-elasticsearch:
image: elasticsearch:9.4.2
container_name: zammad-elasticsearch
restart: unless-stopped
environment:
discovery.type: single-node
xpack.security.enabled: "false"
ES_JAVA_OPTS: "-Xms768m -Xmx768m"
volumes:
- /srv/docker/zammad/elasticsearch:/usr/share/elasticsearch/data
networks:
- zammad
zammad-init:
image: ghcr.io/zammad/zammad:7.1.1-0000
container_name: zammad-init
restart: on-failure
command: ["zammad-init"]
user: "0:0"
depends_on:
zammad-postgresql:
condition: service_healthy
zammad-redis:
condition: service_healthy
zammad-memcached:
condition: service_healthy
zammad-elasticsearch:
condition: service_started
environment:
TZ: Europe/Amsterdam
POSTGRESQL_DB: zammad_production
POSTGRESQL_HOST: zammad-postgresql
POSTGRESQL_USER: zammad
POSTGRESQL_PASS: Winter2018
POSTGRESQL_PORT: 5432
POSTGRESQL_OPTIONS: "?pool=50"
REDIS_URL: redis://zammad-redis:6379
MEMCACHE_SERVERS: zammad-memcached:11211
ELASTICSEARCH_ENABLED: "true"
ELASTICSEARCH_SCHEMA: http
ELASTICSEARCH_HOST: zammad-elasticsearch
ELASTICSEARCH_PORT: 9200
ELASTICSEARCH_REINDEX: "true"
BACKUP_DIR: /var/tmp/zammad
BACKUP_TIME: "03:00"
BACKUP_ON_START: "true"
HOLD_DAYS: "10"
volumes:
- /srv/docker/zammad/storage:/opt/zammad/storage
- /srv/docker/zammad/backup:/var/tmp/zammad
networks:
- zammad
zammad-railsserver:
image: ghcr.io/zammad/zammad:7.1.1-0000
container_name: zammad-railsserver
restart: unless-stopped
command: ["zammad-railsserver"]
depends_on:
zammad-init:
condition: service_completed_successfully
zammad-postgresql:
condition: service_healthy
zammad-redis:
condition: service_healthy
zammad-memcached:
condition: service_healthy
environment:
TZ: Europe/Amsterdam
POSTGRESQL_DB: zammad_production
POSTGRESQL_HOST: zammad-postgresql
POSTGRESQL_USER: zammad
POSTGRESQL_PASS: Winter2018
POSTGRESQL_PORT: 5432
POSTGRESQL_OPTIONS: "?pool=50"
REDIS_URL: redis://zammad-redis:6379
MEMCACHE_SERVERS: zammad-memcached:11211
ELASTICSEARCH_ENABLED: "true"
ELASTICSEARCH_SCHEMA: http
ELASTICSEARCH_HOST: zammad-elasticsearch
ELASTICSEARCH_PORT: 9200
ZAMMAD_FQDN: zammad.tmsconnector.nl
ZAMMAD_HTTP_TYPE: http
volumes:
- /srv/docker/zammad/storage:/opt/zammad/storage
- /srv/docker/zammad/backup:/var/tmp/zammad
healthcheck:
test: ["CMD", "curl", "-sf", "http://127.0.0.1:3000"]
interval: 30s
timeout: 5s
start_period: 120s
retries: 3
networks:
- zammad
zammad-scheduler:
image: ghcr.io/zammad/zammad:7.1.1-0000
container_name: zammad-scheduler
restart: unless-stopped
command: ["zammad-scheduler"]
depends_on:
zammad-init:
condition: service_completed_successfully
zammad-railsserver:
condition: service_healthy
environment:
TZ: Europe/Amsterdam
POSTGRESQL_DB: zammad_production
POSTGRESQL_HOST: zammad-postgresql
POSTGRESQL_USER: zammad
POSTGRESQL_PASS: Winter2018
POSTGRESQL_PORT: 5432
POSTGRESQL_OPTIONS: "?pool=50"
REDIS_URL: redis://zammad-redis:6379
MEMCACHE_SERVERS: zammad-memcached:11211
ELASTICSEARCH_ENABLED: "true"
ELASTICSEARCH_SCHEMA: http
ELASTICSEARCH_HOST: zammad-elasticsearch
ELASTICSEARCH_PORT: 9200
volumes:
- /srv/docker/zammad/storage:/opt/zammad/storage
- /srv/docker/zammad/backup:/var/tmp/zammad
networks:
- zammad
zammad-websocket:
image: ghcr.io/zammad/zammad:7.1.1-0000
container_name: zammad-websocket
restart: unless-stopped
command: ["zammad-websocket"]
depends_on:
zammad-init:
condition: service_completed_successfully
zammad-railsserver:
condition: service_healthy
environment:
TZ: Europe/Amsterdam
POSTGRESQL_DB: zammad_production
POSTGRESQL_HOST: zammad-postgresql
POSTGRESQL_USER: zammad
POSTGRESQL_PASS: Winter2018
POSTGRESQL_PORT: 5432
POSTGRESQL_OPTIONS: "?pool=50"
REDIS_URL: redis://zammad-redis:6379
MEMCACHE_SERVERS: zammad-memcached:11211
ELASTICSEARCH_ENABLED: "true"
ELASTICSEARCH_SCHEMA: http
ELASTICSEARCH_HOST: zammad-elasticsearch
ELASTICSEARCH_PORT: 9200
volumes:
- /srv/docker/zammad/storage:/opt/zammad/storage
- /srv/docker/zammad/backup:/var/tmp/zammad
networks:
- zammad
zammad-nginx:
image: ghcr.io/zammad/zammad:7.1.1-0000
container_name: zammad-nginx
restart: unless-stopped
command: ["zammad-nginx"]
depends_on:
zammad-railsserver:
condition: service_healthy
environment:
TZ: Europe/Amsterdam
NGINX_PORT: 8080
NGINX_CLIENT_MAX_BODY_SIZE: 50M
POSTGRESQL_DB: zammad_production
POSTGRESQL_HOST: zammad-postgresql
POSTGRESQL_USER: zammad
POSTGRESQL_PASS: Winter2018
POSTGRESQL_PORT: 5432
POSTGRESQL_OPTIONS: "?pool=50"
REDIS_URL: redis://zammad-redis:6379
MEMCACHE_SERVERS: zammad-memcached:11211
ELASTICSEARCH_ENABLED: "true"
ELASTICSEARCH_SCHEMA: http
ELASTICSEARCH_HOST: zammad-elasticsearch
ELASTICSEARCH_PORT: 9200
ZAMMAD_FQDN: zammad.tmsconnector.nl
ZAMMAD_HTTP_TYPE: http
ports:
- "8095:8080"
volumes:
- /srv/docker/zammad/storage:/opt/zammad/storage
- /srv/docker/zammad/backup:/var/tmp/zammad
networks:
- zammad
zammad-backup:
image: ghcr.io/zammad/zammad:7.1.1-0000
container_name: zammad-backup
restart: unless-stopped
command: ["zammad-backup"]
user: "0:0"
depends_on:
zammad-init:
condition: service_completed_successfully
zammad-postgresql:
condition: service_healthy
environment:
TZ: Europe/Amsterdam
POSTGRESQL_DB: zammad_production
POSTGRESQL_HOST: zammad-postgresql
POSTGRESQL_USER: zammad
POSTGRESQL_PASS: Winter2018
POSTGRESQL_PORT: 5432
POSTGRESQL_OPTIONS: "?pool=50"
REDIS_URL: redis://zammad-redis:6379
MEMCACHE_SERVERS: zammad-memcached:11211
BACKUP_DIR: /var/tmp/zammad
BACKUP_TIME: "03:00"
BACKUP_ON_START: "true"
HOLD_DAYS: "10"
volumes:
- /srv/docker/zammad/storage:/opt/zammad/storage
- /srv/docker/zammad/backup:/var/tmp/zammad
networks:
- zammad
networks:
zammad:
name: zammad
driver: bridge