Banner

Odoo酒店管理

2026-09-24

以下部署方案基于 Docker + Docker Compose,这是目前最干净、最不容易搞乱服务器环境的方式。假设你有一台 Ubuntu 22.04/24.04 的服务器。

第一步:准备服务器环境

SSH 登录你的服务器,安装 Docker 和 Docker Compose:

# 更新包列表
sudo apt update

# 安装 Docker 和 Docker Compose
sudo apt install -y docker.io docker-compose

# 启动 Docker 并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 验证安装
docker --version
docker-compose --version

第二步:创建项目目录结构

在服务器上创建一个文件夹来存放 Odoo 的配置、数据和插件:

# 创建项目根目录
mkdir -p ~/odoo-hotel && cd ~/odoo-hotel

# 创建子目录
mkdir -p config extra-addons

extra-addons 目录将用于存放你下载的酒店管理插件。

第三步:编写 Docker Compose 配置文件

在 ~/odoo-hotel 目录下创建 docker-compose.yml 文件:

version: '3.8'

services:
  db:
    image: postgres:15
    container_name: odoo-hotel-db
    environment:
      - POSTGRES_USER=odoo
      - POSTGRES_PASSWORD=odoo
      - POSTGRES_DB=postgres
    volumes:
      - ./postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

  odoo:
    image: odoo:17.0
    container_name: odoo-hotel
    depends_on:
      - db
    ports:
      - "8069:8069"
    environment:
      - HOST=db
      - USER=odoo
      - PASSWORD=odoo
    volumes:
      - ./odoo_data:/var/lib/odoo
      - ./config:/etc/odoo
      - ./extra-addons:/mnt/extra-addons
    restart: unless-stopped

注意:这里使用了 odoo:17.0 镜像。如果你要安装的酒店模块明确要求 Odoo 18,就把两处镜像版本都改成 odoo:18.0。

第四步:配置 Odoo 的插件路径

创建 ~/odoo-hotel/config/odoo.conf 文件,内容如下:

[options]
addons_path = /mnt/extra-addons,/usr/lib/python3/dist-packages/odoo/addons

这行配置告诉 Odoo 去 /mnt/extra-addons(即我们映射的 extra-addons 目录)里查找额外的模块。

第五步:下载酒店管理插件

进入 extra-addons 目录,从 GitHub 或 Odoo 应用市场下载你需要的模块。以 OCA 的 vertical-hotel 为例:

cd ~/odoo-hotel/extra-addons

# 从 OCA 仓库克隆(注意选择与你 Odoo 版本匹配的分支)
git clone https://github.com/OCA/vertical-hotel.git -b 17.0

如果你用的是商业插件,就把下载的 ZIP 包解压后,整个文件夹放到 extra-addons 目录下。

第六步:启动服务

回到项目根目录,启动容器:

cd ~/odoo-hotel
docker-compose up -d

第七步:初始化数据库并安装模块

  1. 在浏览器打开 http://你的服务器IP:8069。
  2. 首次访问会提示创建数据库。填写数据库名(如 hotel_db),设置管理员邮箱和密码。Master Password 默认是 admin,建议首次登录后在设置里修改。
  3. 创建完成后,进入系统,点击顶部菜单的 “应用” (Apps)。
  4. 先点击 “更新应用列表” (Update Apps List)(如果看不到,需要在设置中激活开发者模式)。
  5. 在搜索框输入 hotel,你应该能看到刚放入的酒店模块。点击 “安装” (Install)。
  6. 等待安装完成。安装后,主菜单会出现“酒店”或“Hotel”相关的入口。

第八步:基础配置与使用

  1. 设置用户权限:进入 设置 → 用户,编辑需要操作酒店功能的人员,在“访问权限”中添加“Hotel Manager”或“Hotel User”等酒店专用用户组-14。
  2. 配置房型与房间:进入酒店模块的配置菜单,先创建房型(如“豪华大床房”),再创建具体房间(如“301”),并关联房型、楼层和设施-1。
  3. 创建预订:进入预订菜单,新建一条预订,选择客人、入住/退房日期和房间。系统会检查该房间在此时段是否已被占用。
  4. 入住与退房:客人到店后,在预订记录上点击“Check-In”。退房时,先检查 Folio 账单,确认所有消费后点击“Check-Out”并生成发票-1-7。

需要注意的坑

插件版本匹配:酒店模块对 Odoo 版本极其敏感。Odoo 17 的模块不能直接拿到 Odoo 18 上用。下载前务必确认模块支持你的 Odoo 版本。

商业插件授权:从 Odoo 应用市场下载的商业插件通常需要购买授权码,直接复制文件可能无法使用,需要联系开发商获取许可。

生产环境安全:上面的 docker-compose.yml 适合入门和测试。如果是正式对外运营,务必修改数据库密码、配置 HTTPS(可用 Nginx 反向代理 + Let's Encrypt)、并设置定时备份。


2