关于 odoo-service
面向 Odoo 开发者的运维 Skill,用于管理服务器环境和应用生命周期,涵盖数据库、Docker、模块操作、IDE 配置及生产就绪检查。
主要功能
- 01管理服务器生命周期和环境
- 02备份及管理数据库
- 03生成并管理 Docker 配置
- 04安装、更新和搭建模块
- 05配置 VSCode 和 PyCharm
- 06检查生产就绪情况
适用场景
- 01启动或重启 Odoo 开发服务器
- 02备份或恢复 Odoo 数据库
- 03代码变更后更新模块
- 04为 Odoo 项目进行生产准备
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ahmed-lakosha/ odoo-plugins --skill odoo-service安装后在 Claude Code 中输入/odoo-service确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
scripts/__init__.pydb_manager.pydocker_manager.pyenv_initializer.pyide_configurator.pyserver_manager.pyshared.py详细介绍
Odoo 服务技能
功能
此技能可管理完整的 Odoo 服务生命周期:
- 服务:启动、停止、重启、检查状态(Windows/Linux/macOS)
- 环境:自动检测 venv/Docker/裸 Python;初始化新环境
- 数据库:备份、恢复、创建、删除、列出、重置管理员密码
- Docker:生成 Dockerfile/compose、管理容器、进入 Shell
- IDE:生成支持调试的 VSCode 和 PyCharm 配置
- 模块:安装、更新、脚手架、刷新模块列表
- 就绪检查:生产质量门禁(测试、安全、翻译、清单)
环境检测
优先级:Docker > venv > 裸 Python。
| 信号 | 环境 |
|---|---|
存在 docker-compose.yml 或 Dockerfile | Docker |
.venv/、venv/ 或 env/ 中包含 Python 可执行文件 | 本地 venv |
| 以上均不满足 | 裸 Python |
使用标志覆盖:--docker、--venv、--env bare。
Odoo 版本矩阵
| 版本 | Python | 长轮询键 | 额外依赖 |
|---|---|---|---|
| 14 | 3.7 - 3.10 | longpolling_port | - |
| 15 | 3.8 - 3.11 | longpolling_port | - |
| 16 | 3.9 - 3.12 | gevent_port | - |
| 17 | 3.10 - 3.13 | gevent_port | - |
| 18 | 3.10 - 3.13 | gevent_port | cbor2 |
| 19 | 3.10 - 3.13 | gevent_port | cbor2, python-magic |
快速参考
服务
# Start (dev mode)
python -m odoo -c conf/PROJECT.conf --dev=all
# Start (production)
python -m odoo -c conf/PROJECT.conf --workers=4
# Stop (Windows)
FOR /F "tokens=5" %P IN ('netstat -ano ^| findstr :8069') DO taskkill /PID %P /F
# Stop (Linux/Mac)
lsof -ti:8069 | xargs kill -9
模块操作
# Install
python -m odoo -c conf/PROJECT.conf -d DB -i MODULE --stop-after-init
# Update (most common after code changes)
python -m odoo -c conf/PROJECT.conf -d DB -u MODULE --stop-after-init
# Refresh module list (before installing NEW modules)
python -m odoo -c conf/PROJECT.conf -d DB --update-list
数据库
# Backup (compressed custom format - recommended)
pg_dump -U odoo -h localhost -Fc DBNAME -f backups/DBNAME_YYYYMMDD.dump
# Restore
createdb -U odoo NEWDB && pg_restore -U odoo -d NEWDB backup.dump
# Reset admin password
psql -U odoo -d DBNAME -c "UPDATE res_users SET password='newpass' WHERE login='admin';"
Docker
docker-compose up -d # Start
docker-compose down # Stop
docker-compose up -d --build # Rebuild and start
docker-compose exec odoo bash # Shell into container
脚本
位于 odoo-service/scripts/ — 均可独立运行,仅依赖标准库(可选 psutil):
| 脚本 | 用途 |
|---|---|
server_manager.py | 启动/停止/重启/检查状态、安装/更新模块 |
env_initializer.py | 创建 Venv、检查 PostgreSQL、生成配置 |
db_manager.py | 备份/恢复/创建/删除、重置管理员密码 |
docker_manager.py | 生成 Dockerfile/compose、管理容器生命周期 |
ide_configurator.py | 生成 VSCode/PyCharm 配置 |
配置文件格式
[options]
addons_path = odoo/addons,projects/PROJECTNAME
admin_passwd = 123
db_host = localhost
db_port = 5432
db_user = odoo
db_password = odoo
dbfilter = PROJECTNAME.*
http_port = 8069
gevent_port = 8072
workers = 0
命名约定:conf/{PROJECT}{VERSION}.conf(例如,conf/myproject17.conf)。
评论
支持 Markdown