简介
zammad是一个基于Web的开源服务台与客户支持系统,它提供了各种渠道的连接,如html、表单、电子邮件、SMS短信、网页对话栏、Google、X、脸书、TGbot、Whatsapp等方式接入客户帮助台。
- 支持全文检索。
- 具有灵活的文本模块。
- 立即报告对象的更改。
- 支持自动保存。
- 支持单独升级或设置客户端解决时限。
- 它是可审计的并且经常在银行中使用。
- 允许创建单独的概述。
- 支持各种安全机制,例如设备日志记录和双因素身份验证。
- 提供客户界面,他们可以随时跟踪当前的编辑情况。
- 支持通过 Twitter、Facebook、LinkedIn 或 Google 通过 OAuth 进行外部身份验证。
安装
需要先升级 docker compose 组件,低版本的会提示 yml 配置文件出错。这里的 docker compose 版本以2.29.7为例。详细配置可以参考 https://wiki.waringid.me/x/RgAx
.env
ELASTICSEARCH_VERSION=8.15.2 IMAGE_REPO=ghcr.io/zammad/zammad MEMCACHE_SERVERS=zammad-memcached:11211 MEMCACHE_VERSION=1.6.31-alpine NGINX_PORT=8080 NGINX_EXPOSE_PORT=8080 POSTGRES_DB=zammad_production POSTGRES_PASS=zammad POSTGRES_USER=zammad POSTGRES_HOST=zammad-postgresql POSTGRES_PORT=5432 POSTGRES_VERSION=chaitin/safeline-postgres:15.2 POSTGRESQL_OPTIONS=?pool=50 REDIS_URL=redis://zammad-redis:6379 REDIS_VERSION=7.4.0-alpine RESTART=always # Use a fixed version. You are responsible to update this to newer patch level versions yourself. VERSION=6.3.1-185
zammad.yml
version: '3.8' x-shared: zammad-service: &zammad-service environment: &zammad-environment MEMCACHE_SERVERS: ${MEMCACHE_SERVERS:-zammad-memcached:11211} POSTGRESQL_DB: ${POSTGRES_DB:-zammad_production} 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} # Backup settings BACKUP_DIR: "${BACKUP_DIR:-/var/tmp/zammad}" BACKUP_TIME: "${BACKUP_TIME:-03:00}" HOLD_DAYS: "${HOLD_DAYS:-10}" TZ: "${TZ:-Asia/Shanghai}" # 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_SERVER_NAME: NGINX_SERVER_SCHEME: RAILS_TRUSTED_PROXIES: ZAMMAD_WEB_CONCURRENCY: ZAMMAD_SESSION_JOBS: ZAMMAD_PROCESS_SCHEDULED: ZAMMAD_PROCESS_DELAYED_JOBS_WORKERS: image: ${IMAGE_REPO:-ghcr.io/zammad/zammad}:${VERSION:-6.3.1-185} restart: ${RESTART:-always} volumes: - /data/zammad/data:/opt/zammad/storage depends_on: - zammad-memcached - zammad-postgresql - zammad-redis services: zammad-backup: <<: *zammad-service command: ["zammad-backup"] volumes: - /data/zammad/backup:/var/tmp/zammad - /data/zammad/data:/opt/zammad/storage:ro user: 0:0 zammad-elasticsearch: image: bitnami/elasticsearch:${ELASTICSEARCH_VERSION:-8.15.2} restart: ${RESTART:-always} volumes: - /data/zammad/elasti:/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 256M image: memcached:${MEMCACHE_VERSION:-1.6.31-alpine} restart: ${RESTART:-always} zammad-nginx: <<: *zammad-service command: ["zammad-nginx"] expose: - "${NGINX_PORT:-8080}" ports: - "${NGINX_EXPOSE_PORT:-8080}:${NGINX_PORT:-8080}" depends_on: - zammad-railsserver zammad-postgresql: environment: POSTGRES_DB: ${POSTGRES_DB:-zammad_production} POSTGRES_USER: ${POSTGRES_USER:-zammad} POSTGRES_PASSWORD: ${POSTGRES_PASS:-zammad} image: chaitin/safeline-postgres:15.2 restart: ${RESTART:-always} volumes: - /data/zammad/db:/var/lib/postgresql/data zammad-railsserver: <<: *zammad-service command: ["zammad-railsserver"] zammad-redis: image: redis:${REDIS_VERSION:-7.4.0-alpine} restart: ${RESTART:-always} volumes: - /data/zammad/redis:/data zammad-scheduler: <<: *zammad-service command: ["zammad-scheduler"] zammad-websocket: <<: *zammad-service command: ["zammad-websocket"]
需要注意:/data/zammad/elasti 需要写入权限,否则该容器会处于一直自动重启状态。chmod 777 /data/zammad/elasti
日常维护
通过指令方式操作内容
docker exec -it zammad-zammad-railsserver-1 /docker-entrypoint.sh rails c
添加评论