Pourquoi auto-héberger Nextcloud sur un VPS
Confier ses documents, photos et agendas à un géant du cloud, c'est accepter qu'ils soient analysés, monétisés et soumis à une juridiction étrangère. Nextcloud rapatrie tout cela sur un VPS que vous contrôlez : synchronisation multi-appareils, partage de liens, calendriers CalDAV, contacts CardDAV, et même édition collaborative de documents avec Collabora ou OnlyOffice. Pour une agence ou une équipe, c'est aussi un espace de travail partagé sans abonnement par utilisateur. Vous payez le VPS, pas le nombre de comptes ni les gigaoctets stockés.
Ce que vous récupérez en l'hébergeant vous-même
- Souveraineté totale sur vos fichiers, agendas et contacts
- Pas d'abonnement par utilisateur ni par gigaoctet : coût fixe du VPS
- Synchronisation desktop et mobile via clients officiels (WebDAV)
- Édition collaborative de documents avec OnlyOffice ou Collabora
- Partage par lien avec mot de passe et date d'expiration
- Catalogue d'applications (notes, tâches, mail, visio Talk) extensible à volonté
Prérequis réalistes
Nextcloud reste raisonnable mais a besoin d'un vrai socle : visez 2 vCPU / 4 Go de RAM pour une poignée d'utilisateurs, 8 Go si vous ajoutez OnlyOffice/Collabora ou montez à plusieurs dizaines de comptes. Le disque est le nerf de la guerre : dimensionnez-le selon vos fichiers. Il vous faut Docker + Compose, une base de données (PostgreSQL ou MariaDB), Redis pour le cache, et un domaine cloud.votredomaine.ma avec son certificat SSL.
Déploiement pas à pas
Composer la stack complète
Créez un docker-compose.yml regroupant trois services : nextcloud:apache, une base mariadb (ou postgres) et redis pour le cache et le verrouillage de fichiers. Reliez-les sur un réseau Docker interne et placez les données dans des volumes nommés.
Configurer les variables et le domaine de confiance
Passez les identifiants de base de données en variables d'environnement et ajoutez NEXTCLOUD_TRUSTED_DOMAINS=cloud.votredomaine.ma pour éviter l'erreur de domaine non fiable au premier accès.
Lancer et terminer l'installation
Démarrez avec docker compose up -d, puis ouvrez https://cloud.votredomaine.ma pour créer le compte administrateur. Vérifiez ensuite l'onglet Vue d'ensemble pour résoudre les avertissements de configuration.
Mettre en place reverse proxy et SSL
Devant le conteneur, configurez Nginx/Caddy en HTTPS et augmentez client_max_body_size (ex. 10G) ainsi que les timeouts pour autoriser les gros transferts. Ajoutez les en-têtes recommandés (HSTS) pour le score de sécurité.
Activer le cron et le cache mémoire
Basculez les tâches de fond en mode cron (via un conteneur ou un job système appelant cron.php toutes les 5 minutes) et déclarez Redis dans config.php comme memcache.locking pour des performances stables.
Planifier les sauvegardes
Sauvegardez chaque nuit le dossier data, le config.php et un dump de la base. Poussez le tout vers un stockage objet distant (par exemple un MinIO sur un autre VPS) pour une restauration fiable.
Déchargez le stockage des fichiers vers un backend objet S3 (MinIO ou autre) directement depuis config.php via le objectstore primaire : votre VPS Nextcloud reste léger sur son disque système, le stockage devient extensible à l'infini, et vous séparez la donnée applicative de la donnée utilisateur, ce qui simplifie énormément les sauvegardes et les migrations futures.
La documentation officielle
Pour la configuration avancée et les options propres à l'outil, référez-vous à la documentation officielle de Nextcloud. 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.