
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!https://img.shields.io/docker/pulls/tigase/tigase-xmpp-server !https://img.shields.io/docker/image-size/tigase/tigase-xmpp-server/8.1.0
nightlynightly-enterprise8.3.1, latest8.3.1-enterprise, latest-enterprise8.3.0, 8.3.0-enterprise8.2.4, 8.2.4-enterprise8.2.3, 8.2.3-enterprise8.2.2, 8.2.2-enterprise8.2.1, 8.2.1-enterprise8.2.0, 8.2.0-enterprise8.1.28.1.18.1.08.0.08.0.0-jre8注意:
enterprise版本包含商业组件
注意: 8.3.0、8.2.3及更早版本构建于项目https://tigase.dev/tigase/_server/tigase-xmpp-server-docker/
https://tigase.dev/tigase/_server/tigase-server/%E6%98%AF%E4%B8%80%E4%B8%AA%E5%8F%AF%E6%89%A9%E5%B1%95%E4%B8%94%E9%AB%98%E6%80%A7%E8%83%BD%E7%9A%84XMPP%E5%8D%8F%E8%AE%AE%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%AE%9E%E7%8E%B0%EF%BC%8C%E9%87%87%E7%94%A8Java%E7%BC%96%E5%86%99%E3%80%82
有关Tigase XMPP Server及相关产品的更多信息,请访问[***]
Tigase XMPP Server文档可在[***]
镜像可从https://hub.docker.com/r/tigase/tigase-xmpp-server%E8%8E%B7%E5%8F%96%E3%80%82
!Tigase logo
启动Tigase XMPP Server非常简单:
bash$ docker pull docker.xuanyuan.run/tigase/tigase-xmpp-server $ docker run --name tigase-server -p 8080:8080 -p 5222:5222 tigase/tigase-xmpp-server:tag
其中tigase-server是将要创建的容器名称,tag是指定要运行的Tigase XMPP Server版本标签(如果未指定tag,则使用latest)。
如果首次启动Tigase XMPP Server(无任何配置),它将在8080端口启动基于Web的安装程序。
设置主机名
在某些情况下(如集群环境),可能需要更改Tigase XMPP Server容器的主机名。为此,需在docker run参数中添加--hostname cluster-node-1(或-h cluster-node-1)。
专用网络
通常建议将相关Docker服务分组到同一专用网络。首先创建网络:docker network create -d bridge tigase_cluster,然后在docker run参数中添加--network tigase_cluster。
暴露端口
作为XMPP服务器,Tigase XMPP Server需要从容器外部可访问。Tigase暴露以下端口:
5222 - 客户端到服务器的XMPP连接(通过StartTLS)5223 - 客户端到服务器的XMPP连接(通过DirectTLS/SSL)5269 - 联邦XMPP连接(s2s)5277 - 集群间通信5280 - BOSH连接5281 - BOSH连接(通过TLS/SSL)5290 - WebSocket连接5291 - WebSocket连接(通过TLS/SSL)8080 - HTTP服务器(基于Web的安装程序、REST API、文件上传扩展等)9050 - JXM监控Docker镜像将上述所有端口定义为可导出,但特定服务是否在这些端口可用取决于Tigase XMPP Server的配置。
连接外部数据库
如果要将Tigase XMPP Server与外部数据库一起使用,需将Tigase XMPP Server容器连接到数据库容器(必须在同一Docker网络中),或允许Tigase XMPP Server访问数据库服务器。
Tigase XMPP Server支持以下数据库:
有关数据库所需版本的详细信息,请查看Tigase XMPP Server文档:[***]
建议传递数据库用户名和密码,用于数据库的创建和模式管理。
bash$ docker run -e 'DB_ROOT_USER=root' -e 'DB_ROOT_PASS=root-pass' --name tigase-server -d tigase/tigase-xmpp-server
这将允许Tigase XMPP Server管理和验证数据库模式。
数据库配置随后可通过基于Web的安装程序完成。
自动创建管理员用户
可通过传递ADMIN_JID和ADMIN_PASSWORD环境变量(使用-e参数)自动创建管理员用户。
导出的卷
此镜像导出以下卷,允许将配置、日志和持久数据保存在容器外部:
/home/tigase/tigase-server/etc/ - 服务器配置(容器首次启动后将创建默认配置文件)/home/tigase/tigase-server/certs/ - 服务器用于安全连接的SSL证书/home/tigase/tigase-server/logs/ - 服务器详细日志/home/tigase/tigase-server/data/ - 服务器基于HTTP的文件上传功能存储的数据注意: 建议在Tigase集群中共享
etc配置目录,因为所有实例使用相同的配置。
调整内存配置
默认Tigase Docker镜像使用JDK11,它能感知到在(Docker)容器中运行。但需注意,将应用默认JDK内存设置(最小堆为内存的25%,最大堆为可用内存的50%——容器的[如果设置]或主机的)。可通过设置PRODUCTION_HEAP_SETTINGS环境变量调整这些值。例如,要将Tigase JVM配置为使用90%内存并以小初始堆启动,可在docker run中添加:-e 'PRODUCTION_HEAP_SETTINGS=-XX:MaxRAMPercentage=90 -Xms128m'。
也可通过设置GC环境变量调整垃圾收集器设置。
操作系统设置
在生产环境中运行Tigase XMPP Server时,必须应用高负载系统的Linux设置中概述的配置。对于Tigase Docker镜像,这可通过docker run的参数实现:
打开文件数
此参数继承自主机操作系统,应在主机上配置。如果需要调整,可在docker run参数中添加--ulimit nofile=350000:350000。
TCP网络设置
网络配置调整主要用于解决用户断开连接后在线状态检测不正确(或延迟显著)的问题。
--sysctl "net.ipv4.tcp_keepalive_time=60" \ --sysctl "net.ipv4.tcp_keepalive_probes=3" \ --sysctl "net.ipv4.tcp_keepalive_intvl=90" \ --sysctl "net.ipv4.ip_local_port_range=1024 65000"
单个基本实例
以下命令将运行最新版本的Tigase,映射配置、证书和(HTTP上传)数据目录,配置数据库root凭据,并映射端口。
bash$ docker run -d \ --name some_tigase \ -v /home/tigase/etc/:/home/tigase/tigase-server/etc/ \ -v /home/tigase/certs/:/home/tigase/tigase-server/certs/ \ -v /home/tigase/data/:/home/tigase/tigase-server/data/ \ -e 'DB_ROOT_USER=root' \ -e 'DB_ROOT_PASS=root-password' \ -p 5222:5222 \ -p 5280:5280 \ -p 5290:5290 \ -p 8080:8080 \ tigase/tigase-xmpp-server
启动后,打开http://localhost:8080%EF%BC%88%E5%9C%A8%E5%90%8C%E4%B8%80%E5%8F%B0%E6%9C%BA%E5%99%A8%E4%B8%8A%EF%BC%89%E6%88%96http://<server_hostname>:8080,按照安装程序步骤操作并在最后保存配置。更多详情请参见连接到Web安装程序。访问安装程序的默认凭据在etc/config.tdsl中,也会打印在容器日志中,默认凭据为:'admin-user' = 'admin','admin-password' = 'tigase'。
带MySQL的集群
tigase_cluster的Docker桥接网络bash$ docker network create -d bridge tigase_cluster
tigase_cluster网络,配置名称和主机名为tigase_mysql,暴露端口并配置root用户密码bash$ docker run -d \ --name tigase_mysql \ --hostname tigase_mysql \ --network tigase_cluster \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=root-password \ mysql:5.7
tigase_cluster网络的最新版本Tigase,映射配置、证书和(HTTP上传)数据目录,配置数据库root凭据,并暴露用户面向端口(5222、5280、5290、8080)。bash$ docker run -d \ --name tigase_cl1 \ --hostname tigase_cl1 \ --network tigase_cluster \ -v /home/tigase/etc/:/home/tigase/tigase-server/etc/ \ -v /home/tigase/certs/:/home/tigase/tigase-server/certs/ \ -v /home/tigase/data/:/home/tigase/tigase-server/data/ \ -e 'DB_ROOT_USER=root' \ -e 'DB_ROOT_PASS=root-password' \ -p 5222:5222 \ -p 5280:5280 \ -p 5290:5290 \ -p 8080:8080 \ tigase/tigase-xmpp-server
启动后,打开http://localhost:8080%EF%BC%88%E5%9C%A8%E5%90%8C%E4%B8%80%E5%8F%B0%E6%9C%BA%E5%99%A8%E4%B8%8A%EF%BC%89%E6%88%96http://<server_hostname>:8080,按照安装程序步骤操作并在最后保存配置。更多详情请参见连接到Web安装程序。访问安装程序的默认凭据在etc/config.tdsl中,也会打印在容器日志中,默认凭据为:'admin-user' = 'admin','admin-password' = 'tigase'。
重启当前容器
bash$ docker restart tigase_cl1
bashdocker run -d \ --name tigase_cl2 \ --hostname tigase_cl2 \ --network tigase_cluster \ -v /home/tigase/etc/:/home/tigase/tigase-server/etc/ \ -v /home/tigase/certs/:/home/tigase/tigase-server/certs/ \ -v /home/tigase/data/:/home/tigase/tigase-server/data/ \ -e 'DB_ROOT_USER=root' \ -e 'DB_ROOT_PASS=root-password' \ -p 5322:5222 \ -p 5380:5280 \ -p 5390:5290 \ -p 8083:8080 \ docker.xuanyuan.run/tigase/tigase-xmpp-server
注意: 确保
name、hostname和绑定端口是唯一的——在此示例中,第二个节点使用tigase_cl2作为name和hostname,绑定端口更改为5322、5380、5390和8083以避免冲突。
Docker Compose
启动带有数据库和(可选)用于本地音视频的CoTURN服务器的完整Tigase XMPP Server的最简单方法是使用Docker Compose。
要通过这种方式启动,请从仓库获取最新的https://tigase.dev/tigase/_server/tigase-server/~raw/master/src/main/docker/docker-compose.yml?disposition=ATTACHMENT%EF%BC%9A
shellwget https://tigase.dev/tigase/_server/tigase-server/~raw/master/src/main/docker/docker-compose.yml
然后启动服务器(添加-d选项将以守护进程模式运行):
shelldocker compose up
之后,请在Web浏览器中打开http://localhost:8080%EF%BC%8C%E7%BB%A7%E7%BB%AD%E4%BD%BF%E7%94%A8Web%E5%AE%89%E8%A3%85%E7%A8%8B%E5%BA%8F%E3%80%82
注意:在“基本Tigase服务器配置”屏幕上,请选择
MySQL作为数据库
注意:在“数据库配置”屏幕上,请将“数据库实例地址”设置为
db
注意:在“数据库配置”屏幕上,请将“数据库root用户凭据”设置为
docker-compose.yaml文件中的凭据
完成设置后,重启服务器——如果按上述方式启动,只需按ctrl+c,然后重新运行docker compose up;如果以守护进程模式启动,只需重启xmpp服务:docker compose restart xmpp
用于音视频通话的CoTURN
注意:可通过启用
coturn配置文件启用可选的CoTURN服务器(用于TURN/STUN):--profile coturn:
shelldocker compose --profile coturn up
在这种情况下,应按照使用STUN & TURN服务器与Tigase XMPP Server和XEP-0215(外部服务发现)中的描述配置外部组件发现。
镜像使用https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin#build-your-image%E6%9E%84%E5%BB%BA%E5%92%8C%E6%8E%A8%E9%80%81%E3%80%82
有两个配置文件:build-container-image-free和build-container-image-enterprise,分别构建免费/FOSS和企业版镜像。例如:
shellmvn jib:build -Pbuild-container-image-free
官方Tigase仓库地址:https://github.com/tigase/tigase-server/%E3%80%82
版权所有 (c) 2004 Tigase, Inc.
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务