x-shared: zammad-service: &zammad-service environment: &zammad-environment MEMCACHE_SERVERS: ${MEMCACHE_SERVERS:-zammad-memcached:11211} POSTGRESQL_DB: ${POSTGRES_DB:-zammad_db} POSTGRESQL_HOST: ${POSTGRES_HOST:-zammad-postgresql} POSTGRESQL_USER: ${POSTGRES_USER:-zammad} POSTGRESQL_PASS: ${POSTGRES_PASS:-zammad} POSTGRESQL_PORT: ${POSTGRES_PORT:-5432} POSTGRESQL_OPTIONS: ${POSTGRESQL_OPTIONS:-?pool=50} POSTGRESQL_DB_CREATE: REDIS_URL: ${REDIS_URL:-redis://zammad-redis:6379} S3_URL: # Backup settings BACKUP_DIR: "${BACKUP_DIR:-/var/tmp/zammad}" BACKUP_TIME: "${BACKUP_TIME:-03:00}" HOLD_DAYS: "${HOLD_DAYS:-10}" TZ: "${TZ:-Africa/Nairobi}" # Allow passing in these variables via .env: AUTOWIZARD_JSON: AUTOWIZARD_RELATIVE_PATH: ELASTICSEARCH_ENABLED: ELASTICSEARCH_HOST: ELASTICSEARCH_PORT: ELASTICSEARCH_SCHEMA: ELASTICSEARCH_NAMESPACE: ELASTICSEARCH_REINDEX: ELASTICSEARCH_SSL_VERIFY: NGINX_PORT: NGINX_CLIENT_MAX_BODY_SIZE: NGINX_SERVER_NAME: NGINX_SERVER_SCHEME: RAILS_TRUSTED_PROXIES: ZAMMAD_WEB_CONCURRENCY: ZAMMAD_SESSION_JOBS: ZAMMAD_PROCESS_SCHEDULED: ZAMMAD_PROCESS_DELAYED_JOBS_WORKERS: # Variables used by ngingx-proxy container for reverse proxy creations # for docs refer to https://github.com/nginx-proxy/nginx-proxy VIRTUAL_HOST: VIRTUAL_PORT: # Variables used by acme-companion for retrieval of LetsEncrypt certificate # for docs refer to https://github.com/nginx-proxy/acme-companion LETSENCRYPT_HOST: LETSENCRYPT_EMAIL: image: ${IMAGE_REPO:-ghcr.io/zammad/zammad}:${VERSION:-6.4.1-45} restart: ${RESTART:-always} volumes: - zammad-storage:/opt/zammad/storage depends_on: - zammad-memcached - zammad-postgresql - zammad-redis services: zammad-backup: <<: *zammad-service command: ["zammad-backup"] volumes: - zammad-backup:/var/tmp/zammad - zammad-storage:/opt/zammad/storage:ro user: 0:0 zammad-elasticsearch: image: bitnami/elasticsearch:${ELASTICSEARCH_VERSION:-8.17.1} restart: ${RESTART:-always} volumes: - elasticsearch-data:/bitnami/elasticsearch/data zammad-init: <<: *zammad-service command: ["zammad-init"] depends_on: - zammad-postgresql restart: on-failure user: 0:0 zammad-memcached: command: memcached -m 1256M image: memcached:${MEMCACHE_VERSION:-1.6.36-alpine} restart: ${RESTART:-always} zammad-nginx: <<: *zammad-service command: ["zammad-nginx"] expose: - "${NGINX_PORT:-10000}" ports: - "${NGINX_EXPOSE_PORT:-10000}:${NGINX_PORT:-10000}" depends_on: - zammad-railsserver zammad-postgresql: environment: POSTGRES_DB: ${POSTGRES_DB:-zammad_production} POSTGRES_USER: ${POSTGRES_USER:-zammad} POSTGRES_PASSWORD: ${POSTGRES_PASS:-zammad} image: postgres:${POSTGRES_VERSION:-17.2-alpine} restart: ${RESTART:-always} volumes: - postgresql-data:/var/lib/postgresql/data zammad-railsserver: <<: *zammad-service command: ["zammad-railsserver"] zammad-redis: image: redis:${REDIS_VERSION:-7.4.2-alpine} restart: ${RESTART:-always} volumes: - redis-data:/data zammad-scheduler: <<: *zammad-service command: ["zammad-scheduler"] zammad-websocket: <<: *zammad-service command: ["zammad-websocket"] volumes: elasticsearch-data: driver: local postgresql-data: driver: local redis-data: driver: local zammad-backup: driver: local zammad-storage: driver: local