From 3e35bad2bde91bac059e2be6acbdf5d776c5d848 Mon Sep 17 00:00:00 2001 From: adminjeroen Date: Thu, 9 Jul 2026 19:03:49 +0200 Subject: [PATCH] Add zammad.yaml --- zammad.yaml | 273 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 273 insertions(+) create mode 100644 zammad.yaml diff --git a/zammad.yaml b/zammad.yaml new file mode 100644 index 0000000..19da5e0 --- /dev/null +++ b/zammad.yaml @@ -0,0 +1,273 @@ +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 \ No newline at end of file