webtrees 族谱服务

既然你已经有服务器、会用 Docker + Nginx,部署 webtrees 会非常简单。
我给你一套 稳定、可长期运行的 Docker 部署方案,以后也方便备份迁移。

我会按下面顺序讲:

1️⃣ 架构设计
2️⃣ Docker 部署步骤(推荐)
3️⃣ Nginx 反向代理
4️⃣ 初始化族谱
5️⃣ 备份建议


一、推荐部署架构

建议结构:

Internet
   │
Nginx
   │
webtrees (Docker)
   │
MariaDB (Docker)

目录结构建议:

/opt/docker/webtrees
├── docker-compose.yml
├── db
└── data

说明:

db     → 数据库
data   → 家谱数据

二、创建部署目录

mkdir -p /opt/docker/webtrees
cd /opt/docker/webtrees

创建数据目录:

mkdir db
mkdir data

三、编写 docker-compose.yml

创建文件:

vim docker-compose.yml

内容:

version: '3'

services:

  webtrees:
    image: dtjs48jkt/webtrees
    container_name: webtrees
    restart: always
    ports:
      - "8088:80"
    volumes:
      - ./data:/var/www/html/data
    depends_on:
      - webtrees-db

  webtrees-db:
    image: mariadb:10.11
    container_name: webtrees-db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: webtrees
      MYSQL_USER: webtrees
      MYSQL_PASSWORD: webtreespass
    volumes:
      - ./db:/var/lib/mysql

你可以修改密码:

rootpass
webtreespass

四、启动容器

运行:

docker compose up -d

查看:

docker ps

应该看到:

webtrees
webtrees-db

五、访问安装界面

浏览器访问:

http://服务器IP:8088

进入安装界面。

数据库填写:

数据库服务器:webtrees-db
数据库名:webtrees
用户:webtrees
密码:webtreespass

管理员账号自己设置即可。

完成后就可以进入家谱系统。


六、Nginx 反向代理(推荐)

假设你准备使用:

zupu.luoxingding.com

创建 nginx 配置:

vim /etc/nginx/conf.d/webtrees.conf

内容:

server {
    listen 80;
    server_name zupu.luoxingding.com;

    location / {
        proxy_pass http://127.0.0.1:8088;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

重载 nginx:

nginx -s reload

访问:

http://zupu.luoxingding.com

七、webtrees里开始建族谱

登录后台后:

创建 Family Tree

例如:

罗氏族谱

然后可以:

添加人物
添加家庭
添加父子关系
添加照片

webtrees 会自动生成:

例如:

罗一世
 ├─ 罗二世
 │   ├─ 罗三世
 │   └─ 罗三世

八、导入族谱(很重要)

webtrees支持族谱标准格式:

GEDCOM

如果你以后用 Excel 整理数据,可以导入。

也可以导出:

GEDCOM

用于长期保存。


九、备份(非常重要)

你只需要备份两个目录:

/opt/docker/webtrees/db
/opt/docker/webtrees/data

备份命令:

tar -zcf webtrees-backup.tar.gz db data

恢复只需要:

docker compose down
恢复目录
docker compose up -d

即可。


十、未来可以升级的功能

这个系统还能:

家族地图

显示祖先迁徙。

家族照片

每个人都可以附带照片。

家族故事

记录家族历史。

权限管理

只有族人才能编辑。


十一、我建议你下一步做的事

先不要急着录入数据。

先做 族谱结构规划

第1代 始祖
第2代
第3代
...
第12代

然后录入。


如果你愿意,我可以再给你一份 非常实用的东西

我可以帮你做一个:

《族谱录入Excel模板》

只要填表:

姓名
父亲
母亲
配偶
出生
去世
子女

我可以教你 一键导入 webtrees

这样录入 几百人会非常快