[{"data":1,"prerenderedAt":258},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-odoo-17-community-vps-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-heberger-odoo-17-community-vps-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":199,"ctaBody":200,"ctaButton":201,"ctaUrl":202,"relatedPosts":203},383,"heberger-odoo-17-community-vps",{"fr":10,"en":12,"ar":13,"es":14},"host-odoo-17-community-on-vps","استضافة-odoo-17-community-على-vps","alojar-odoo-17-community-en-vps","Héberger Odoo 17 Community sur VPS : installation Docker complète","Guide complet pour déployer Odoo 17 Community Edition sur VPS avec Docker Compose : configuration, sauvegardes, sécurité et optimisation des performances.",10,0,false,"2026-09-26T00:00:00+00:00","2026-09-29T14:40:42+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-odoo-17-community-vps-poster.svg","Odoo 17 Community Edition est l'un des ERP open-source les plus complets disponibles aujourd'hui. Gratuit, extensible, et soutenu par une large communauté, il couvre la gestion des ventes, de la comptabilité, des stocks, des ressources humaines et bien plus. Pourtant, beaucoup d'entreprises paient encore des abonnements SaaS pour des fonctionnalités qu'elles pourraient héberger elles-mêmes sur un VPS, avec un contrôle total sur leurs données. Ce guide vous accompagne pas à pas pour déployer Odoo 17 Community sur un VPS via Docker Compose, configurer les sauvegardes, sécuriser l'instance et optimiser ses performances.",[35,39,53,93,96,118,121,124,135,150,153,157],{"type":36,"title":37,"body":38},"h2","Pourquoi self-héberger Odoo Community","La version SaaS d'Odoo, commercialisée sous Odoo.sh ou via des partenaires, facture à l'utilisateur et au module activé. Pour une PME de 10 personnes utilisant cinq modules, la facture mensuelle dépasse rapidement plusieurs centaines d'euros. Un VPS à 99 DH\u002Fmois suffit à faire tourner la même instance, sans aucune restriction sur le nombre d'utilisateurs ou de modules Community.\n\n**Le contrôle des données** est l'autre argument de poids. Avec une instance self-hosted, la base de données PostgreSQL reste sur votre serveur, dans votre datacenter de choix. Aucun tiers n'accède à vos clients, devis, factures ou données RH. Pour les entreprises soumises à des obligations de conformité — secteur médical, juridique, fintech — cette maîtrise n'est pas optionnelle.\n\nEnfin, la **personnalisation** est sans limite. Odoo Community autorise l'installation de n'importe quel module de la communauté ou développé en interne, sans restriction de l'éditeur. Sur une instance SaaS ou managée, les modules tiers doivent souvent être validés, et certaines personnalisations sont simplement impossibles.",{"type":40,"title":41,"items":42},"ul","Ce qu'Odoo 17 Community inclut",[43,44,45,46,47,48,49,50,51,52],"**CRM** : pipeline de vente, leads, activités et suivi client","**Ventes** : devis, bons de commande, tarification et conditions de paiement","**Comptabilité** : plan comptable, journaux, rapprochement bancaire, TVA","**Facturation** : factures clients et fournisseurs, relances automatiques, paiements","**Inventaire** : gestion des stocks, emplacements, règles de réapprovisionnement","**Achats** : demandes d'achat, appels d'offres et suivi fournisseurs","**Ressources humaines** : employés, contrats, congés et présences","**Email marketing** : listes de diffusion, campagnes et statistiques d'envoi","**Site web & e-commerce** : constructeur de pages, boutique en ligne intégrée","**Helpdesk** : ticketing client, SLA et portail libre-service",{"type":54,"title":55,"headers":56,"rows":61},"comparison","Différences entre Community et Enterprise",[57,58,59,60],"Fonctionnalité","Community","Enterprise","Alternative open-source",[62,67,72,75,80,84,89],[63,64,65,66],"Comptabilité avancée (rapports analytiques)","Basique","Complète","Module OCA `account-financial-reporting`",[68,69,70,71],"Signature électronique","Absente","Incluse","Module `sign` communauté ou Docusign",[73,69,70,74],"Feuilles de présence avancées","Module OCA `hr-attendance`",[76,77,78,79],"Support éditeur officiel","Forum communauté","SLA garanti","Prestataire Odoo partenaire",[81,82,70,83],"Mise à jour automatique (Odoo.sh)","Non applicable","Script de migration manuel",[85,86,87,88],"Nombre d'utilisateurs","Sans plafond","Selon licences","Sans restriction",[90,91,92,91],"Prix (self-hosted)","Gratuit","Gratuit si auto-hébergé *",{"type":36,"title":94,"body":95},"Prérequis VPS pour héberger Odoo 17","Odoo est une application Python\u002FPostgreSQL gourmande en RAM, surtout dès que plusieurs utilisateurs travaillent simultanément. Le dimensionnement minimal recommandé pour une PME de 5 à 15 utilisateurs :\n\n- **CPU** : 4 vCPU minimum ; Odoo est multi-processus et tire parti du parallélisme\n- **RAM** : 8 Go recommandés (4 Go sont fonctionnels pour un test, insuffisants en production)\n- **Stockage** : 40 Go SSD NVMe ; prévoir plus si vous activez l'e-commerce avec des médias\n- **OS** : Ubuntu 22.04 LTS ou Debian 12 — les deux sont stables et bien documentés\n- **Docker Engine** 24+ et **Docker Compose** v2 (plugin intégré, `docker compose` sans tiret)\n- Un **nom de domaine** pointé vers l'IP du VPS, avec un enregistrement A ou CNAME actif\n- Un **reverse proxy** (Caddy ou Nginx) pour gérer le TLS et exposer Odoo sur le port 443\n\nUn VPS 299 DH\u002Fmois chez ServOrbit.com couvre largement ces besoins avec des ressources dédiées.",{"type":97,"title":98,"steps":99},"steps","Installer Odoo 17 avec Docker Compose",[100,103,106,109,112,115],{"title":101,"body":102},"Créer la structure de répertoires","Connectez-vous en SSH à votre VPS et créez l'arborescence de travail :\n\n```bash\nmkdir -p \u002Fopt\u002Fodoo\u002F{data,addons,config,backups}\ncd \u002Fopt\u002Fodoo\n```\n\nCes dossiers accueilleront respectivement les données persistantes, les modules personnalisés, la configuration Odoo et les sauvegardes.",{"title":104,"body":105},"Rédiger le fichier docker-compose.yml","Créez `\u002Fopt\u002Fodoo\u002Fdocker-compose.yml` avec le contenu suivant :\n\n```yaml\nservices:\n  db:\n    image: postgres:16\n    restart: unless-stopped\n    environment:\n      POSTGRES_DB: postgres\n      POSTGRES_USER: odoo\n      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}\n    volumes:\n      - .\u002Fdata\u002Fpostgres:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U odoo\"]\n      interval: 10s\n      retries: 5\n\n  odoo:\n    image: odoo:17.0\n    restart: unless-stopped\n    depends_on:\n      db:\n        condition: service_healthy\n    environment:\n      HOST: db\n      USER: odoo\n      PASSWORD: ${POSTGRES_PASSWORD}\n    volumes:\n      - .\u002Fdata\u002Fodoo:\u002Fvar\u002Flib\u002Fodoo\n      - .\u002Faddons:\u002Fmnt\u002Fextra-addons\n      - .\u002Fconfig\u002Fodoo.conf:\u002Fetc\u002Fodoo\u002Fodoo.conf\n    ports:\n      - \"127.0.0.1:8069:8069\"\n      - \"127.0.0.1:8072:8072\"\n```\n\nNotez que les ports ne sont exposés qu'en localhost — le reverse proxy se chargera de l'accès externe.",{"title":107,"body":108},"Créer le fichier .env et la configuration Odoo","Créez `\u002Fopt\u002Fodoo\u002F.env` :\n\n```bash\nPOSTGRES_PASSWORD=$(openssl rand -hex 32)\necho \"POSTGRES_PASSWORD=${POSTGRES_PASSWORD}\" > \u002Fopt\u002Fodoo\u002F.env\n```\n\nPuis créez `\u002Fopt\u002Fodoo\u002Fconfig\u002Fodoo.conf` :\n\n```ini\n[options]\ndb_host = db\ndb_port = 5432\ndb_user = odoo\ndb_password = ${POSTGRES_PASSWORD}\naddons_path = \u002Fusr\u002Flib\u002Fpython3\u002Fdist-packages\u002Fodoo\u002Faddons,\u002Fmnt\u002Fextra-addons\nadmin_passwd = REMPLACEZ_PAR_UN_MOT_DE_PASSE_FORT\nwithout_demo = all\nworkers = 4\nmax_cron_threads = 2\nlimit_memory_hard = 2684354560\nlimit_memory_soft = 2147483648\n```",{"title":110,"body":111},"Configurer le reverse proxy avec Caddy","Caddy est le choix le plus simple : il gère le TLS automatiquement via Let's Encrypt. Installez-le et créez `\u002Fetc\u002Fcaddy\u002FCaddyfile` :\n\n```\nodoo.votredomaine.com {\n    reverse_proxy 127.0.0.1:8069\n\n    # Support WebSocket pour les notifications temps réel\n    handle \u002Fwebsocket {\n        reverse_proxy 127.0.0.1:8072\n    }\n\n    header {\n        X-Frame-Options SAMEORIGIN\n        X-Content-Type-Options nosniff\n        Strict-Transport-Security \"max-age=31536000; includeSubDomains\"\n    }\n\n    encode gzip\n}\n```\n\nRelancez Caddy : `systemctl reload caddy`.",{"title":113,"body":114},"Démarrer les conteneurs","Depuis `\u002Fopt\u002Fodoo`, lancez :\n\n```bash\ndocker compose up -d\n```\n\nSuivez les logs au démarrage :\n\n```bash\ndocker compose logs -f odoo\n```\n\nOdoo met 30 à 60 secondes à initialiser. Vous verrez `HTTP service (werkzeug) running` quand il est prêt.",{"title":116,"body":117},"Accéder à l'interface et créer la base de données","Ouvrez `https:\u002F\u002Fodoo.votredomaine.com\u002Fweb\u002Fdatabase\u002Fmanager` dans votre navigateur. Renseignez le mot de passe maître (`admin_passwd`) défini dans `odoo.conf`, choisissez un nom de base de données, une langue et un email administrateur, puis cliquez sur **Créer**. La première initialisation dure 2 à 5 minutes selon les modules sélectionnés.",{"type":36,"title":119,"body":120},"Configurer la base de données et l'instance","Après la création de la base, Odoo vous redirige vers l'interface principale. La première chose à faire est de **vérifier le mot de passe maître** dans `Paramètres > Technique > Mot de passe maître`. Ce mot de passe protège l'accès au gestionnaire de bases de données — il doit être long et unique.\n\nDans `Paramètres > Général`, configurez le nom de l'entreprise, la devise de base, le fuseau horaire et l'adresse. Ces paramètres influencent les documents générés (factures, bons de commande).\n\nSi vous migrez depuis un autre système, Odoo propose des importateurs CSV pour les clients, fournisseurs, produits et soldes comptables. Commencez toujours par un environnement de test avec des données réelles avant de basculer en production.",{"type":36,"title":122,"body":123},"Configurer les sauvegardes automatiques","Une instance Odoo en production sans sauvegarde est une dette technique immédiate. La stratégie recommandée repose sur deux niveaux.\n\n**Dump PostgreSQL quotidien** avec un script cron :\n\n```bash\n#!\u002Fbin\u002Fbash\nDATE=$(date +%Y%m%d_%H%M%S)\nBACKUP_DIR=\u002Fopt\u002Fodoo\u002Fbackups\nDB_NAME=votre_base\n\ndocker compose -f \u002Fopt\u002Fodoo\u002Fdocker-compose.yml exec -T db \\\n  pg_dump -U odoo ${DB_NAME} | gzip > ${BACKUP_DIR}\u002Fodoo_${DATE}.sql.gz\n\n# Conserver 7 jours\nfind ${BACKUP_DIR} -name \"odoo_*.sql.gz\" -mtime +7 -delete\n```\n\nPlanifiez ce script dans `\u002Fetc\u002Fcron.d\u002Fodoo-backup` avec une exécution à 02h00 chaque nuit.\n\n**Sauvegarde des volumes** : le dossier `\u002Fopt\u002Fodoo\u002Fdata\u002Fodoo` contient les pièces jointes, images et fichiers uploadés. Synchronisez-le quotidiennement vers un stockage objet (S3, Scaleway Object Storage) avec `rclone` ou `restic`. Pour aller plus loin sur la stratégie 3-2-1, consultez \u003Ca href=\"\u002Fblog\u002Farticle-backup-vps-restic-s3-3-2-1\">notre guide Restic\u003C\u002Fa>.",{"type":40,"title":125,"items":126},"Activer les modules clés après installation",[127,128,129,130,131,132,133,134],"**Ventes** (`sale_management`) : devis, commandes, portail client — module de base pour toute activité commerciale","**Comptabilité** (`account_accountant`) : plan comptable, TVA, rapprochement bancaire, clôtures","**Inventaire** (`stock`) : gestion multi-entrepôts, lots et numéros de série, règles de réapprovisionnement","**Achats** (`purchase`) : demandes d'achat, appels d'offres, réception et facturation fournisseur","**Ressources humaines** (`hr`) : fiche employé, structure organisationnelle, documents RH","**Helpdesk** (`helpdesk`) : ticketing, SLA, portail client self-service — Community inclut les fonctions de base","**Site web** (`website`) : constructeur de pages, blog, formulaires de contact","**E-Commerce** (`website_sale`) : boutique en ligne, panier, paiement — s'active en complément du module Site web",{"type":97,"title":136,"steps":137},"Optimiser les performances de votre instance",[138,141,144,147],{"title":139,"body":140},"Ajuster le nombre de workers","Dans `odoo.conf`, le paramètre `workers` contrôle le nombre de processus Python qui traitent les requêtes HTTP. La règle pratique : `workers = (vCPU × 2) + 1`. Sur un VPS 4 vCPU, fixez `workers = 4`. En dessous de 2, Odoo tourne en mode mono-processus, ce qui bloque les requêtes longues (imports, rapports).",{"title":142,"body":143},"Configurer les limites mémoire","Odoo tue les workers qui dépassent les limites définies pour éviter les fuites mémoire.\n\n```ini\nlimit_memory_soft = 2147483648   # 2 Go : signal de fin gracieuse\nlimit_memory_hard = 2684354560   # 2,5 Go : kill immédiat\n```\n\nSur 8 Go de RAM avec 4 workers + PostgreSQL, ces valeurs sont cohérentes. Augmentez-les si vos rapports sont lents ou si les workers redémarrent fréquemment (`docker compose logs odoo | grep killed`).",{"title":145,"body":146},"Limiter les crons pour ne pas saturer le CPU","Le paramètre `max_cron_threads = 2` réserve 2 threads pour les tâches planifiées (emails, réapprovisionnement, rapports). Au-delà, les crons entrent en compétition avec les workers HTTP. Sur un serveur dédié à Odoo, vous pouvez monter à 4, mais commencez conservativement.",{"title":148,"body":149},"Activer le stockage de session Redis (optionnel)","Par défaut, Odoo stocke les sessions sur le disque. Sur des volumes partagés ou en cas de redémarrage fréquent, cela peut causer des déconnexions. Ajoutez un service Redis au `docker-compose.yml` et configurez :\n\n```ini\nsession_store = redis\nredis_url = redis:\u002F\u002Fredis:6379\n```\n\nCette option est surtout utile si vous envisagez une architecture multi-instances à l'avenir.",{"type":36,"title":151,"body":152},"Sécuriser l'instance Odoo en production","La sécurité d'une instance Odoo repose sur plusieurs couches complémentaires.\n\n**Désactiver le gestionnaire de bases de données** en production est la mesure la plus importante. Cette interface, accessible par défaut sur `\u002Fweb\u002Fdatabase\u002Fmanager`, permet à quiconque connaissant le mot de passe maître de créer, supprimer ou restaurer des bases. Ajoutez dans `odoo.conf` :\n\n```ini\ndbfilter = ^votre_base$\nlist_db = False\n```\n\n`list_db = False` masque l'interface de gestion et empêche l'énumération des bases.\n\n**Forcer le TLS** : Caddy gère cela nativement. Avec Nginx, assurez-vous que le vhost HTTP redirige systématiquement vers HTTPS et que `Strict-Transport-Security` est positionné.\n\n**Fail2ban** : configurez une jail pour les tentatives de connexion échouées sur `\u002Fweb\u002Flogin`. Odoo logue ces tentatives avec le niveau `warning` — un filtre regex sur `Login failed` suffit.\n\n**Mot de passe maître fort** : ce mot de passe doit avoir au moins 32 caractères alphanumériques générés aléatoirement. Il ne se change qu'en modifiant `odoo.conf` et en redémarrant le conteneur — autant en faire un mot de passe de coffre-fort dès le départ.",{"type":154,"title":155,"body":156},"tip","Conseil avancé : intégrer des modules personnalisés","Le dossier `\u002Fopt\u002Fodoo\u002Faddons` est monté dans le conteneur sur `\u002Fmnt\u002Fextra-addons`. Pour installer un module communauté (OCA, ou développé en interne), déposez-le dans ce dossier et ajoutez le chemin à `addons_path` dans `odoo.conf`.\n\nAprès ajout d'un module, redémarrez Odoo (`docker compose restart odoo`), puis allez dans `Paramètres > Applications > Mettre à jour la liste des applications`. Le module apparaît dans la liste et s'installe comme n'importe quel module natif.\n\nPour les modules OCA, clonez directement depuis GitHub dans le dossier `addons` : l'organisation [OCA sur GitHub](https:\u002F\u002Fgithub.com\u002FOCA) regroupe des centaines de modules thématiques (comptabilité française, EDI, connecteurs e-commerce, etc.) maintenus activement.",{"type":54,"title":158,"headers":159,"rows":163},"Comparatif hébergement : VPS self-hosted vs Odoo SaaS",[160,161,162],"Critère","VPS self-hosted (ServOrbit.com)","Odoo.sh \u002F SaaS partenaire",[164,168,172,176,180,184,188,191,195],[165,166,167],"Coût mensuel (10 utilisateurs)","À partir de 99 DH\u002Fmois","150 € à 500 € selon modules",[169,170,171],"Contrôle des données","Total — données sur votre serveur","Données chez l'éditeur ou partenaire",[173,174,175],"Modules Community","Tous disponibles, sans restriction","Dépend du plan et du partenaire",[177,178,179],"Modules Enterprise","Non inclus (licence séparée)","Inclus dans l'abonnement",[181,182,183],"Sauvegardes","À votre charge, configurables","Gérées par la plateforme",[185,186,187],"Mises à jour","Manuelles (migration majeure)","Gérées (upgrade assisté)",[189,86,190],"Personnalisation","Restreinte ou facturable",[192,193,194],"Compétences requises","Administration Linux, Docker","Aucune compétence serveur",[196,197,198],"Support technique","Communauté + prestataire au choix","SLA selon contrat éditeur","Déployez votre ERP en toute autonomie","ServOrbit.com propose des VPS optimisés pour les charges applicatives exigeantes comme Odoo. Ressources dédiées, SSD NVMe, support technique réactif — tout ce qu'il faut pour faire tourner votre ERP en production.","Déployer Odoo sur VPS","\u002Fsolutions\u002Fprofessionnels",[204,223,240],{"id":205,"slug":206,"slugs":207,"title":211,"excerpt":212,"readTime":213,"views":18,"isPinned":19,"publishedAt":214,"updatedAt":215,"category":216,"categories":217,"featuredImage":30,"bgImage":31,"posterImage":219,"relatedSolution":220},150,"heberger-erpnext-vps",{"fr":206,"en":208,"ar":209,"es":210},"how-to-host-erpnext-on-a-vps","كيفية-استضافة-erpnext-على-vps","como-alojar-erpnext-en-un-vps","Héberger ERPNext sur un VPS : guide complet","Déployez ERPNext sur votre VPS : modules, post-installation, monitoring, dépannage et comparatif ERPNext vs Odoo Community. Guide complet avec Frappe Docker.",9,"2026-01-26T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[218],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-erpnext-vps-poster.svg",{"categorySlug":221,"appSlug":222},"erp","erpnext",{"id":224,"slug":225,"slugs":226,"title":230,"excerpt":231,"readTime":232,"views":18,"isPinned":19,"publishedAt":233,"updatedAt":215,"category":234,"categories":235,"featuredImage":30,"bgImage":31,"posterImage":237,"relatedSolution":238},323,"quitter-hubspot-twenty-crm-self-hosted",{"fr":225,"en":227,"ar":228,"es":229},"leaving-hubspot-for-self-hosted-twenty-crm-on-a-vps","الانتقال-من-hubspot-إلى-twenty-crm-المستضاف-ذاتيا","dejar-hubspot-por-twenty-crm-autoalojado-en-vps","Quitter HubSpot pour Twenty CRM self-hosted sur VPS","HubSpot Professional dépasse $100\u002Fsiège\u002Fmois en 2026. Découvrez comment migrer vers Twenty CRM open source sur VPS en moins d'une journée.",12,"2026-09-03T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[236],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fquitter-hubspot-twenty-crm-self-hosted-poster.svg",{"categorySlug":221,"appSlug":239},"twenty",{"id":241,"slug":242,"slugs":243,"title":247,"excerpt":248,"readTime":17,"views":18,"isPinned":19,"publishedAt":249,"updatedAt":250,"category":251,"categories":252,"featuredImage":30,"bgImage":31,"posterImage":254,"relatedSolution":255},368,"wordpress-multisite-vps-agence",{"fr":242,"en":244,"ar":245,"es":246},"wordpress-multisite-vps-manage-n-client-sites-one-install","ووردبريس-متعدد-المواقع-على-vps-ادارة-مواقع-العملاء","wordpress-multisite-vps-gestiona-n-sitios-en-una-instalacion","WordPress Multisite sur VPS : gérer N sites en une installation","Activez WordPress Multisite sur un VPS dédié pour centraliser N sites clients sous une base de code, une mise à jour et des sous-domaines isolés. Guide agences.","2026-09-20T00:00:00+00:00","2026-09-20T21:13:51+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[253],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fwordpress-multisite-vps-agence-poster.svg",{"categorySlug":256,"appSlug":257},"cms","wordpress",1790693208547]