飞牛NAS (fnOS) 搭建 Odoo 19 详细指南

一、 前言

Odoo 19 是目前功能最强大的开源 ERP 系统。由于其基于 Docker 部署时,容器内部用户(UID)与 NAS 系统用户不一致,文件夹权限设置是安装成功与否的关键。本指南将重点解决权限报错问题。


二、 第一步:准备存储目录与权限预设

在飞牛 NAS 的文件管理器中,进入 Docker 根目录(如 /vol1/1000/docker),新建文件夹 odoo19。

1. 创建子目录

在 odoo19 文件夹下创建以下四个子文件夹:

  • data:存储 Odoo 附件和会话数据。
  • config:存储配置文件(如 odoo.conf)。
  • addons:存储第三方插件模块。
  • db-data:存储 PostgreSQL 数据库原始文件。

2. 核心:权限设置(必做)

由于 Odoo 镜像内部用户 UID 为 101,Postgres 镜像内部用户 UID 为 999,必须开放写入权限:

  1. 右键点击 odoo19 文件夹 -> 属性 -> 权限
  2. 点击“添加”,选择 Everyone 用户。
  3. 勾选 读取 与 写入 权限。
  4. 关键操作:勾选“应用到子文件夹和文件”,点击确定。
    • 注:若熟悉 SSH,可执行 chown -R 101:101 对应目录。

三、 第二步:使用 Docker Compose 部署

  1. 打开飞牛 NAS 的 Docker 应用 -> 项目 -> 添加项目
  2. 项目名称命名为 odoo19。
  3. 粘贴以下配置代码(注意:请根据实际情况修改 /vol1/1000/ 路径):

codeYaml

version: '3.1'
services:
  db:
    image: postgres:17-alpine
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_PASSWORD=odoo_password_123  # 数据库管理密码
      - POSTGRES_USER=odoo
    volumes:
      - /vol1/1000/docker/odoo19/db-data:/var/lib/postgresql/data
    restart: always

  web:
    image: odoo:19.0
    depends_on:
      - db
    ports:
      - "8069:8069"
      - "8072:8072"
    volumes:
      - /vol1/1000/docker/odoo19/data:/var/lib/odoo
      - /vol1/1000/docker/odoo19/config:/etc/odoo
      - /vol1/1000/docker/odoo19/addons:/mnt/extra-addons
    environment:
      - HOST=db
      - USER=odoo
      - PASSWORD=odoo_password_123
    restart: always

四、 第三步:系统初始化

  1. 启动项目后,在浏览器访问:http://NAS_IP:8069。
  2. Master Password:系统生成的数据库主密码,请截图保存,用于后续备份数据库。
  3. Language:选择 Chinese (Simplified) / 简体中文。
  4. Country:选择 China。
  5. Demo Data:生产环境请勿勾选;测试环境建议勾选。
  6. 点击 Create Database,等待 2-3 分钟即可进入桌面。

五、 常见故障排除

  • 报错:Internal Server Error
    • 检查 Docker 日志。如果是数据库连接超时,说明 db-data 权限未正确开启。
  • 报错:无法安装模块或上传附件
    • 检查 data 文件夹权限,确保 Everyone 或 UID 101 有写权限。
  • 性能卡顿
    • 建议将 Odoo 部署在 SSD 存储卷上。机械硬盘在初始化大量小文件时速度极慢。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注