Odoo酒店管理
以下部署方案基于 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-addonsextra-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第七步:初始化数据库并安装模块
- 在浏览器打开 http://你的服务器IP:8069。
- 首次访问会提示创建数据库。填写数据库名(如 hotel_db),设置管理员邮箱和密码。Master Password 默认是 admin,建议首次登录后在设置里修改。
- 创建完成后,进入系统,点击顶部菜单的 “应用” (Apps)。
- 先点击 “更新应用列表” (Update Apps List)(如果看不到,需要在设置中激活开发者模式)。
- 在搜索框输入 hotel,你应该能看到刚放入的酒店模块。点击 “安装” (Install)。
- 等待安装完成。安装后,主菜单会出现“酒店”或“Hotel”相关的入口。
第八步:基础配置与使用
- 设置用户权限:进入 设置 → 用户,编辑需要操作酒店功能的人员,在“访问权限”中添加“Hotel Manager”或“Hotel User”等酒店专用用户组-14。
- 配置房型与房间:进入酒店模块的配置菜单,先创建房型(如“豪华大床房”),再创建具体房间(如“301”),并关联房型、楼层和设施-1。
- 创建预订:进入预订菜单,新建一条预订,选择客人、入住/退房日期和房间。系统会检查该房间在此时段是否已被占用。
- 入住与退房:客人到店后,在预订记录上点击“Check-In”。退房时,先检查 Folio 账单,确认所有消费后点击“Check-Out”并生成发票-1-7。
需要注意的坑
插件版本匹配:酒店模块对 Odoo 版本极其敏感。Odoo 17 的模块不能直接拿到 Odoo 18 上用。下载前务必确认模块支持你的 Odoo 版本。
商业插件授权:从 Odoo 应用市场下载的商业插件通常需要购买授权码,直接复制文件可能无法使用,需要联系开发商获取许可。
生产环境安全:上面的 docker-compose.yml 适合入门和测试。如果是正式对外运营,务必修改数据库密码、配置 HTTPS(可用 Nginx 反向代理 + Let's Encrypt)、并设置定时备份。