mcpField
O
odoo-service

odoo-service

github.com/ahmed-lakosha云与 DevOps7669 次安装31 周前更新
代码仓库

关于 odoo-service

面向 Odoo 开发者的运维 Skill,用于管理服务器环境和应用生命周期,涵盖数据库、Docker、模块操作、IDE 配置及生产就绪检查。

主要功能

  1. 01管理服务器生命周期和环境
  2. 02备份及管理数据库
  3. 03生成并管理 Docker 配置
  4. 04安装、更新和搭建模块
  5. 05配置 VSCode 和 PyCharm
  6. 06检查生产就绪情况

适用场景

  1. 01启动或重启 Odoo 开发服务器
  2. 02备份或恢复 Odoo 数据库
  3. 03代码变更后更新模块
  4. 04为 Odoo 项目进行生产准备

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ahmed-lakosha/odoo-plugins --skill odoo-service

安装后在 Claude Code 中输入/odoo-service确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
__init__.py
db_manager.py
docker_manager.py
env_initializer.py
ide_configurator.py
server_manager.py
shared.py

详细介绍

Odoo 服务技能

功能

此技能可管理完整的 Odoo 服务生命周期:

  • 服务:启动、停止、重启、检查状态(Windows/Linux/macOS)
  • 环境:自动检测 venv/Docker/裸 Python;初始化新环境
  • 数据库:备份、恢复、创建、删除、列出、重置管理员密码
  • Docker:生成 Dockerfile/compose、管理容器、进入 Shell
  • IDE:生成支持调试的 VSCode 和 PyCharm 配置
  • 模块:安装、更新、脚手架、刷新模块列表
  • 就绪检查:生产质量门禁(测试、安全、翻译、清单)

环境检测

优先级:Docker > venv > 裸 Python。

信号环境
存在 docker-compose.yml 或 DockerfileDocker
.venv/、venv/ 或 env/ 中包含 Python 可执行文件本地 venv
以上均不满足裸 Python

使用标志覆盖:--docker、--venv、--env bare。

Odoo 版本矩阵

版本Python长轮询键额外依赖
143.7 - 3.10longpolling_port-
153.8 - 3.11longpolling_port-
163.9 - 3.12gevent_port-
173.10 - 3.13gevent_port-
183.10 - 3.13gevent_portcbor2
193.10 - 3.13gevent_portcbor2, 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