33# Vibetype
44# https://github.com/maevsi/vibetype/
55---
6+ x-shared :
7+ zammad-service :
8+ &zammad-service # You can access the helpdesk at [zammad.app.localhost](https://zammad.app.localhost/).
9+ environment : &zammad-environment
10+ ELASTICSEARCH_HOST : elasticsearch
11+ MEMCACHE_SERVERS : memcached:11211
12+ POSTGRESQL_DB_CREATE : " false"
13+ POSTGRESQL_DB : zammad
14+ POSTGRESQL_HOST : postgres
15+ REDIS_URL : redis://redis:6379
16+ image : ghcr.io/zammad/zammad:6.5.2-90
17+ secrets :
18+ - source : elasticsearch_password
19+ target : /run/environment-variables/ELASTICSEARCH_PASS
20+ - source : postgres_role_service_zammad_username
21+ target : /run/environment-variables/POSTGRESQL_USER
22+ - source : postgres_role_service_zammad_password
23+ target : /run/environment-variables/POSTGRESQL_PASS
24+ volumes :
25+ - zammad_data:/opt/zammad/storage
26+ - ../production/configurations/zammad/docker-entrypoint.sh:/opt/zammad/bin/docker-entrypoint:ro
627secrets :
28+ elasticsearch_password :
29+ # The search engine's password for the default user.
30+ file : ./secrets/elasticsearch/password.secret
731 grafana_admin_email :
832 # The observation dashboard's admin email.
933 file : ./secrets/grafana/admin_email.secret
@@ -166,6 +190,18 @@ services:
166190 - postgres_user
167191 volumes :
168192 - ../production/configurations/debezium-postgres-connector/entrypoint.sh:/entrypoint.sh:ro
193+ elasticsearch :
194+ # You cannot access the search engine via a web interface.
195+ environment :
196+ discovery.type : single-node
197+ ELASTIC_PASSWORD_FILE : /run/secrets/elasticsearch_password
198+ ES_JAVA_OPTS : -Xms1g -Xmx1g
199+ xpack.security.enabled : " false"
200+ image : elasticsearch:8.19.11
201+ secrets :
202+ - elasticsearch_password
203+ volumes :
204+ - elasticsearch_data:/usr/share/elasticsearch/data
169205 geoip :
170206 # You cannot access the ip geolocator via a web interface.
171207 image : ghcr.io/observabilitystack/geoip-api:2026-02
@@ -220,6 +256,10 @@ services:
220256 volumes :
221257 - ../production/backups/postgres/:/backups/
222258 - ./configurations/jobber/.jobber:/home/jobberuser/.jobber:ro
259+ memcached :
260+ # You cannot access the caching system via a web interface.
261+ # command: memcached -m 256M
262+ image : memcached:1.6.40-alpine
223263 minio : # DARGSTACK-REMOVE
224264 # You can access the s3 console at [minio.app.localhost](https://minio.app.localhost/).
225265 # You can access the s3 api service at [s3.app.localhost](https://s3.app.localhost/) if you want to access via cli from outside the stack.
@@ -404,6 +444,11 @@ services:
404444 - postgres_user
405445 volumes :
406446 - reccoom_postgres_data:/var/lib/postgresql/
447+ redis :
448+ # You cannot access the caching system via a web interface.
449+ image : redis:7.4.7-alpine
450+ volumes :
451+ - redis_data:/data
407452 redpanda :
408453 # You can access the event streaming platform's ui as described under `redpanda-console`.
409454 command :
@@ -573,6 +618,62 @@ services:
573618 - ../../../vibetype/:/srv/app/ # DARGSTACK-REMOVE
574619 - vibetype_data:/srv/app/node_modules # DARGSTACK-REMOVE
575620 - ./configurations/postgraphile/jwtRS256.key.pub:/run/environment-variables/NUXT_PUBLIC_VIO_AUTH_JWT_PUBLIC_KEY:ro
621+ zammad-backup :
622+ # You cannot access the helpdesk backup service via a web interface.
623+ << : *zammad-service
624+ command : ["zammad-backup"]
625+ user : 0:0
626+ volumes :
627+ - zammad-backup_data:/var/tmp/zammad
628+ - zammad_data:/opt/zammad/storage:ro
629+ zammad-init :
630+ # You cannot access the helpdesk initialization service via a web interface.
631+ << : *zammad-service
632+ command : ["zammad-init"]
633+ # depends_on:
634+ # - zammad-postgresql
635+ user : 0:0
636+ zammad-nginx :
637+ # You can access the helpdesk at [zammad.app.localhost](https://zammad.app.localhost/).
638+ << : *zammad-service
639+ command : ["zammad-nginx"]
640+ deploy :
641+ labels :
642+ - traefik.enable=true
643+ - traefik.http.routers.zammad.entryPoints=web
644+ - traefik.http.routers.zammad.middlewares=redirectscheme # DARGSTACK-REMOVE
645+ - traefik.http.routers.zammad.rule=Host(`zammad.${STACK_DOMAIN}`)
646+ - traefik.http.routers.zammad_secure.entryPoints=web-secure
647+ - traefik.http.routers.zammad_secure.rule=Host(`zammad.${STACK_DOMAIN}`)
648+ - traefik.http.routers.zammad_secure.tls.options=mintls13@file # DARGSTACK-REMOVE
649+ - traefik.http.services.zammad.loadbalancer.server.port=8080
650+ # expose:
651+ # - "${NGINX_PORT:-8080}"
652+ # ports:
653+ # - "${NGINX_EXPOSE_PORT:-8080}:${NGINX_PORT:-8080}"
654+ # depends_on:
655+ # - zammad-railsserver
656+ # zammad-postgresql:
657+ # environment:
658+ # POSTGRES_DB: ${POSTGRES_DB:-zammad_production}
659+ # POSTGRES_USER: ${POSTGRES_USER:-zammad}
660+ # POSTGRES_PASSWORD: ${POSTGRES_PASS:-zammad}
661+ # image: postgres:${POSTGRES_VERSION:-17.7-alpine}
662+ # restart: ${RESTART:-always}
663+ # volumes:
664+ # - postgresql-data:/var/lib/postgresql/data
665+ zammad-railsserver :
666+ # You cannot access the helpdesk application server directly.
667+ << : *zammad-service
668+ command : ["zammad-railsserver"]
669+ zammad-scheduler :
670+ # You cannot access the helpdesk scheduler directly.
671+ << : *zammad-service
672+ command : ["zammad-scheduler"]
673+ zammad-websocket :
674+ # You cannot access the helpdesk websocket server directly.
675+ << : *zammad-service
676+ command : ["zammad-websocket"]
576677version : " 3.7"
577678volumes :
578679 debezium_kafka_configuration :
@@ -584,14 +685,17 @@ volumes:
584685 debezium_kafka_logs :
585686 # The change data capture's logs.
586687 {}
688+ elasticsearch_data :
689+ # The search engine's data.
690+ {}
587691 grafana_data :
588692 # The observation dashboard's data.
589693 {}
590694 minio_data :
591695 # The s3 server's data.
592696 {}
593697 pnpm_data :
594- # The node package manager's data.
698+ # The node package manager's data.
595699 {}
596700 portainer_data :
597701 # The container manager's data.
@@ -605,9 +709,18 @@ volumes:
605709 reccoom_postgres_data :
606710 # The recommendation database's data.
607711 {}
712+ redis_data :
713+ # The caching system's data.
714+ {}
608715 redpanda_data :
609716 # The message queue's data.
610717 {}
611718 vibetype_data :
612719 # The frontend's data.
613720 {}
721+ zammad-backup_data :
722+ # The helpdesk backup's data.
723+ {}
724+ zammad_data :
725+ # The helpdesk's data.
726+ {}
0 commit comments