Contexte et problème
Vous avez installé (ou déployé) un module personnalisé et Odoo refuse de démarrer. Respire : ce cas arrive souvent et se résout méthodiquement. Ici je vous guide étape par étape, avec commandes et exemples concrets.
Prérequis
- Accès SSH au serveur où tourne Odoo (ou accès au conteneur).
- Accès au répertoire du code Odoo et au fichier de configuration (
odoo.conf). - Sauvegarde récente de la base ou habitude de restaurer une sauvegarde (toujours utile).
- Permissions pour redémarrer le service (sudo) ou relancer le processus.
Étapes de diagnostic et de correction
-
Vérifier les logs
Ouvrez le log principal :
tail -n 200 /var/log/odoo/odoo.logou utilisezjournalctl -u odoo.service -f. Cherchez la première erreur réelle (ImportError, Traceback, database error). -
Lancer Odoo en mode debug pour voir la trace complète
Dans le répertoire d'Odoo :
./odoo-bin -c /etc/odoo/odoo.conf -d ma_base --log-level=debug. La trace montre souvent le fichier Python et la ligne fautive. -
Contrôler le manifest du module
Ouvrez
__manifest__.pydu module. Exemple d'erreur fréquente : dépendance non déclarée ou mal orthographiée dans'depends'. Si le module dépend d'un paquet Python, assurez-vous qu'il est installé. -
Vérifier les dépendances Python
Si l'erreur indique
ModuleNotFoundError, installez la dépendance :python3 -m pip install nom_paquetou via votre fichierrequirements.txt. -
Problèmes de base de données
Erreur de schema ou migration manquante : lancez une mise à jour du module en CLI :
./odoo-bin -u nom_module -d ma_base -c /etc/odoo/odoo.conf. Cela applique les changements de modèle. -
Permissions et chemins
Erreur Permission denied sur fichiers statiques ou dossiers : corrigez propriétaire et droits (par exemple
chown -R odoo:odoo /opt/odoo/custom_addons). Assurez-vous que le chemin du module est dansaddons_pathdu fichier de conf. -
Port déjà utilisé ou mauvais service
Si Odoo ne bind pas le port, vérifiez avec
ss -tulpn | grep 8069et arrêtez le processus en conflit. -
Redémarrer proprement
Après corrections :
sudo systemctl restart odoo(ou relancer le conteneur). Vérifiez les logs en temps réel pour confirmer l'absence d'erreurs.
Erreurs fréquentes et solutions rapides
- ImportError: No module named X — installez le paquet Python manquant.
- KeyError sur un champ — le champ a été renommé; vérifiez les migrations ou mettez à jour le module.
- OperationalError (psycopg2) — vérifiez que Postgres fonctionne et que les identifiants dans
odoo.confsont corrects. - Échec d'un update — restaurez la base puis testez l'update sur une copie avant production.
Vérification finale
Accédez à l'interface web, connectez-vous, ouvrez les menus du module et réalisez deux actions clés (création et modification d'un enregistrement). Surveillez les logs pendant ces actions pour détecter toute anomalie cachée.
Si vous préférez qu'on regarde ensemble votre installation (diagnostic court et sans engagement), réservez un diagnostic ou contactez-moi pour en discuter.