--- version: "3.8" services: zammad-backup: image: zammad/zammad-docker-compose:zammad-postgresql-5.2.3-19 command: ["zammad-backup"] depends_on: - zammad-railsserver - zammad-postgresql entrypoint: /custom-entrypoint.sh configs: - source: entrypoint target: /custom-entrypoint.sh mode: 0555 secrets: - db_password environment: - BACKUP_SLEEP=86400 - HOLD_DAYS=10 - POSTGRESQL_USER=zammad - POSTGRESQL_PASS_FILE=/run/secrets/db_password volumes: - zammad-backup:/var/tmp/zammad - zammad-data:/opt/zammad deploy: labels: - "backupbot.backup=true" - "backupbot.backup.path=/var/tmp/zammad" zammad-elasticsearch: image: zammad/zammad-docker-compose:zammad-elasticsearch-5.2.3-19 environment: - discovery.type=single-node volumes: - elasticsearch-data:/usr/share/elasticsearch/data deploy: resources: limits: memory: 4G reservations: memory: 2G zammad-init: image: zammad/zammad-docker-compose:zammad-5.2.3-19 command: ["zammad-init"] depends_on: - zammad-postgresql entrypoint: /custom-entrypoint.sh configs: - source: entrypoint target: /custom-entrypoint.sh mode: 0555 secrets: - db_password environment: - MEMCACHE_SERVERS=zammad-memcached:11211 - POSTGRESQL_USER=zammad - POSTGRESQL_PASS_FILE=/run/secrets/db_password - REDIS_URL=redis://zammad-redis:6379 volumes: - zammad-data:/opt/zammad deploy: restart_policy: condition: on-failure zammad-memcached: command: memcached -m 256M image: memcached:1.6.17-alpine app: image: zammad/zammad-docker-compose:zammad-5.2.3-19 command: ["zammad-nginx"] depends_on: - zammad-railsserver volumes: - zammad-data:/opt/zammad networks: - proxy - default environment: - NGINX_SERVER_SCHEME=https - RAILS_TRUSTED_PROXIES - X_FRAME_OPTIONS_ALLOW_FROM deploy: restart_policy: condition: on-failure labels: - "traefik.enable=true" - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=8080" - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-frameOptions" - "traefik.http.middlewares.${STACK_NAME}-frameOptions.headers.customFrameOptionsValue=allow-from *.local-it.cloud" - "traefik.http.middlewares.${STACK_NAME}-frameOptions.headers.contentSecurityPolicy=frame-ancestors ${X_FRAME_OPTIONS_ALLOW_FROM}" ## Redirect from EXTRA_DOMAINS to DOMAIN #- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect" #- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true" #- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}" - "coop-cloud.${STACK_NAME}.version=0.1.0+zammad-5.2.3-19" zammad-postgresql: image: zammad/zammad-docker-compose:zammad-postgresql-5.2.3-19 environment: - POSTGRES_USER=zammad - POSTGRES_PASSWORD_FILE=/run/secrets/db_password secrets: - db_password volumes: - postgresql-data:/var/lib/postgresql/data zammad-railsserver: image: zammad/zammad-docker-compose:zammad-5.2.3-19 command: ["zammad-railsserver"] depends_on: - zammad-memcached - zammad-postgresql - zammad-redis environment: - MEMCACHE_SERVERS=zammad-memcached:11211 - REDIS_URL=redis://zammad-redis:6379 volumes: - zammad-data:/opt/zammad zammad-redis: image: redis:6.2.7-alpine zammad-scheduler: image: zammad/zammad-docker-compose:zammad-5.2.3-19 command: ["zammad-scheduler"] depends_on: - zammad-memcached - zammad-railsserver - zammad-redis environment: - MEMCACHE_SERVERS=zammad-memcached:11211 - REDIS_URL=redis://zammad-redis:6379 volumes: - zammad-data:/opt/zammad zammad-websocket: image: zammad/zammad-docker-compose:zammad-5.2.3-19 command: ["zammad-websocket"] depends_on: - zammad-memcached - zammad-railsserver - zammad-redis environment: - MEMCACHE_SERVERS=zammad-memcached:11211 - REDIS_URL=redis://zammad-redis:6379 volumes: - zammad-data:/opt/zammad volumes: elasticsearch-data: postgresql-data: zammad-backup: zammad-data: networks: default: proxy: external: true configs: entrypoint: name: ${STACK_NAME}_entrypoint_${ENTRYPOINT_VERSION} file: entrypoint.sh secrets: db_password: external: true name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION}