Se rendre au contenu

Odoo sur un VPS, ce que vous devez gérer vous-même

Odoo sur un VPS, ce que vous devez gérer vous-même
Benjamin Akboka Apengu
octobre 15, 2026 · 8 min de lecture

Pour auto-héberger Odoo sur un VPS, vous avez besoin d'un serveur Linux, de PostgreSQL, d'Odoo lui-même, d'un serveur web en façade avec SSL, et d'une sauvegarde que vous avez testée. Le faire démarrer prend un après-midi. Le vrai travail est ce qui vient après : les workers, les mises à jour, les journaux, les sauvegardes et la sécurité, chaque mois, tant qu'Odoo fonctionne.

Faire fonctionner Odoo sur votre propre VPS est un choix raisonnable. C'est peu coûteux pour commencer, vous choisissez le pays, et vous avez un contrôle total. Beaucoup d'équipes commencent de cette manière, souvent avec un peu d'aide de l'IA pour passer l'installation.

Ce guide montre chaque partie que vous prenez en charge, dans l'ordre où vous allez la rencontrer. Pour chacune, vous verrez ce qu'Odoo demande que d'autres applications ne demandent pas. Ce sont les parties dont personne ne vous avertit.

1. Le serveur

Choisissez d'abord un VPS avec suffisamment de mémoire, puis de CPU. Odoo utilise de la mémoire pour chaque worker, et Postgres veut sa propre part. Un petit serveur peut faire fonctionner un Odoo de test. Une équipe de 20 personnes travaillant toute la journée a besoin de plus.

La taille dépend du nombre de personnes utilisant Odoo en même temps, pas du nombre de comptes que vous avez. Notre guide sur le nombre de workers Odoo nécessaires montre comment le déterminer.

Choisissez également le pays avec soin. Vos données résident là où se trouve le serveur.

2. PostgreSQL

Odoo stocke tout dans PostgreSQL. Vous pouvez l'exécuter sur le même VPS, ou utiliser une base de données gérée par votre fournisseur cloud.

Odoo a besoin de son propre utilisateur de base de données qui peut créer des bases de données. Ne faites pas fonctionner Odoo en tant que superutilisateur postgres.

sudo -u postgres createuser --createdb --no-superuser --no-createrole odoo

Voici le premier piège d'Odoo. Lorsque vous restaurez une base de données manuellement plus tard, elle doit être possédée par l'utilisateur odoo. Si elle est possédée par postgres, le gestionnaire de base de données d'Odoo ne la verra pas, et vous perdez du temps à découvrir pourquoi. Sur presque n'importe quelle autre application, un simple pg_restore est suffisant. Avec Odoo, ce n'est pas le cas.

3. Odoo lui-même

Installez Odoo à partir des paquets officiels ou à partir de la source. Utilisez la version de Python que votre version d'Odoo demande, dans son propre environnement virtuel. Gardez vos propres modules dans un dossier séparé du code d'Odoo, afin que les mises à jour ne les mélangent pas.

Tous les paramètres vont dans un fichier de configuration. Un point de départ pour une petite équipe :

[options]
db_host = localhost
db_user = odoo
db_password = CHANGE_ME
admin_passwd = UN_LONG_MOT_DE_PASSE_ALEATOIRE
list_db = False
dbfilter = ^yourdb$
addons_path = /opt/odoo/odoo/addons,/opt/odoo/custom-addons
data_dir = /var/lib/odoo
proxy_mode = True
workers = 4
max_cron_threads = 1
gevent_port = 8072
logfile = /var/log/odoo/odoo.log

Quelques-unes de ces lignes comptent plus qu'elles n'en ont l'air :

  • list_db = False cache le gestionnaire de base de données d'Internet. Laissez-le activé et n'importe qui peut essayer d'y accéder.
  • admin_passwd protège ce gestionnaire. Rendez-le long. Ne laissez jamais le défaut.
  • Un nombre de workers supérieur à 0 active le mode multi-processus. Avec workers = 0, Odoo fonctionne comme un seul processus. C'est bien pour les tests, mais trop lent pour une équipe au travail.
  • data_dir est l'endroit où vos fichiers résident. Les pièces jointes, images et PDF ne sont pas dans la base de données. Souvenez-vous de cela pour les sauvegardes.

Exécutez Odoo en tant que service système, afin qu'il se relance après un redémarrage du serveur.

4. Le serveur web, SSL et mode proxy

Odoo ne doit pas être exposé directement à Internet. Mettez Nginx (ou un autre proxy) devant, et laissez-le gérer SSL.

Depuis Odoo 16, les fonctionnalités en direct utilisent un websocket sur un deuxième port (8072 par défaut). Si votre proxy n'envoie pas /websocket là-bas, le chat et les mises à jour en direct cessent de fonctionner sans erreur claire.

map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}


upstream odoo { server 127.0.0.1:8069; }
upstream odoochat { server 127.0.0.1:8072; }


server {
listen 443 ssl;
server_name erp.example.com;
# les lignes ssl_certificate et ssl_certificate_key vont ici

 proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 100m;

 location /websocket {
proxy_pass http://odoochat;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;}

 location / {
proxy_pass http://odoo;
}
}

Deux paramètres vont ensemble ici. proxy_mode = True dans la configuration d'Odoo, et les en-têtes X-Forwarded-Host et X-Forwarded-Proto dans le proxy. Avec seulement l'un des deux, Odoo pense qu'il fonctionne sur http:// et sur le mauvais nom. Les liens dans les e-mails, le plan du site et les liens de langue sur votre site web sortent tous faux. Notre guide du mode proxy le détaille ligne par ligne.

Pour SSL, un certificat Let’s Encrypt gratuit fonctionne bien. Réglez-le pour qu'il se renouvelle tout seul, puis vérifiez qu'il l'a vraiment fait.

5. Sauvegardes dont vous savez qu'elles pourront être restaurées

Une sauvegarde Odoo a deux parties : la base de données et le filestore. La plupart des sauvegardes faites maison ne sauvegardent que la première.

# base de données
pg_dump -U odoo -Fc yourdb > /backups/yourdb-$(date +%F).dump
# fichiers (pièces jointes, images, PDF)
tar -czf /backups/yourdb-files-$(date +%F).tar.gz -C /var/lib/odoo/filestore yourdb

Ensuite, trois règles :

  • Copiez les sauvegardes hors du serveur. Une sauvegarde sur le même disque meurt avec le disque.
  • Gardez-en plusieurs. Un mauvais changement trouvé une semaine plus tard a besoin d'une sauvegarde d'avant.
  • Restaurez-en une, sur un autre serveur, un jour fixe chaque mois. Jusqu'à ce que vous l'ayez fait, vous ne savez pas si vos sauvegardes fonctionnent.

Pour restaurer, faites en sorte que la base de données soit possédée par odoo, comme dans l'étape 2 :

createdb -U odoo -O odoo yourdb_restored
pg_restore -U odoo -d yourdb_restored --no-owner --role=odoo /backups/yourdb-2026-10-01.dump

Ensuite, remettez les fichiers dans filestore/yourdb_restored. Une base de données sans filestore s'ouvre, mais chaque image et pièce jointe est manquante. Notre guide sur comment savoir si une sauvegarde Odoo va se restaurer couvre l'intégralité du test.

6. Mises à jour

Il y a trois types, et chacun est à votre charge.

  • Le serveur. Mises à jour de sécurité pour Linux, Nginx et Postgres. La plupart peuvent fonctionner seules. Certaines nécessitent un redémarrage que vous devez planifier.
  • Corrections Odoo. Odoo fournit des corrections de bogues et de sécurité pour chaque version. Vous récupérez le nouveau code et redémarrez.
  • Vos modules. Lorsque vous modifiez un module, vous exécutez une mise à jour sur la base de données :
odoo -c /etc/odoo/odoo.conf -d yourdb -u your_module --stop-after-init

Une mise à jour modifie la base de données. Si elle échoue en cours de route, vous ne pouvez pas revenir en arrière en utilisant simplement l'ancien code. Prenez une sauvegarde juste avant, et essayez la mise à jour sur une copie d'abord. Cette copie est votre environnement de test. Sur un seul VPS, vous le construisez vous-même.

7. Journaux et espace disque

Odoo écrit une ligne de journal pour chaque demande. Sans rotation des journaux, le journal grandit jusqu'à ce que le disque soit plein, puis Odoo s'arrête. Configurez logrotate pour /var/log/odoo/ dès le premier jour.

Surveillez le disque pour la base de données, le filestore et vos sauvegardes locales aussi. Les trois ne font que croître.

8. Surveillance

Quelqu'un doit savoir quand Odoo est en panne, lent ou à court de mémoire, idéalement avant que votre équipe ne le sache. Au moins, configurez un contrôle externe sur votre page de connexion qui vous alerte, et vérifiez la mémoire et le disque chaque semaine.

Ce que cela représente

Rien de tout cela n'est difficile en soi. La partie difficile est que cela ne finit jamais, et chaque piège Odoo apparaît un à un, souvent un jour chargé. Les apprendre tous prend des mois, et chacun coûte à peu près ce que le dernier problème a coûté.

D'après notre expérience, un Odoo autogéré prend 10 heures par mois pour rester en bon état. Cela prend plus lors d'un mauvais mois.

Si vous avez déjà exécuté Odoo en production, un VPS est un bon choix et cette liste ne vous surprendra pas. Si ce n'est pas le cas, comparez d'abord le coût réel : auto-hébergement vs géré.

Gardez votre VPS, confiez le travail Odoo

Il existe un juste milieu. Vous gardez votre VPS, dans votre compte et votre pays. Nous exécutons Odoo dessus : déploiements depuis Git, environnement de staging, sauvegardes, mises à jour et aide d'experts Odoo. Vous gardez le serveur en marche et suffisamment grand. Notre logiciel se connecte depuis votre serveur, donc vous n'ouvrez aucun port pour nous.

Découvrez comment fonctionne l'hébergement sur votre propre serveur. Ou lisez les six façons d'héberger Odoo côte à côte.

Skysize est construit par d'anciens ingénieurs Odoo et est certifié ISO 27001.

Parlez à un expert en hébergement Odoo

FAQ

Puis-je héberger Odoo sur un VPS ? Oui. Vous avez besoin d'un serveur Linux, de PostgreSQL, d'Odoo, d'un serveur web avec SSL en façade, et de sauvegardes testées. Le faire fonctionner est rapide. Le garder en bon état prend du temps chaque mois.

Quelle taille mon VPS devrait-il avoir pour Odoo ? Cela dépend du nombre de personnes utilisant Odoo en même temps. C'est la mémoire qui compte le plus. Voir combien de workers Odoo il vous faut.

Pourquoi le chat en direct et les mises à jour en direct ne fonctionnent-ils pas sur mon VPS ? Le plus souvent, le proxy n'envoie pas /websocket au port 8072. Vérifiez que gevent_port dans la configuration Odoo correspond au port dans votre proxy.

Pourquoi les liens dans mes e-mails Odoo sont-ils sur http:// ou le mauvais domaine ? Odoo ne sait pas qu'il se trouve derrière un proxy. Définissez proxy_mode = True et envoyez les en-têtes X-Forwarded-Host et X-Forwarded-Proto.

Que doit inclure une sauvegarde Odoo ? La base de données et le filestore. Le filestore contient vos pièces jointes, images et PDF, et il n'est pas dans la base de données.

L'auto-hébergement d'Odoo est-il moins cher ? Le serveur est moins cher. Votre temps est le coût. Comptez les heures chaque mois avant de décider.

Odoo sur un VPS, ce que vous devez gérer vous-même
Benjamin Akboka Apengu
Écrit sur l'infrastructure Odoo chez Skysize, un hébergeur Odoo basé en Belgique, créé par d'anciens ingénieurs Odoo et certifié ISO 27001, servant des entreprises et des agences dans le monde entier.