本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本镜像基于matrixdotorg的worker Dockerfile构建,是专为Unraid系统设计的Matrix Synapse家庭服务器(homeserver)镜像。它简化了Synapse的部署与管理,提供自动配置生成和多进程工作进程(worker)支持,适合需要高效管理Matrix家庭服务器的用户。
自动配置生成
删除主配置文件homeserver.yaml后,镜像会基于环境变量自动重建配置,保持配置文件清洁且与最新版本同步。若使用现有homeserver.yaml,需手动将主监听端口从默认8008修改为8080(因内部反向代理需求)。
灵活的多进程支持
通过环境变量指定worker类型即可启用多进程模式,无需复杂配置。镜像会自动处理反向代理和复制,支持动态添加/移除worker,提升服务器性能。
matrix.org)进行联邦的部署@someone:example.com,服务器名称必须设为example.com,而非matrix.example.com。详情参考官方文档。matrix.org)前,必须备份密钥和数据库。若重建服务器时密钥不一致,其他服务器可能拒绝连接。| 变量名 | 说明 | 取值示例 |
|---|---|---|
SYNAPSE_SERVER_NAME | 服务器名称,决定用户ID格式(如@user:example.com中的example.com) | example.com |
SYNAPSE_REPORT_STATS | 是否向Matrix官方报告使用统计 | yes或no(必填) |
通过SYNAPSE_WORKER_TYPES变量配置工作进程,支持多进程模式:
取值说明:
full:启用完整worker集(推荐生产环境)支持的worker类型:
account_data, event_persister, presence, receipts, to_device, typing,
background_worker, event_creator, frontend_proxy, media_repository, pusher, synchrotron, user_dir,
client_reader, federation_sender, federation_inbound, federation_reader
full包含的worker:
account_data, background_worker, event_creator, event_persister, federation_inbound, federation_reader, federation_sender, frontend_proxy, media_repository, presence, pusher, receipts, to_device, typing, synchrotron, user_dir
| 变量名 | 说明 | 取值范围/默认值 |
|---|---|---|
SYNAPSE_WORKERS_WRITE_LOGS_TO_DISK | 是否将worker日志写入磁盘 | 1(启用)/0(禁用),默认0 |
SYNAPSE_LOG_LEVEL | 日志级别 | ERROR, WARNING, INFO(默认), DEBUG |
SYNAPSE_METRICS | 是否启用Prometheus指标导出 | yes/1/true/on启用,其他为禁用 |
POSTGRES_HOST | PostgreSQL数据库主机地址 | 默认127.0.0.1 |
POSTGRES_PORT | PostgreSQL端口 | 默认5432 |
POSTGRES_DB | 数据库名称 | 默认synapse |
POSTGRES_USER | 数据库用户名 | 默认synapse |
POSTGRES_PASSWORD | 数据库密码 | 无默认,需手动设置 |
SYNAPSE_MAX_UPLOAD_SIZE | 最大上传文件大小 | 默认50M,推荐改为2048M |
SYNAPSE_TURN_URIS | TURN服务器URL列表,逗号分隔(无空格) | 例如turn:turn.example.com?transport=udp |
SYNAPSE_TURN_SECRET | TURN服务器密钥 | 自定义字符串 |
SYNAPSE_ENABLE_REGISTRATION | 是否允许公开注册(默认禁用,存在安全风险) | yes/no,默认no |
SYNAPSE_REGISTRATION_SHARED_SECRET | 注册共享密钥(自动生成) | 自动生成,无需手动设置 |
SYNAPSE_MACAROON_SECRET_KEY | Macaroon密钥(自动生成,保存为文件) | 自动生成,无需手动设置 |
SYNAPSE_SERVE_SERVER_WELLKNOWN | 是否提供服务器well-known文件(用于联邦和委托) | True/False,默认False |
SYNAPSE_PUBLIC_BASEURL | 公开基础URL(用于委托,如服务器名称为example.com但反向代理至matrix.example.com) | [***] |
UID/GID | 运行容器的用户/组ID | 默认991/991 |
以下变量取值为yes/y/1/true/t/on时启用对应功能,其他值禁用:
| 变量名 | 说明 | 依赖条件 |
|---|---|---|
SYNAPSE_METRICS | 启用内置Prometheus指标服务 | 无 |
SYNAPSE_ENABLE_REDIS_METRIC_EXPORT | 启用Redis指标导出(Redis内置,多worker时自动使用) | SYNAPSE_METRICS启用 |
SYNAPSE_ENABLE_POSTGRES_METRIC_EXPORT | 启用PostgreSQL指标导出 | SYNAPSE_METRICS启用 |
SYNAPSE_ENABLE_COMPRESSOR | 启用数据库压缩工具(每周日1点自动运行) | POSTGRES_PASSWORD设置 |
SYNAPSE_ENABLE_BUILTIN_COTURN | 启用内置COTURN服务器 | 无 |
COTURN_MIN_PORT/COTURN_MAX_PORT | COTURN服务器端口范围 | 默认49153/49173 |
| 路径 | 说明 | 必要性 |
|---|---|---|
/data | 存储配置文件(如homeserver.yaml、密钥文件等) | 必填 |
/data/media_store | 存储媒体文件(缩略图、图片、视频等),可能占用大量空间 | 推荐 |
/var/lib/prometheus | 存储Prometheus指标数据库(SQLite),避免容器更新时丢失指标数据 | 推荐 |
/var/run/postgresql | PostgreSQL Unix socket路径(如需通过socket连接数据库) | 可选 |
docker run -d \ --name synapse \ -e SYNAPSE_SERVER_NAME=example.com \ -e SYNAPSE_REPORT_STATS=yes \ -e SYNAPSE_WORKER_TYPES=full \ -e SYNAPSE_MAX_UPLOAD_SIZE=2048M \ -v /path/to/appdata/synapse:/data \ -v /path/to/media_store:/data/media_store \ -v /path/to/prometheus:/var/lib/prometheus \ -p 8080:8080 \ your-image-name:latest
version: '3' services: synapse: image: your-image-name:latest container_name: synapse restart: unless-stopped environment: - SYNAPSE_SERVER_NAME=example.com - SYNAPSE_REPORT_STATS=yes - SYNAPSE_WORKER_TYPES=full - SYNAPSE_MAX_UPLOAD_SIZE=2048M - POSTGRES_HOST=postgres - POSTGRES_USER=synapse - POSTGRES_PASSWORD=your-secure-password - POSTGRES_DB=synapse volumes: - /path/to/appdata/synapse:/data - /path/to/media_store:/data/media_store - /path/to/prometheus:/var/lib/prometheus ports: - "8080:8080" depends_on: - postgres postgres: image: postgres:14 container_name: synapse-postgres restart: unless-stopped environment: - POSTGRES_USER=synapse - POSTGRES_PASSWORD=your-secure-password - POSTGRES_DB=synapse volumes: - /path/to/postgres-data:/var/lib/postgresql/data
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429