好的,你现在已经确定 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 正确安装流程

  1. 运行:
cd /srv/nodebb
docker compose up -d
  1. 打开浏览器访问:
http://你的服务器IP:4567

会进入 Web Installer → 填写:

  • PostgreSQL host:10.0.3.202
  • PostgreSQL user:nodebb
  • PostgreSQL password:你的密码
  • PostgreSQL database:nodebb
  • URL: https://talk.loda.net
  1. 安装完成后会生成:
/srv/nodebb/config/config.json

(只需第一次安装)

  1. 重启一次 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)

你继续告诉我即可。