odoo-service について
Odoo 開発者向けの運用スキルです。サーバー環境とアプリケーションのライフサイクルを管理し、データベース、Docker、モジュール、IDE、運用準備の確認を扱います。
主な機能
- 01サーバーと環境の管理
- 02データベースのバックアップと管理
- 03Docker 設定の生成と運用
- 04モジュールの導入、更新、ひな形作成
- 05VSCode と PyCharm の設定
- 06本番運用準備の確認
活用シーン
- 01Odoo 開発サーバーの起動や再起動
- 02Odoo データベースのバックアップや復元
- 03コード変更後のモジュール更新
- 04Odoo プロジェクトの本番運用準備
インストール
コマンドをコピーしてターミナルで実行します。
$
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 の生成、コンテナの管理、シェルへの接続
- IDE:デバッグをサポートする VSCode および PyCharm の設定を生成
- モジュール:インストール、更新、スキャフォールド、モジュール一覧の更新
- 準備状況:本番環境向けの品質ゲート(テスト、セキュリティ、翻訳、マニフェスト)
環境の検出
優先順位:Docker > venv > ベア Python。
| 判定条件 | 環境 |
|---|---|
docker-compose.yml または Dockerfile が存在する | Docker |
Python 実行ファイルを含む .venv/、venv/、または env/ | ローカル 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 対応