
如果你使用 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://github.com/NathanVaughn/webtrees-docker/workflows/Check%20and%20Push%20Updates/badge.svg](https://github.com/NathanVaughn/webtrees-docker)
这是一个多架构、最新的webtrees Docker镜像,支持通过HTTP或HTTPS提供服务。可部署在反向代理(如CloudFlare或Traefik)之后,也可独立运行。
如需立即使用,可参考提供的https://github.com/NathanVaughn/webtrees-docker/blob/master/docker-compose.yml%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E3%80%82
提供了多个环境变量用于自动配置容器。未定义的环境变量将使用默认值。
🚨 警告 🚨 这些环境变量将在webtrees控制面板的“服务器信息”下可见。请将控制面板限制为管理员访问,或使用webtrees设置向导。
| 环境变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
PRETTY_URLS | 否 | False | 设置为真值(True、1、yes)将启用友好URL。可随时切换,但至少需完成一次初始设置。 |
HTTPS 或 SSL | 否 | False | 设置为真值(True、1、yes)将启用HTTPS。若启用,还需填写SSL_CERT_FILE和SSL_CERT_KEY_FILE |
HTTPS_REDIRECT 或 SSL_REDIRECT | 否 | False | 设置为真值(True、1、yes)将启用永久301重定向至HTTPS。禁用则允许HTTP访问,但不会自动重定向。 |
SSL_CERT_FILE | 否 | /certs/webtrees.crt | HTTPS证书文件路径。可为绝对路径或相对于/var/www/webtrees/data/的相对路径。 |
SSL_CERT_KEY_FILE | 否 | /certs/webtrees.key | HTTPS证书密钥文件路径。可为绝对路径或相对于/var/www/webtrees/data/的相对路径。 |
LANG | 是 | en-us | webtrees本地化设置,需提供区域代码。列表:https://github.com/fisharebest/webtrees/tree/main/resources/lang/ |
BASE_URL | 是 | None | 安装的基础URL,包含协议,格式如http://webtrees.example.com |
DB_TYPE | 是 | mysql | 数据库类型。详见下方支持的类型。 |
DB_HOST | 是 | None | 数据库主机地址。 |
DB_PORT | 是 | 3306 | 数据库端口。 |
DB_USER 或 MYSQL_USER 或 MARIADB_USER 或 POSTGRES_USER | 是 | webtrees | 数据库用户名。 |
DB_PASS 或 MYSQL_PASSWORD 或 MARIADB_PASSWORD 或 POSTGRES_PASSWORD | 是 | None | 数据库密码。 |
DB_NAME 或 MYSQL_DATABASE 或 MARIADB_DATABASE 或 POSTGRES_DB | 是 | webtrees | 数据库名称。 |
DB_PREFIX | 是 | wt_ | 数据库表前缀。设置为空字符串("")则无前缀。 |
DB_KEY | 否 | None | 用于验证MySQL服务器的密钥文件。仅用于mysql驱动,路径相对于/var/www/webtrees/data/目录。 |
DB_CERT | 否 | None | 用于验证MySQL服务器的证书文件。仅用于mysql驱动,路径相对于/var/www/webtrees/data/目录。 |
DB_CA | 否 | None | 用于验证MySQL服务器的CA证书文件。仅用于mysql驱动,路径相对于/var/www/webtrees/data/目录。 |
DB_VERIFY | 否 | False | 是否验证MySQL服务器。仅用于mysql驱动。若启用,需同时填写DB_KEY、DB_CERT和DB_CA。 |
WT_USER | 是 | None | 首个管理员账户用户名。仅在容器首次运行且数据库初始化时使用。 |
WT_NAME | 是 | None | 首个管理员账户全名。仅在容器首次运行且数据库初始化时使用。 |
WT_PASS | 是 | None | 首个管理员账户密码。仅在容器首次运行且数据库初始化时使用。 |
WT_EMAIL | 是 | None | 首个管理员账户***。仅在容器首次运行且数据库初始化时使用。 |
PHP_MEMORY_LIMIT | 否 | 1024M | PHP内存限制。详见PHP文档 |
PHP_MAX_EXECUTION_TIME | 否 | 90 | PHP请求最大执行时间(秒)。详见PHP文档 |
PHP_POST_MAX_SIZE | 否 | 50M | PHP POST请求最大大小。详见PHP文档 |
PHP_UPLOAD_MAX_FILE_SIZE | 否 | 50M | PHP最大上传文件大小。详见PHP文档 |
PUID | 否 | 33 | 详见[***] |
PGID | 否 | 33 | 详见[***] |
此外,可在任何环境变量名后添加_FILE,使其从指定文件读取值。例如,设置DB_PASS_FILE=/run/secrets/my_db_secret将从该文件读取内容作为DB_PASS的值。
若无需容器自动配置(如从现有webtrees安装迁移),可留空数据库(DB_)和webtrees(WT_)相关变量,然后通过设置向导手动配置。
webtrees推荐使用MySQL(或兼容数据库)。需单独部署数据库容器,如:
PostgreSQL(pgsql)和SQLite(sqlite)也受支持,但https://github.com/fisharebest/webtrees/issues/5099#issuecomment-2581440755%E3%80%82%E6%9C%AC%E9%95%9C%E5%83%8F%E4%B8%8D%E6%94%AF%E6%8C%81Microsoft SQL Server,以保证多架构兼容性(详见https://github.com/microsoft/msphpsql/issues/441#issuecomment-310237200%EF%BC%89%E3%80%82
如需使用SQLite数据库,设置:
DB_TYPE = sqliteDB_NAME = desiredfilename(无需扩展名)如需使用PostgreSQL数据库,设置:
DB_TYPE = pgsqlDB_PORT = 5432其他配置与MySQL相同。
镜像挂载以下目录:
/var/www/webtrees/data/(媒体文件存储在media子目录)如需添加自定义主题或模块,还可挂载/var/www/webtrees/modules_v4/目录。
示例docker-compose配置:
ymlvolumes: - app_data:/var/www/webtrees/data/ - app_themes:/var/www/webtrees/modules_v4/ --- volumes: app_data: driver: local app_themes: driver: local
安装自定义主题或模块的步骤通常如下:
bashdocker exec -it webtrees_app_1 bash # 连接到运行中的容器 cd /var/www/webtrees/modules_v4/ # 进入模块目录 curl -L <下载链接> -o <文件名> # 下载文件 # 若为.tar.gz文件 tar -xf <文件名.tar.gz> # 解压tar包(参考https://xkcd.com/1168/) rm <文件名.tar.gz> # 删除tar包 # 若为.zip文件 apt update && apt install unzip # 安装unzip工具 unzip <文件名.zip> # 解压zip文件 rm <文件名.zip> # 删除zip文件 exit # 退出容器
镜像暴露端口80(HTTP)和443(HTTPS)。
示例docker-compose配置:
ymlports: - 80:80 - 443:443
启用HTTPS重定向时仍需暴露端口80;若不使用HTTPS,无需暴露端口443。
本镜像包含ImageMagick,用于加速缩略图创建。webtrees将自动优先使用它,无需额外配置。
webtrees的每个稳定版、旧版、测试版和alpha版都会生成对应的Docker镜像标签。
示例:
ymlimage: ghcr.io/nathanvaughn/webtrees:2.1.2
当前提供latest(最新稳定版)、latest-alpha(最新alpha版)、latest-beta(最新测试版)和latest-legacy(最新旧版)标签。
示例:
ymlimage: ghcr.io/nathanvaughn/webtrees:latest
注意 webtrees旧版已不再受支持。
Dockerfile的新版本由webtrees上游版本自动生成,无需人工审核每个版本。尽管已尽力维护,仍可能出现问题。如有问题,请提交https://github.com/NathanVaughn/webtrees-docker/issues%E3%80%82
webtrees在反向代理后运行时可能出现兼容性问题,需根据实际情况手动调整数据库值。
例如,通过HTTPS反向代理访问容器的HTTP服务时,可能需执行以下SQL命令修改数据库:
sqlmysql -u webtrees -p use webtrees; update wt_site_setting set setting_value='https://example.com/login' where setting_name='LOGIN_URL'; update wt_site_setting set setting_value='https://example.com/' where setting_name='SERVER_URL'; quit;
更多信息详见此处。
本镜像可从以下仓库获取:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





来自真实用户的反馈,见证轩辕镜像的优质服务