Comment installer ownCloud Infinite Scale avec Docker Compose sur Ubuntu
Vous terminez l'installation de Docker Compose, vous exécutez la commande docker compose up -d, et pourtant, impossible d'accéder à ownCloud. C'est le scénario de panne le plus fréquent avec Infinite Scale : les conteneurs existent peut-être, mais des problèmes de DNS, de TLS, de chemins de stockage ou une variable d'environnement requise empêchent l'infrastructure d'être utilisable.
Ce guide utilise l'approche Docker Compose orientée production documentée par ownCloud pour un déploiement sur un seul serveur. La page de documentation ownCloud actuelle est publiée dans la section « Documentation de développement » de la version 9.0, mais elle précise que l'exemple de production téléchargeable utilise la dernière version stable et pointe actuellement vers la branche stable 8.2. Cette distinction est importante : ne copiez pas les étiquettes d'image de développement sur un serveur de production, sauf si vous souhaitez intentionnellement utiliser une version de développement.
La configuration ci-dessous convient à un usage personnel et aux petites organisations souhaitant une instance Infinite Scale derrière un proxy inverse avec HTTPS. Elle suppose l'utilisation d'Ubuntu LTS, de Docker Engine, du plugin Docker Compose, d'un nom de domaine que vous contrôlez et d'un accès administrateur au serveur. L'exemple de production d'ownCloud recommande environ 4 à 6 Go de RAM pour les services activés par défaut et requiert au minimum le nom de domaine ownCloud ; les intégrations bureautiques optionnelles nécessitent leurs propres sous-domaines.
Avant de commencer : résolvez d’abord les questions relatives au réseau et au stockage.
Ne commencez pas par télécharger les fichiers Compose. Identifiez d'abord les éléments les plus difficiles à corriger une fois la pile en cours d'exécution :
DNS : le nom d’hôte que vous avez choisi, tel que ocis.example.com, doit correspondre à l’adresse IP publique du serveur.
Pare-feu et NAT : une installation exposée à Internet nécessite l’accès aux ports TCP 80 et 443 pour le proxy inverse et le flux de certificats. L’accès SSH sur le port TCP 22 est généralement requis pour l’administration.
Stockage persistant : les volumes gérés par Docker sont pratiques, mais les systèmes de production bénéficient généralement de chemins d’accès dédiés à la configuration et aux données utilisateur afin de faciliter les sauvegardes et la planification de la capacité.
Expéditeur d'e-mails : l'exemple documenté d'ownCloud exige SMTP_SENDERque ce paramètre soit défini, même si vous n'avez pas encore configuré de relais SMTP fonctionnel.
L'important n'est pas le numéro de version affiché par ces commandes. Vous confirmez que les deux commandes s'exécutent correctement et que Compose est disponible docker compose. Le guide d'ownCloud recommande d'installer Docker depuis le dépôt officiel de Docker plutôt que d'utiliser les paquets Docker intégrés à Ubuntu, qui peuvent être obsolètes.
Vérifiez que Docker Engine et le plugin Docker Compose sont installés avant de télécharger la pile ownCloud.
2. Téléchargez l'exemple Compose stable officiel
ownCloud propose un exemple complet de déploiement Compose, évitant ainsi aux administrateurs de devoir concevoir une infrastructure de production de A à Z. Au moment de la vérification, la documentation indiquait que la version de production actuelle était basée sur la stable-8.2branche de développement, car la documentation de la version 9.0 était encore en phase de développement.
La procédure officielle télécharge le deployments/examples/ocis_fullrépertoire, transfère l'archive résultante sur le serveur et l'extrait dans un emplacement tel que `/ /opt/compose/ocis/ocis_fulletc/owncloud`. Le nom exact de l'archive peut changer avec la branche stable ; utilisez donc le lien de téléchargement indiqué dans la documentation ownCloud actuelle plutôt que de recopier en dur un nom de fichier provenant d'un ancien tutoriel.
Après l'extraction, accédez au répertoire de déploiement et inspectez son contenu :
cd /opt/compose/ocis/ocis_full
ls -la
Vous devriez voir les fichiers Compose, le répertoire de configuration et .envle fichier fourni par l'exemple. Si vous mettez à jour un exemple extrait, sauvegardez-le au .envpréalable ; ownCloud vous avertit que l'extraction d'un package plus récent peut l'écraser.
3. Configurez soigneusement le fichier .env.
La plupart des problèmes de premier démarrage proviennent du fichier d'environnement. Modifiez-le .envdans le répertoire extrait et parcourez les paramètres dans un ordre précis.
Définir le domaine public
Indiquez OCIS_DOMAINle nom d'hôte qui pointe déjà vers le serveur, par exemple : `example.com` ocis.example.com. Si vous activez Collabora ou ONLYOFFICE, configurez également leurs noms d'hôte documentés. N'utilisez pas un domaine .envdifférent de celui de vos enregistrements DNS.
Préparer TLS
Pour un déploiement accessible depuis Internet, l'exemple officiel utilise Traefik et Let's Encrypt. Indiquez TRAEFIK_ACME_MAILune adresse e-mail valide dont vous avez le contrôle. ownCloud recommande d'utiliser d'abord l'autorité de certification de test Let's Encrypt, de vérifier que l'émission de certificats fonctionne, puis de passer en production. Cela réduit le risque d'atteindre les limites de requêtes de Let's Encrypt lors du dépannage.
Choisissez les emplacements des données et de la configuration
Si vous souhaitez utiliser un stockage monté sur l'hôte, définissez OCIS_CONFIG_DIRles OCIS_DATA_DIRchemins d'accès persistants prévus. Assurez-vous que le système de fichiers sous-jacent dispose d'une capacité suffisante et que votre processus de sauvegarde inclut à la fois la configuration et les données.
Configurer un expéditeur SMTP
Au minimum, définissez les paramètres SMTP_SENDER. Vous pourrez ajouter l'hôte SMTP complet, le port, le nom d'utilisateur, le mot de passe, la méthode d'authentification et les paramètres de sécurité lorsque vous serez prêt à envoyer des notifications.
Le fichier .env central contrôle le domaine, l'adresse e-mail de contact du certificat, l'expéditeur du courrier et les chemins de stockage persistant.
4. Validez la configuration Compose, puis démarrez la pile.
Avant de récupérer et de démarrer les conteneurs, demandez à Compose de générer et de valider la configuration assemblée :
docker compose config
En cas d'échec, corrigez la syntaxe ou les variables manquantes avant de continuer. Cette vérification est beaucoup plus rapide que le diagnostic d'un déploiement partiellement démarré.
Exécutez la commande docker compose config avant le démarrage afin de détecter rapidement les problèmes de syntaxe et de variables.
Une fois la configuration rendue avec succès, lancez le déploiement en mode détaché :
docker compose up -d
Compose téléchargera les images requises et démarrera les services définis par l'exemple. Lors de la première exécution, cette opération peut prendre plus de temps car des images doivent être téléchargées et des certificats peuvent être demandés.
Démarrez la pile ownCloud Infinite Scale configurée avec docker compose up -d.
Si le premier démarrage échoue, procédez au dépannage du plus facile au plus difficile.
Vérifier l'état du conteneur
Commencez par la vue Compose plutôt que de deviner quel service a échoué :
docker compose ps -a --format "table {{.Service}} {{.State}} {{.ID}}"
Un service qui s'arrête de manière répétée est plus utile qu'une erreur de navigateur car il restreint le problème à un seul conteneur.
Consultez les journaux de Traefik pour détecter les problèmes de certificat.
Le guide d'ownCloud recommande de vérifier Traefik en premier lieu en cas de problème avec HTTPS. Les causes fréquentes incluent une adresse e-mail de contact ACME invalide, des ports 80/443 fermés ou un DNS renvoyant NXDOMAIN ou pointant vers une adresse IP incorrecte. Après avoir résolu un problème ACME, suivez les instructions officielles pour supprimer uniquement le volume contenant les données de test ayant échoué. Ne supprimez pas tous les volumes.
Consultez les journaux du service ownCloud
Trouvez l'ID du conteneur avec docker compose ps, puis examinez ses journaux :
docker logs -f <container_id>
Le processus d'initialisation peut créer la configuration initiale lors de la première exécution. ownCloud documente le modèle de commande ocis init || true; ocis serverpour les déploiements Compose ; l'initialisation est donc ignorée lorsqu'une configuration existe déjà.
N'utilisez pas la commande docker compose down -v à la légère.
Pour arrêter le déploiement, utilisez :
docker compose down --remove-orphans
N'ajoutez pas -vde volumes, sauf si vous souhaitez les supprimer intentionnellement. ownCloud avertit explicitement que cette opération peut effacer les données de déploiement. Si un volume de certificat jetable doit être supprimé lors du dépannage TLS, supprimez-le de manière sélective.
Comment vérifier que l'installation est bien terminée
Un docker compose up -dseul contrôle est considéré comme réussi. Vérifiez le résultat à quatre niveaux :
DNS : le nom d’hôte public est résolu en l’adresse du serveur correcte.
TLS : le navigateur accède au site via HTTPS sans avertissement de certificat. Si vous avez délibérément utilisé l’autorité de certification de test Let’s Encrypt, vérifiez d’abord le certificat de test, puis passez à la production comme indiqué dans la documentation.
Conteneurs :docker compose ps -a affiche les services attendus en cours d’exécution plutôt que ceux qui redémarrent ou qui sont arrêtés.
Application : vous pouvez ouvrir l’URL ownCloud configurée, vous connecter avec les identifiants d’administrateur initiaux que vous avez définis ou récupérés, créer un dossier et télécharger un petit fichier de test.
Lors d'un nouveau déploiement, la documentation indique que le nom d'utilisateur administrateur par défaut est « admin » admin, le mot de passe étant soit défini manuellement lors de la configuration, soit obtenu via les procédures de démarrage/réinitialisation documentées. Modifiez rapidement le mot de passe initial et ne laissez jamais une installation en production avec des identifiants par défaut connus.
Une fois le service de fichiers de base opérationnel, ajoutez des composants de collaboration optionnels ou des intégrations plus avancées. Le faire après la validation du déploiement principal simplifie considérablement le dépannage, car une panne de suite bureautique, de fournisseur d'identité externe ou de service antivirus n'est plus confondue avec des problèmes DNS et TLS basiques.
Notes de maintenance pour un déploiement stable
Avant toute mise à niveau, sauvegardez vos données et votre configuration et consultez les notes de migration spécifiques à votre version. La documentation ownCloud fait la distinction entre les mises à jour d'images de routine et les mises à niveau pouvant nécessiter des modifications de configuration. Une procédure de maintenance courante consiste à arrêter la pile, à récupérer les images, puis à redémarrer en effectuant le nettoyage des fichiers orphelins. Toutefois, il est recommandé de consulter le guide de mise à niveau spécifique à votre version avant de changer de version.
Pour un serveur de production, surveillez également l'utilisation du disque. Les volumes gérés par Docker sont faciles à mettre en place, mais la croissance du stockage peut être surprenante lorsque le système d'exploitation et les fichiers utilisateur partagent le même système de fichiers. Si vous prévoyez un volume important de données, utilisez des chemins de stockage dédiés dès le départ ou migrez-les en suivant la procédure de gestion des volumes documentée et en attribuant correctement les droits d'accès à l'utilisateur du conteneur.