好的,你现在已经确定 NodeBB 版本是 v4.6.1,并且希望:
- 所有数据都用 bind mount(目录映射)
- 不要匿名 volume(方便你备份/迁移/查看文件)
- 使用 NodeBB 4.x → 自动 Web Installer 配置(无需 ENV)
我马上帮你做一份 完全基于 bind mount 的生产可用 docker-compose.yml
特别适合你的备份方式(直接备份文件夹就行)。
🟦 最终版 docker-compose.yml(无 volume、全 bind mount、适用于 NodeBB v4.6.1)
请存为:
/srv/nodebb/docker-compose.yml
内容如下:
version: "3.8"
services:
nodebb:
image: docker-hk.loda.net.cn/elestio/nodebb:4.6.1
container_name: nodebb
restart: always
ports:
- "4567:4567"
# === 关键:全部使用 bind mount ===
volumes:
- ./data:/var/lib/nodebb # 数据库转换后的本地数据(posts、metadata)
- ./uploads:/opt/nodebb/public/uploads # 用户上传文件(头像、附件)
- ./config/config.json:/opt/nodebb/config.json # 配置文件(安装后生成)
# 可选:如果你将来要自定义主题或插件,也可以挂
# - ./plugins:/opt/nodebb/node_modules
networks:
- nodebb_net
networks:
nodebb_net:
🟩 你需要在宿主机创建以下目录:
mkdir -p /srv/nodebb/data
mkdir -p /srv/nodebb/uploads
mkdir -p /srv/nodebb/config
config.json 会在 Web Installer 完成后 自动生成一份,NodeBB 会写进容器内路径:
/opt/nodebb/config.json
因为我们 mount 到:
/srv/nodebb/config/config.json
所以它会直接被保存到宿主机文件系统,非常方便你备份。
🟢 NodeBB v4.6.1 正确安装流程
- 运行:
cd /srv/nodebb
docker compose up -d
- 打开浏览器访问:
http://你的服务器IP:4567
会进入 Web Installer → 填写:
- PostgreSQL host:10.0.3.202
- PostgreSQL user:nodebb
- PostgreSQL password:你的密码
- PostgreSQL database:nodebb
- URL: https://talk.loda.net
- 安装完成后会生成:
/srv/nodebb/config/config.json
(只需第一次安装)
- 重启一次 NodeBB:
docker compose restart nodebb
🟩 备份方式(你最关心的)
你只需要备份这三个目录:
/srv/nodebb/data
/srv/nodebb/uploads
/srv/nodebb/config/config.json
就能完整恢复整套 NodeBB 系统。
恢复时只需:
docker compose up -d
即可恢复到原状。
🟢 Nginx 反代继续使用我发给你的配置即可
无需修改。
你现在得到的是:
NodeBB v4.6.1
使用 bind mount(最便于备份)
不再使用 volume
版本稳定,支持 Web Installer
数据、上传、配置完全在宿主机可见
如果你愿意,我可以继续提供:
如何设置 PostgreSQL 最佳参数(提高响应速度)
Redis 缓存加速配置(NodeBB 强烈推荐)
插件推荐(特别适合公司内部使用)
自动备份脚本(每日备份 data+uploads+config.json)
你继续告诉我即可。