From 2ee2c254ba60c473db885fe5e908960b09893c3b Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sat, 3 May 2025 16:58:06 -0400 Subject: [PATCH 1/2] Re-adding Zammad. --- docker-compose.yml | 146 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 606b9bd6..8de4a7b2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,6 +21,65 @@ x-app-common: &jitsi_admin_app PHP_INI_MEMORY_LIMIT: "1G" PHP_EXTENSION_LDAP: 1 PHP_EXTENSION_INTL: 1 +x-shared: + zammad-service: &zammad-service + environment: &zammad-environment + MEMCACHE_SERVERS: ${ZAMMAD_MEMCACHE_SERVERS:-zammad-memcached:11211} + POSTGRESQL_DB: ${ZAMMAD_POSTGRES_DB:-zammad_production} + POSTGRESQL_HOST: ${ZAMMAD_POSTGRES_HOST:-zammad-postgresql} + POSTGRESQL_USER: ${ZAMMAD_POSTGRES_USER:-zammad} + POSTGRESQL_PASS: ${ZAMMAD_POSTGRES_PASS:-zammad} + POSTGRESQL_PORT: ${ZAMMAD_POSTGRES_PORT:-5432} + POSTGRESQL_OPTIONS: ${ZAMMAD_POSTGRESQL_OPTIONS:-?pool=50} + POSTGRESQL_DB_CREATE: + REDIS_URL: ${ZAMMAD_REDIS_URL:-redis://zammad-redis:6379} + S3_URL: http://${ZAMMAD_S3_ACCESS_KEY}:${ZAMMAD_S3_SECRET_KEY}@minio:9000/zammad-storage-bucket?region=us-east-fh-pln&force_path_style=true + # Backup settings + BACKUP_DIR: "${BACKUP_DIR:-/var/tmp/zammad}" + BACKUP_TIME: "${BACKUP_TIME:-03:00}" + HOLD_DAYS: "${HOLD_DAYS:-7}" + TZ: "${TZ:-Europe/Berlin}" + # Allow passing in these variables via .env: + AUTOWIZARD_JSON: + AUTOWIZARD_RELATIVE_PATH: + ELASTICSEARCH_ENABLED: false + ELASTICSEARCH_SCHEMA: + ELASTICSEARCH_HOST: + ELASTICSEARCH_PORT: + ELASTICSEARCH_USER: ${ELASTICSEARCH_USER:-elastic} + ELASTICSEARCH_PASS: ${ELASTICSEARCH_PASS:-zammad} + ELASTICSEARCH_NAMESPACE: + ELASTICSEARCH_REINDEX: + NGINX_PORT: + NGINX_EXPOSE_PORT: 15257 + NGINX_CLIENT_MAX_BODY_SIZE: + NGINX_SERVER_NAME: + NGINX_SERVER_SCHEME: + RAILS_TRUSTED_PROXIES: 172.18.0.0/16 + ZAMMAD_HTTP_TYPE: + ZAMMAD_FQDN: + ZAMMAD_WEB_CONCURRENCY: + ZAMMAD_PROCESS_SESSIONS_JOBS_WORKERS: + ZAMMAD_PROCESS_SCHEDULED_JOBS_WORKERS: + ZAMMAD_PROCESS_DELAYED_JOBS_WORKERS: + # ZAMMAD_SESSION_JOBS_CONCURRENT is deprecated, please use ZAMMAD_PROCESS_SESSIONS_JOBS_WORKERS instead. + ZAMMAD_SESSION_JOBS_CONCURRENT: + # 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.5.0-15} + restart: ${RESTART:-always} + volumes: + - zammad-storage:/opt/zammad/storage + depends_on: + - zammad-memcached + - zammad-postgresql + - zammad-redis services: actual_server: container_name: actualbudget @@ -5242,6 +5301,83 @@ services: source: /rinoa-storage target: /storage type: bind + 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.4} + restart: ${RESTART:-always} + profiles: + - do-not-start + volumes: + - zammad-elasticsearch-data:/bitnami/elasticsearch/data + environment: + # Enable authorization without HTTPS. For external access with + # SSL termination, use solutions like nginx-proxy-manager. + ELASTICSEARCH_ENABLE_SECURITY: 'true' + ELASTICSEARCH_SKIP_TRANSPORT_TLS: 'true' + ELASTICSEARCH_ENABLE_REST_TLS: 'false' + # ELASTICSEARCH_USER is hardcoded to 'elastic' in the container. + ELASTICSEARCH_PASSWORD: ${ELASTICSEARCH_PASS:-zammad} + zammad-init: + <<: *zammad-service + command: ["zammad-init"] + depends_on: + - zammad-postgresql + restart: on-failure + user: 0:0 + zammad-memcached: + command: memcached -m 256M + image: memcached:${MEMCACHE_VERSION:-1.6.38-alpine} + restart: ${RESTART:-always} + zammad-nginx: + <<: *zammad-service + command: ["zammad-nginx"] + expose: + - "${NGINX_PORT:-8080}" + ports: + - "${NGINX_EXPOSE_PORT:-8080}:${NGINX_PORT:-8080}" + labels: + swag: enable + swag_proto: http + swag_port: 8080 + swag_url: support.${MY_TLD} + swag.uptime-kuma.enabled: true + swag.uptime-kuma.monitor.url: https://support.${MY_TLD} + homepage.group: Personal/Professional Services + homepage.name: Zammad + homepage.href: https://support.${MY_TLD} + homepage.icon: zammad.svg + homepage.description: Open-source helpdesk/customer support system + depends_on: + - zammad-railsserver + zammad-postgresql: + environment: + POSTGRES_DB: ${ZAMMAD_POSTGRES_DB:-zammad_production} + POSTGRES_USER: ${ZAMMAD_POSTGRES_USER:-zammad} + POSTGRES_PASSWORD: ${ZAMMAD_POSTGRES_PASS:-zammad} + image: postgres:${ZAMMAD_POSTGRES_VERSION:-17.4-alpine} + restart: ${RESTART:-always} + volumes: + - zammad-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: + - zammad-redis-data:/data + zammad-scheduler: + <<: *zammad-service + command: ["zammad-scheduler"] + zammad-websocket: + <<: *zammad-service + command: ["zammad-websocket"] volumes: authelia-pg-db: name: authelia-pg-db @@ -5381,3 +5517,13 @@ volumes: name: wallos-db wallos-logos: name: wallos-logos + zammad-backup: + name: zammad-backup + zammad-storage: + name: zammad-storage + zammad-elasticsearch-data: + name: zammad-elasticsearch-data + zammad-postgresql-data: + name: zammad-postgresql-data + zammad-redis-data: + name: zammad-redis-data \ No newline at end of file From 277f7e6ac3e5ccd1dfa55647ddcfff8660f78e41 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Sun, 4 May 2025 00:23:42 +0000 Subject: [PATCH 2/2] chore: Update README --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 431dd41a..7b67b0ff 100644 --- a/README.md +++ b/README.md @@ -141,4 +141,14 @@ | watchtower | ghcr.io/containrrr/watchtower:latest | | web-check | lissy93/web-check | | youtubedl | nbr23/youtube-dl-server:latest | +| zammad-backup | ghcr.io/zammad/zammad:6.5.0-15 | +| zammad-elasticsearch | bitnami/elasticsearch:8.17.4 | +| zammad-init | ghcr.io/zammad/zammad:6.5.0-15 | +| zammad-memcached | memcached:1.6.38-alpine | +| zammad-nginx | ghcr.io/zammad/zammad:6.5.0-15 | +| zammad-postgresql | postgres:17.4-alpine | +| zammad-railsserver | ghcr.io/zammad/zammad:6.5.0-15 | +| zammad-redis | redis:7.4.2-alpine | +| zammad-scheduler | ghcr.io/zammad/zammad:6.5.0-15 | +| zammad-websocket | ghcr.io/zammad/zammad:6.5.0-15 |