Pourquoi self-héberger ERPNext sur un VPS
Un ERP centralise les données les plus sensibles de l'entreprise : écritures comptables, marges, fiches clients et fournisseurs, paie. Les offres SaaS facturent souvent par utilisateur et par mois, ce qui devient coûteux à mesure que les équipes grandissent. Sur un VPS dédié, vous payez le serveur une fois, vous ajoutez autant d'utilisateurs que nécessaire, et la base de données reste sous votre contrôle, sauvegardée selon vos propres règles.
Les bénéfices concrets d'un ERPNext auto-hébergé
- Aucun coût par utilisateur : ajoutez vos équipes sans augmenter la facture.
- Souveraineté des données comptables et RH, qui restent sur votre serveur.
- Tous les modules disponibles (compta, stock, CRM, fabrication, paie) sans palier payant.
- Personnalisation libre via le framework Frappe et les apps complémentaires.
- Sauvegardes et rétention maîtrisées, adaptées à vos obligations légales.
- Évolutivité : montez en RAM/vCPU à mesure que le volume de transactions croît.
Prérequis matériels et logiciels
ERPNext est plus exigeant que la moyenne. Comptez au minimum 2 vCPU et 4 Go de RAM pour un usage de test, et 4 vCPU / 8 Go de RAM pour une production avec plusieurs utilisateurs simultanés. Prévoyez 20 Go de disque pour la base MariaDB, Redis et les fichiers. Côté logiciel : Docker et Docker Compose, un nom de domaine (ex. erp.votre-domaine.ma) pointant vers l'IP du VPS, et le port 443 ouvert.
Déployer ERPNext avec Frappe Docker et HTTPS
Préparer le VPS et Docker
En SSH, mettez à jour le système et installez Docker via curl -fsSL https://get.docker.com | sh. Vérifiez docker compose version.
Récupérer frappe_docker
Clonez le dépôt officiel : git clone https://github.com/frappe/frappe_docker && cd frappe_docker. Il fournit les compose de référence pour une stack complète (backend, MariaDB, Redis, workers).
Configurer l'environnement
Copiez example.env en .env, fixez le nom du site, le mot de passe administrateur et les paramètres de base de données. Ajustez le port interne exposé pour le placer derrière votre proxy.
Lancer la stack
Démarrez avec docker compose up -d, puis créez le site avec la commande bench new-site documentée. Suivez les logs pour confirmer que tous les services (db, redis, workers, scheduler) sont sains.
Configurer le reverse proxy
Placez Caddy ou Nginx devant ERPNext : erp.votre-domaine.ma { reverse_proxy localhost:8080 }. Caddy gère le certificat Let's Encrypt automatiquement.
Sécuriser et sauvegarder
Restreignez les ports internes au loopback, activez les sauvegardes régulières de la base (bench backup) et stockez-les hors du VPS pour la reprise après incident.
ERPNext évolue par versions majeures avec migrations de schéma : avant chaque mise à jour, faites un bench backup complet et testez la montée de version sur une copie avant de l'appliquer en production.
La documentation officielle
Pour la configuration avancée et les options propres à l'outil, référez-vous à la documentation officielle de ERPNext. Ce guide couvre la mise en ligne sur VPS ; la doc éditeur reste la référence pour les réglages fins, les mises à jour majeures et les cas d'usage spécifiques.