
Nextcloud est aujourd’hui l’une des solutions open source les plus populaires pour créer votre propre cloud privé, sécurisé et contrôlé. Que ce soit pour stocker vos fichiers, gérer vos contacts, vos calendriers ou collaborer sur des documents, Nextcloud offre une alternative souveraine aux services cloud classiques.
Dans ce tutoriel, nous allons aller un peu plus loin en intégrant OnlyOffice directement dans notre stack Docker. Grâce à cette intégration, vous pourrez éditer vos documents Office en ligne (Word, Excel, PowerPoint) directement depuis Nextcloud, sans avoir besoin d’installer d’application supplémentaire sur vos postes.
Nous allons créer un stack Docker complet et unifié, comprenant Nextcloud, MariaDB, Redis, OnlyOffice et un reverse proxy sécurisé par HTTPS, prêt à être déployé sur votre serveur. Tout sera expliqué étape par étape pour que même ceux qui découvrent Docker puissent suivre et obtenir un environnement fonctionnel et sécurisé.
À la fin de ce tutoriel, vous disposerez d’une installation Nextcloud moderne et complète, avec un accès web sécurisé et la possibilité de collaborer en temps réel sur vos documents grâce à OnlyOffice.
Mise à jour :
Ce tutoriel a été mis à jour en février 2026 pour inclure la dernière version de Nextcloud et l’intégration d’OnlyOffice dans un stack Docker unifié.
Sommaire
Retour d’expérience personnel
J’utilise Nextcloud depuis plusieurs années, aussi bien dans un cadre personnel que professionnel. Au fil du temps, il s’est imposé comme une solution collaborative complète, capable de répondre à tous mes besoins.
Que ce soit pour le partage de documents en interne ou avec des partenaires externes, ou encore pour la communication grâce à Nextcloud Talk (chat et visioconférence), Nextcloud s’adapte à tous les usages.
L’un des grands avantages d’une solution en auto‑hébergement est de garder le contrôle total de ses données, sans dépendre d’un service tiers. En environnement professionnel, Nextcloud peut même être intégré à Authentik ou ADFS pour simplifier l’authentification des utilisateurs.
Bref, l’essayer, c’est l’adopter : fiable, flexible et sécurisée, c’est une solution que je recommande sans hésitation pour quiconque souhaite un cloud privé maîtrisé.
Prérequis pour déployer Nextcloud et OnlyOffice
Pour déployer Nextcloud, nous avons besoin :
- D’un serveur hôte avec Docker et Docker Compose, dans ce tutoriel j’ai utilisé un LXC sur Ubuntu 24.04, en fonction du nombre d’utilisateur, il faut adapter la configuration, comme point de départ 2vCPU, 4Go de RAM, il faut aussi adapter l’espace disque.
- Un Reverse proxy (Nginx, Traefik, Nginx Proxy Manager), dans le tutoriel, j’ai utilisé NPM.
- 2 enregistrements DNS pour les url de Nextcloud et OnlyOffice (il est possible de le faire avec une seule URL)
- Certificats SSL qui va correspondre aux URL, idéalement utilisé des certificats d’autorité reconnu
Dans le tutoriel, j’ai utilisé les URL suivantes :
- nextcloud.rdr-it.local
- onlyoffice.rdr-it.local
Pour les certificats, j’ai utilise deux certificats auto-signés générés avec la commande suivante :
openssl req -x509 -newkey rsa:4096 -sha256 -days 365 -nodes -keyout nextcloud.key -out nextcloud.crt -subj "/CN=nextcloud.rdr-it.local" -addext "subjectAltName=DNS:nextcloud.rdr-it.local"
Déploiement de Nextcloud et OnlyOffice
Afin de vous facilitez le déploiement, vous trouvez les fichiers nécessaire ici :
Sur le serveur Docker, commencer par créer un dossier pour Nextcloud et se déplacer dedans.
mkdir -p /containers/nextcloud
cd /containers/nextcloudCloner le dossier Nextcloud-Apache :
bash <(wget -qO- https://git.rdr-it.com/root/scripts/-/raw/master/Linux/rdr-it/get-docker-compse/get.sh) Nextcloud-Apache

Copier le fichier sample.env en le nommant .env puis éditer le.
cp sample.env
nano .env
Vous trouverez dans le fichier README.md, les informations pour configurer les variables.
Le fichier configuré, démarrer les conteneurs et patienter 4 à 5 minutes, le temps du téléchargement des images des conteneurs, décompression de celle-ci puis le démarrage et l’initialisation …


Le déploiement des conteneurs, vous pouvez utiliser la commande docker compose logs -f pour vérifier les logs des services du stack et vérifier que tout fonctionne.
Avant d’initialiser Nextcloud, il faut configurer le reverse proxy.
Configuration du Reverse proxy pour accéder à Nextcloud et OnlyOffice
Dans cette partie, je ne vais pas pouvoir détailler toutes les solutions possibles. D’une part, il existe des dizaines de reverse proxy différents, et d’autre part autant de configurations possibles selon les environnements.
L’objectif ici est donc de vous fournir les grandes lignes de configuration pour certaines solutions couramment utilisées. À vous ensuite d’adapter ces exemples à votre propre environnement et à votre configuration existante.
Nginx Proxy Manager
Pour ce tutoriel, j’ai utilisé Nginx Proxy Manager (NPM), la configuration est assez simple, vous devez juste avec le support des Websockets pour Nextcloud et OnlyOffice.

Nginx
Pour les mises en production, j’utilise Nginx, qui est selon moi la solution la plus complète et la plus flexible. En contrepartie, elle demande davantage de configuration “manuelle”, mais offre un contrôle très fin sur le comportement du reverse proxy.
Dans le dossier Reverse proxy, vous trouvez plusieurs exemple de configuration pour la publication de Nextcloud et OnlyOffice.
Il est également possible d’utiliser une seule URL pour publier Nextcloud et OnlyOffice. Le principe consiste à rendre OnlyOffice accessible via un sous-chemin (sous-dossier) de l’URL de Nextcloud, par exemple : https://nextcloud.domain.tld/onlyoffice/
A la place d’avoir un virtualhost dédié à OnlyOffice, on va ajouter un bloc location dans le virtualhost de Nextcloud :
location /onlyoffice/ {
rewrite /onlyoffice/(.*) /$1 break;
proxy_pass http://onlyoffice;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host/onlyoffice;
proxy_set_header X-Forwarded-Proto https;
}Traefik
Le dernier reverse proxy que je vais aborder dans ce tutoriel est Traefik, avec un exemple de configuration adapté à ce stack Docker.
Voici les labels à ajouter dans votre fichier docker-compose.yml. Cette configuration devra bien entendu être adaptée à votre environnement.
Labels pour Nextcloud :
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.nextcloud.service=nextcloud"
- "traefik.http.routers.nextcloud.rule=Host(`nextcloud.domain.tld`)"
- "traefik.http.routers.nextcloud.entrypoints=web"
- "traefik.http.services.nextcloud.loadbalancer.server.port=80"
- "traefik.http.routers.nextcloud.middlewares=nextcloud-headers"
- "traefik.http.middlewares.nextcloud-headers.headers.sslProxyHeaders.X-Forwarded-Proto=https"
- "traefik.http.middlewares.nextcloud-headers.headers.sslProxyHeaders.X-Forwarded-For=true"
- "traefik.http.middlewares.nextcloud-headers.headers.sslProxyHeaders.X-Real-Ip=true"
- "traefik.http.middlewares.nextcloud-headers.headers.sslProxyHeaders.X-Forwarded-Port=443"
- "traefik.http.middlewares.nextcloud-headers.headers.customRequestHeaders.X-Forwarded-Proto=https"
- "traefik.http.middlewares.nextcloud-headers.headers.customRequestHeaders.X-Forwarded-Port=443"
- "traefik.http.middlewares.nextcloud-headers.headers.stsSeconds=15552000"
- "traefik.http.middlewares.nextcloud-headers.headers.frameDeny=true"
- "traefik.http.middlewares.nextcloud-headers.headers.contentTypeNosniff=true"
- "traefik.http.middlewares.nextcloud-headers.headers.browserXssFilter=true"
- "traefik.http.middlewares.nextcloud-headers.headers.referrerPolicy=no-referrer"
- "traefik.http.middlewares.nextcloud-headers.headers.customFrameOptionsValue=SAMEORIGIN"Labels pour OnlyOffice :
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.onlyoffice.service=onlyoffice"
- "traefik.http.routers.onlyoffice.rule=Host(`onlyoffice.domain.tld`)"
- "traefik.http.routers.onlyoffice.entrypoints=web"
- "traefik.http.services.onlyoffice.loadbalancer.server.port=80"
- "traefik.http.routers.onlyoffice.middlewares=onlyoffice-headers"
- "traefik.http.middlewares.onlyoffice-headers.headers.sslProxyHeaders.X-Forwarded-Proto=https"
- "traefik.http.middlewares.onlyoffice-headers.headers.sslProxyHeaders.X-Forwarded-For=true"
- "traefik.http.middlewares.onlyoffice-headers.headers.sslProxyHeaders.X-Real-Ip=true"
- "traefik.http.middlewares.onlyoffice-headers.headers.sslProxyHeaders.X-Forwarded-Port=443"
- "traefik.http.middlewares.onlyoffice-headers.headers.customRequestHeaders.X-Forwarded-Proto=https"
- "traefik.http.middlewares.onlyoffice-headers.headers.customRequestHeaders.X-Forwarded-Port=443"
Penser également à déclarer le réseau dans le fichier docker-compose.yml au niveau des services et dans le stack.
Si vous avez des questions ou besoin d’aide pour la configuration de votre reverse proxy, n’hésitez pas à poster un commentaire.
Installation de Nextcloud
Maintenant que tout est prêt : configuration, conteneurs et reverse proxy, nous allons passer à l’installation de Nextcloud. Cette étape va créer la base de données et nous permettre de configurer le compte administrateur.
Depuis un navigateur Internet, rendez-vous à l’URL que vous avez configurée pour Nextcloud, la seule étape de configuration « technique » est la configuration du compte administrateur, les autres paramètres (Base de données, SMTP, Redis) sont configurés automatique par les variables d’environnement qui sont définies dans le fichier docker-compose.yml.
Entrer l’identifiant 1 et le mot de passe du compte 2 du compte administrateur et cliquer sur Install 3.

Conseils sécurité
- Si votre Nextcloud est publié sur Internet, utiliser un nom d’utilisateur généré aléatoirement, cela permet d’éviter les attaques brute force sur le compte admin.
- Réserver ce compte à l’administration de Nextcloud, il doit pas être utiliser pour un usage standard de Nextcloud.
Ensuite l’assistant, vous propose d’installer les applications les plus « utilisés », à vous de voir ce que vous souhaitez, par contre l’application : Nextcloud Office, ne doit pas être installé car nous allons par la suite configurer OnlyOffice. Choisir les applications 1 puis cliquer sur Install recommended apps 2.

Fermer les différents message qui s’affiche, on arrive ensuite sur la page d’accueil de Nextcloud.

Intégration de OnlyOffice dans Nextcloud
On va maintenant passer à l’intégration d’OnlyOffice, avant de se lancer dans le paramétrage de Nextcloud, on va vérifier que le conteneur OnlyOffice est fonctionnel, pour cela depuis un navigateur Internet, rendez-vous à l’URL configurée, vous devriez arriver sur la page ci-dessous :

Dans Nextcloud, cliquer sur l’avatar du compte 1 puis sur Apps 2.

Aller dans la catégorie Office & text 1, rechercher l’application ONLYOFFICE puis cliquer le bouton Download and enable 2 pour installer l’application dans Nextcloud.

L’application installée, il faut maintenant la configurer pour lui indiquer le serveur OnlyOffice, cliquer de l’avatar 1 puis sur Administration settings 2.

Dans l’administration, aller sur ONLYOFFICE 1, sur la page de configuration, entrer l’URL du serveur 2, entrer le secret JWT 3 (configurer dans le fichier docker-compose.yml) puis cliquer le bouton Save 4.

Une notification s’affiche en haut à droite indiquant que le serveur OnlyOffice est bien configuré.
Une fois le serveur ajouté et configuré, on accède à la configuration avancé de l’intégration.

Pour tester l’intégration, recherche un fichier (doc ou docx) et cliquer dessus pour l’ouvrir.

Le document s’ouvre dans l’éditeur OnlyOffice.

Un « bug » récurrent est présent dans la vérification du serveur OnlyOffice, pour le résoudre le problème, il faut modifier le fichier
config.phpdans Nextcloud (Nextcloud : résoudre le problème de déconnexion de OnlyOffice).
Conclusion
Nous voilà arrivés au bout de ce tutoriel. En suivant ces étapes, vous disposez désormais d’un Nextcloud complet et fonctionnel, intégré avec OnlyOffice pour l’édition en ligne, et entièrement géré via Docker avec un reverse proxy sécurisé.
Cette approche permet de centraliser vos fichiers, de collaborer efficacement, tout en gardant le contrôle total sur vos données grâce à l’auto-hébergement.
Que ce soit pour un usage personnel ou professionnel, ce stack Docker simplifie la maintenance et les mises à jour, tout en restant flexible et extensible selon vos besoins futurs.
Retrouver tous les tutoriels Nextcloud ici : https://rdr-it.com/category/logiciels/outils-collaboratifs/nextcloud-fr/
L’essayer, c’est l’adopter !
FAQ
Puis-je changer l’URL de Nextcloud après l’installation ?
Oui, mais il faudra mettre à jour la variable NEXTCLOUD_TRUSTED_DOMAINS dans le fichier docker-compose.yml et éventuellement adapter la configuration du reverse proxy.
Comment mettre à jour Nextcloud et OnlyOffice dans ce stack Docker ?
Il suffit de faire un docker compose pull pour récupérer les dernières images, puis docker compose up -d pour relancer les conteneurs. La base de données et les fichiers sont conservés grâce aux volumes.
Que faire si OnlyOffice ne s’affiche pas correctement dans Nextcloud ?
Vérifiez que :
– L’URL de OnlyOffice dans Nextcloud est correcte.
– Le token JWT (si activé) est identique dans Nextcloud et dans OnlyOffice.
– Les certificats SSL sont valides si vous utilisez HTTPS.
Puis-je sauvegarder mes données Nextcloud facilement ?
Oui, en sauvegardant régulièrement :
– Les volumes Docker
– Les fichiers de configuration docker-compose.yml et .env
Puis-je intégrer Nextcloud avec un annuaire professionnel (ADFS / Authentik) ?
Oui, Nextcloud permet l’authentification via LDAP / SAML. Il suffit de configurer le module correspondant et de relier votre annuaire pour une connexion centralisée des utilisateurs.
