PassNAT LogoPassNAT

开源客服系统Zammad自建部署教程,配置帕斯内网穿透实现远程访问企业级工单管理平台

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

Zammad 是一个功能强大的开源客服系统和帮助台平台,专为企业和组织提供全方位的客户支持解决方案。它基于 Ruby on Rails 构建,支持多渠道客户沟通,包括邮件、聊天、电话和社交媒体等。

Zammad 提供了统一的工作台界面,让客服团队能够高效处理来自不同渠道的客户咨询。系统具备智能工单分配、自动化工作流、知识库管理、客户满意度调查等功能,帮助企业提升客户服务质量和效率。

作为开源软件,Zammad 遵循 GNU AGPLv3 许可证,用户可以自由部署和定制。项目由 Zammad 基金会维护,确保软件的独立性和可持续发展。无论是小型团队还是大型企业,都可以通过 Zammad 构建专业的客户服务体系。

项目地址: 点我跳转

部署安装

如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。

复制下列的配置文件

1---
2version: '3.8'
3
4x-shared:
5 zammad-service: &zammad-service
6 environment: &zammad-environment
7 MEMCACHE_SERVERS: ${MEMCACHE_SERVERS:-zammad-memcached:11211}
8 POSTGRESQL_DB: ${POSTGRES_DB:-zammad_production}
9 POSTGRESQL_HOST: ${POSTGRES_HOST:-zammad-postgresql}
10 POSTGRESQL_USER: ${POSTGRES_USER:-zammad}
11 POSTGRESQL_PASS: ${POSTGRES_PASS:-zammad}
12 POSTGRESQL_PORT: ${POSTGRES_PORT:-5432}
13 POSTGRESQL_OPTIONS: ${POSTGRESQL_OPTIONS:-?pool=50}
14 POSTGRESQL_DB_CREATE:
15 REDIS_URL: ${REDIS_URL:-redis://zammad-redis:6379}
16 TZ: '${TZ:-Europe/Berlin}'
17 BACKUP_DIR: '${BACKUP_DIR:-/var/tmp/zammad}'
18 BACKUP_TIME: '${BACKUP_TIME:-03:00}'
19 HOLD_DAYS: '${HOLD_DAYS:-10}'
20
21 image: ${IMAGE_REPO:-ghcr.io/zammad/zammad}:${VERSION:-6.5.1}
22 restart: ${RESTART:-always}
23 volumes:
24 - zammad-storage:/opt/zammad/storage
25 depends_on:
26 - zammad-memcached
27 - zammad-postgresql
28 - zammad-redis
29
30services:
31 zammad-backup:
32 <<: *zammad-service
33 command: ['zammad-backup']
34 volumes:
35 - zammad-backup:/var/tmp/zammad
36 - zammad-storage:/opt/zammad/storage:ro
37 user: 0:0
38
39 zammad-elasticsearch:
40 image: elasticsearch:${ELASTICSEARCH_VERSION:-8.19.2}
41 restart: ${RESTART:-always}
42 volumes:
43 - elasticsearch-data:/usr/share/elasticsearch/data
44 environment:
45 discovery.type: single-node
46 xpack.security.enabled: 'false'
47 ES_JAVA_OPTS: ${ELASTICSEARCH_JAVA_OPTS:--Xms1g -Xmx1g}
48
49 zammad-init:
50 <<: *zammad-service
51 command: ['zammad-init']
52 depends_on:
53 - zammad-postgresql
54 restart: on-failure
55 user: 0:0
56
57 zammad-memcached:
58 command: memcached -m 256M
59 image: memcached:${MEMCACHE_VERSION:-1.6.39-alpine}
60 restart: ${RESTART:-always}
61
62 zammad-nginx:
63 <<: *zammad-service
64 command: ['zammad-nginx']
65 expose:
66 - '${NGINX_PORT:-8080}'
67 ports:
68 - '${NGINX_EXPOSE_PORT:-8080}:${NGINX_PORT:-8080}'
69 depends_on:
70 - zammad-railsserver
71
72 zammad-postgresql:
73 environment:
74 POSTGRES_DB: ${POSTGRES_DB:-zammad_production}
75 POSTGRES_USER: ${POSTGRES_USER:-zammad}
76 POSTGRES_PASSWORD: ${POSTGRES_PASS:-zammad}
77 image: postgres:${POSTGRES_VERSION:-17.5-alpine}
78 restart: ${RESTART:-always}
79 volumes:
80 - postgresql-data:/var/lib/postgresql/data
81
82 zammad-railsserver:
83 <<: *zammad-service
84 command: ['zammad-railsserver']
85
86 zammad-redis:
87 image: redis:${REDIS_VERSION:-7.4.5-alpine}
88 restart: ${RESTART:-always}
89 volumes:
90 - redis-data:/data
91
92 zammad-scheduler:
93 <<: *zammad-service
94 command: ['zammad-scheduler']
95
96 zammad-websocket:
97 <<: *zammad-service
98 command: ['zammad-websocket']
99
100volumes:
101 elasticsearch-data:
102 driver: local
103 postgresql-data:
104 driver: local
105 redis-data:
106 driver: local
107 zammad-backup:
108 driver: local
109 zammad-storage:
110 driver: local

打开飞牛 NAS 或其他的 NAS 设备

项目名称可以随便填,点击创建 docker-compose.yml

点击 Compose -> 新建项目

这里可以根据需要修改数据库用户名和密码,其他的保持不变。

如果提示端口被占用可以修改 NGINX_EXPOSE_PORT 字段,但是需要保持格式正确。

创建成功后可以访问 ip:8080 到这里就可以正常显示项目了

穿透公网

打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道

隧道节点可以随便选,一般选个负载低的就可以

接下来填写信息,隧道名称可以随便填写

本地 IP 默认就可以

传输协议可以选择 TCP 也可以选择 HTTP/HTTPS

HTTP 就是域名的形式,教程以使用 TCP 为演示

本项目中如果没有修改端口的话默认是 8080 端口,这里本地 IP 就填 8080

远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定

点击刚才创建好的隧道,点击获取配置文件

回到飞牛 NAS,点击应用中心下载 frpc 客户端

打开后粘贴刚才复制的配置文件,点击确定即可

复制帕斯内网穿透控制台的访问 IP 和端口

可以看到已经正常穿透成功了

本篇教程结束