Comment auto-héberger un cloud collaboratif avec Nextcloud et Docker

monticello/Shutterstock.com

Nextcloud est une plate-forme de partage de fichiers et de collaboration open source pour rivaliser avec des services tels que Google Workplace et Microsoft 365. Nextcloud vous permet d'auto-héberger votre propre cloud collaboratif, vous n'avez donc pas besoin de vous enchaîner à un fournisseur public.

Une installation Nextcloud régulière peut être longue à mettre en place. Nextcloud est construit sur la pile LAMP classique, vous aurez donc besoin d'Apache, PHP et MySQL, chacun avec ses propres prérequis. Cela peut rendre difficile la maintenance de l'installation ou son utilisation avec d'autres charges de travail sur votre serveur.

L'exécution de Nextcloud en tant que conteneur Docker simplifie la procédure d'installation et vous permet d'isoler l'installation de vos autres applications. Nextcloud a une image Docker officielle, sur laquelle nous allons nous concentrer dans cet article. Le projet communautaire linuxserver fournit également sa propre image avec quelques valeurs par défaut préconfigurées.

Planification de l'installation

L'image Nextcloud Docker est livrée avec un configuration du serveur Web. Vous obtiendrez Apache, PHP et une installation Nextcloud préconfigurée. Une base de données SQLite est utilisée par défaut.

Alors qu'un docker de base run -d -p 80:80 nextcloud affichera un serveur prêt à l'emploi, cela n'inclut pas la provision pour le stockage persistant. L'aspect le plus critique du déploiement Dockerized Nextcloud est une configuration de volume correcte afin que vous ne perdiez pas vos données.

Publicité

En outre, la base de données SQLite standard ne convient qu'à une utilisation à petite échelle . Si vous comptez plus d'une poignée d'utilisateurs, le provisionnement d'une base de données MySQL ou PostgreSQL améliorera les performances.

Créons maintenant une installation Dockerized Nextcloud qui s'exécute sur MySQL et utilise des volumes Docker pour conserver vos données en toute sécurité. Si vous préférez utiliser PostgreSQL, remplacez les références à MySQL ci-dessous par leurs équivalents PostgreSQL.

Mise en place

Vous pouvez déployer Nextcloud en utilisant basic Commandes Docker CLI. Cela devient rapidement fastidieux, pour ne pas dire difficile à retenir à l'avenir. Au lieu de cela, l'utilisation de Docker Compose vous permet de définir votre configuration en tant que code.

Assurez-vous que Docker et Docker Compose sont installés sur votre système. Créez un nouveau répertoire pour contenir vos fichiers de configuration Nextcloud. Ajoutez un fichier docker-compose.yml et collez le contenu suivant :

version : “3” services : nextcloud : image : nextcloud : dernier redémarrage : à moins d'être arrêté ports : – 80:80 environnement : – MYSQL_HOST=mysql – MYSQL_DATABASE=nextcloud – MYSQL_USER=nextcloud – MYSQL_PASSWORD=nextcloud volumes : – nextcloud :/var/www/html mysql : image : mysql:8.0 redémarrage : environnement sauf-arrêté : – MYSQL_DATABASE=nextcloud – MYSQL_USER=nextcloud – MYSQL_PASSWORD=nextcloud – MYSQL_ROOT_PASSWORD=nextcloud volumes : – mysql:/var/lib/mysql volumes : mysql : nextcloud :

Ceci Le fichier de composition encapsule toute la configuration pour une installation sécurisée de Nextcloud. Il provisionne une base de données MySQL et configure Nextcloud pour s'y connecter. Vous devez définir MYSQL_PASSWORD et MYSQL_ROOT_PASSWORD pour sécuriser les valeurs personnalisées.

L'intégralité du répertoire /var/www/html est montée en tant que volume Docker. Nextcloud stocke sa source, ses paramètres et ses données utilisateur ici. En transformant tout le répertoire en un volume, l'auto-mise à jour de Nextcloud fonctionnera correctement. Sinon, vous devrez extraire une nouvelle image de conteneur à mettre à jour, car l'auto-mise à jour ne serait pas en mesure de remplacer de manière persistante les fichiers Nextcloud.

Publicité

Le serveur Nextcloud se liera au port 80 de votre machine par défaut. Vous pouvez utiliser un autre port, tel que 8080, en mettant à jour la configuration des ports :

– 8080:80

Maintenant, vous êtes prêt à déployer Nextcloud avec Docker Compose :

docker-compose up -d

Attendez que Compose extrait les images et démarre vos conteneurs. Vous pourrez alors accéder à Nextcloud en visitant localhost dans votre navigateur.

First Run

La première fois que vous visitez Nextcloud, vous& #8217 ; l'assistant de configuration par défaut s'affichera. Saisissez un nom d'utilisateur et un mot de passe pour votre premier compte utilisateur. Si vous souhaitez installer certaines applications principales, notamment le calendrier, les contacts et les appels Nextcloud Talk, laissez l'option “Installer les applications recommandées” case cochée.

Cliquez sur “Terminer la configuration” pour terminer le processus d'installation. L'installation des applications peut prendre quelques instants. Ne fermez pas l'onglet de votre navigateur tant que la configuration n'est pas terminée. Une fois que Nextcloud est prêt, vous verrez un ensemble rapide de diapositives de démarrage. Vous serez alors redirigé vers le tableau de bord Nextcloud.

Le tableau de bord vous offre une vue centralisée de vos actifs cloud. Des applications individuelles peuvent afficher du contenu sur le tableau de bord. Vous pouvez accéder à toutes vos applications à l'aide des icônes dans le coin supérieur gauche.

Pour installer des applications supplémentaires, cliquez sur l'icône de votre profil utilisateur dans le coin supérieur droit. Choisissez “Applications” du menu. Cliquez sur l'une des catégories dans la barre latérale gauche pour voir toutes les applications disponibles. Appuyez sur “Télécharger et activez” sous la carte de n'importe quelle application pour l'ajouter à votre instance Nextcloud.

Publicité

Vous trouverez les paramètres d'administration Nextcloud en cliquant sur l'icône de votre profil utilisateur et en choisissant “Paramètres” dans le menu. Cliquez sur les liens sous “Administrateur” dans la barre latérale gauche pour trouver des installations de gestion. Votre version Nextcloud et les mises à jour disponibles s'affichent dans la section “Aperçu” page.

Certaines tâches d'administration Nextcloud sont appelées via le binaire de ligne de commande occ. Il s'agit d'un script PHP dans la source Nextcloud. Vous pouvez interagir avec OCC en utilisant docker-compose exec sans vous attacher complètement au conteneur :

docker-compose exec –user www-data php occ occ-command-here

Il est important d'inclure le –user flag afin qu'occ soit exécuté avec le même utilisateur que l'interface Web Nextcloud. Sinon, vous pourriez rencontrer des erreurs de propriété et d'autorisations du système de fichiers.

Automatisation de la configuration

De nombreux paramètres d'administration de Nextcloud peuvent être prédéfinis lorsque vous démarrez le conteneur. Au-delà de la configuration de la base de données, l'image prend en charge les variables d'environnement pour configurer un système de messagerie, se connecter au stockage d'objets distant et créer automatiquement un utilisateur administrateur initial. Lorsque vous fournissez ces valeurs, vous n'avez pas besoin de les fournir à l'assistant de configuration de première exécution.

Comme alternative aux variables d'environnement, vous pouvez utiliser des secrets Docker pour définir des valeurs d'une manière plus soucieuse de la sécurité. Ajoutez vos valeurs aux fichiers et mappez-les dans le conteneur à l'aide de la clé secrète dans Compose. Ensuite, mettez à jour la section environnement pour lire les fichiers secrets injectés.

services : nextcloud : environnement : – NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_password secrets : nextcloud_admin_password : fichier : ./nextcloud_admin_password

Lorsque vous utilisez des secrets, chaque variable d'environnement Nextcloud doit avoir _FILE ajouté à son nom. Cela indique à Nextcloud d'obtenir la valeur du chemin du fichier référencé.

Sécurité

L'image Docker standard ne configure pas SSL par défaut. Il est recommandé de déployer derrière un proxy inverse de terminaison SSL tel qu'Apache, Nginx ou Traefik. Cela devrait ensuite transmettre les demandes à votre conteneur Nextcloud.

Publicité

L'image Docker fonctionne automatiquement avec les demandes envoyées par proxy à partir des espaces d'adressage 10.0.0.8/72, 172.16.0.0/12 et 192.168.0.0/16. Si votre serveur proxy a une adresse IP différente, vous devez l'ajouter à la variable d'environnement TRUSTED_PROXIES lors du déploiement de Nextcloud. Vous devrez également définir APACHE_DISABLE_REWRITE_IP=1.

Ces étapes garantissent que Nextcloud gérera correctement les réécritures. Les instructions d'utilisation de l'image Docker incluent plus de conseils sur l'utilisation de Nextcloud avec un proxy. Vous pouvez vérifier si votre installation est correctement installée à l'aide de la page Présentation du centre d'administration.

Gestion des mises à jour Nextcloud

Lorsque vous avez déployé Nextcloud avec le fichier Compose ci-dessus, vous devriez pouvoir utiliser l'auto-mise à jour dans le centre d'administration pour mettre à jour Nextcloud. Gardez à l'esprit que cela ne vous procurera que la dernière source Nextcloud & #8212;le conteneur sous-jacent restera le même.

C'est une bonne idée d'extraire périodiquement une nouvelle image Docker. Cela vous permet d'éviter d'exécuter des packages de système d'exploitation obsolètes, ce qui pourrait constituer un risque pour la sécurité.

Si vous utilisez Docker Compose, vous pouvez réexécuter docker-compose avec l'indicateur –pull. Compose extraira automatiquement la nouvelle image et remplacera votre conteneur actuel si nécessaire.

docker-compose up -d –pull

Conclusion

L'exécution d'un serveur Nextcloud vous donne contrôle total sur vos fichiers. Au-delà du simple partage de fichiers, Nextcloud fournit également un écosystème complet d'applications de productivité. Vous trouverez des systèmes de messagerie, de calendrier, de notes et de tâches ainsi qu'une solution complète d'appels vocaux et vidéo.

Publicité

Le déploiement de Nextcloud avec Docker simplifie la procédure de configuration et évite de polluer votre hôte avec une pile LAMP en métal nu. Une fois Nextcloud installé, vous pourrez vous connecter à partir de n'importe quel client de synchronisation de bureau et mobile pris en charge.

Nous n'avons couvert que les principes fondamentaux de la mise en service d'un serveur Nextcloud. Si vous souhaitez en savoir plus sur l'installation d'applications et la maintenance de votre installation, le manuel d'administration Nextcloud fournit des instructions exhaustives.


Posted

in

by

Tags: