avhost/docker-matrix!Docker Pulls
层面的漏洞。
此Dockerfile用于安装matrix开放联合即时通讯和VoIP通信服务器。
riot.im网页客户端现在有独立的Dockerfile,位于GitHub。
如要为此项目贡献,请随意fork项目,在分支中开发并创建Pull Request。
如要支持此Docker镜像,可通过***进行***。
如需配置,请以"generate"为参数运行镜像。需设置服务器域名和/data目录。之后需编辑生成的homeserver.yaml文件。
请阅读synapse的[readme文件]了解配置设置。另有[示例配置]可供参考。
"generate"命令会创建自签名证书,生产环境中应替换为有效证书,可通过让synapse访问有效证书或使用反向代理实现。
建议使用--user <UID>:<GID>标志运行容器,避免以root身份运行。如未提供user标志,synapse进程也不会以root身份运行。
示例:
$ docker run -v /tmp/media_store:/media_store -v /tmp/data:/data --rm --user 991:991 -e SERVER_NAME=localhost -e REPORT_STATS=no avhost/docker-matrix:<VERSION> generate
启动时需绑定端口并映射/data目录。
$ docker run -d --user 991:991 -p 8448:8448 -p 8008:8008 -p 3478:3478 -v /tmp/media_store:/media_store -v /tmp/data:/data avhost/docker-matrix:<VERSION> start
容器中Matrix服务器使用以下端口,可通过docker run的-p选项配置(如:-p 443:8448):
8008,8448 tcp
如需STUN功能,需开放以下端口:
3478, 5349 udp/tcp
服务器备用端口:3479, 5350 udp/tcp
如需TURN(用作中继),还需转发端口范围:
49152-65535/udp
可能需在/data卷中的turnserver.conf设置服务器外部IP:
external-ip=XX.XX.XX.XX
如需限制UDP端口范围,可在turnserver.conf修改:
min-port=XXXXX
max-port=XXXXX
如需禁用coturn,设置环境变量COTURN_ENABLE="false"。
如需查看已安装的synapse版本,可运行镜像并以version为参数,或在容器内查看文件。
$ docker run -ti --rm avhost/docker-matrix:<VERSION> version -=> Matrix Version synapse: master (7e0a1683e639c18bd973f825b91c908966179c15) coturn: master (88bd6268d8f4cdfdfaffe4f5029d489564270dd6) # docker exec -it CONTAINERID cat /synapse.version synapse: master (7e0a1683e639c18bd973f825b91c908966179c15) coturn: master (88bd6268d8f4cdfdfaffe4f5029d489564270dd6)
SERVER_NAME: 服务器域名,必填,仅generate时需要REPORT_STATS: 统计报告,必填,值为yes或no,仅generate时需要MATRIX_UID/MATRIX_GID: 容器内运行synapse的用户ID和组ID(如未提供--user标志)。/data目录下的文件会被修改为此所有权。默认值为MATRIX_UID=991和MATRIX_GID=991,可通过运行时添加-e MATRIX_UID=...和-e MATRIX_GID=...覆盖LD_PRELOAD: 默认使用jemalloc作为内存分配器以减少synapse内存占用。如需使用默认malloc,运行容器时添加-e LD_PRELOAD清空该变量COTURN_ENABLE: 默认启用turn服务器,设为"false"可禁用BV_SYN: synapse版本,可选,默认masterBV_TUR: coturn turnserver版本,可选,默认master如需构建synapse版本v0.11.0-rc2和coturn commit a9fc47e,可在docker build命令中添加--build-arg BV_SYN=v0.11.0-rc2 --build-arg BV_TUR=a9fc47efd77。
如需查看配置选项变更,可对比现有homeserver.yaml与新生成配置文件的差异。以diff为参数运行镜像即可。
$ docker run --rm -ti -v /tmp/data:/data avhost/docker-matrix:<VERSION> diff [...] +# ldap_config: +# enabled: true +# server: "ldap://localhost" +# port: 389 +# tls: false +# search_base: "ou=Users,dc=example,dc=com" +# search_property: "cn" +# email_property: "email" +# full_name_property: "givenName" [...]
差异输出使用busybox的diff命令,可通过DIFFPARAMS环境变量修改参数,默认值为Naur。
/data: 数据容器
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务