Créer, organiser, sauvegarder et partager vos documents avec Nextcloud et collabora sur Docker !
Premièrement, Bonjour à tous et bienvenue sur mon blog Technologie Geek ! Voyons ensemble comment installer Nextcloud et Collabora sur Docker !
Qu’est ce que nextcloud ?
Pour commencer, Nextcloud est une plateforme de stockage de fichiers en cloud auto-hébergée, open source, où vous avez le contrôle total de vos données. Que vous souhaitiez accéder à vos documents, partager des photos avec des amis, ou créer une plateforme de collaboration pour votre équipe, Nextcloud distribue toutes ces fonctionnalités tout en respectant la confidentialité de vos données.
En déployant Nextcloud avec Docker, vous pouvez profiter d’une installation simplifiée, d’une mise à l’échelle facile et d’une gestion sans problème de votre instance Nextcloud. Docker s’occupe de tous les aspects techniques, vous permettant de vous concentrer sur l’utilisation de Nextcloud. Vous pouvez rapidement déployer de nouvelles instances, faire des mises à jour sans interrompre le service et même migrer votre installation Nextcloud vers un nouveau serveur si nécessaire.
Collabora c’est quoi ?
Collabora Online est une suite bureautique en ligne puissante, sécurisée et open source, permettant l’édition collaborative de documents, feuilles de calcul et présentations directement depuis un navigateur web. Ensuite, elle est conçue pour s’installer facilement avec Nextcloud sur Docker.
Que vous faut-il ?
En premier lieu, une installation de Debian. Ensuite, une installation de Docker ainsi que de Portainer.
Pour ce tutoriel je vais utiliser l’image Docker officiel de Nextcloud et la compiler avec la configuration d’apache en mode SSL. Plusieurs raisons à cela :
- Premièrement, sans certificat SSL l’image et prévu pour être utilisée soit en local, soit à distance, mais pas les deux en même temps avec une configuration optimale. Nextcloud étant installé sur mon serveur, je veux y avoir accès de partout !
- L’application mobile fonctionne uniquement en « https ».
- Par ailleurs, les connexions chiffrées sont bonnes pour la sécurité !
Installation de Nextcloud sur Docker :
Création d’un certificat auto-signé et compilation de l’image Nextcloud :
Pour commencer, vous devez créer un certificat SSL auto-signé. Ensuite, compiler une nouvelle image de Nextcloud sur Docker en intégrant ce certificat dans la configuration d’apache en mode SSL. Cela vous permettra d’avoir un accès en local ainsi qu’à distance derrière une reverse proxy.
Premièrement, connectez-vous en SSH sur votre serveur puis rendez-vous dans le dossier SSL de Debian (ou de votre distribution). Ensuite, passer les commandes ci-dessous et répondez aux questions posées pour la création du certificat. Pour « Common Name », il faut mettre l’adresse IP de votre serveur.
cd / && cd etc/ssl
mkdir nextcloud
cd nextcloud
openssl req -x509 -nodes -days 10000 -newkey rsa:2048 -keyout nextcloud.key -out nextcloud.pem
Ça y est, votre certificat est généré dans le dossier « etc/ssl/nextcloud ». Maintenant, pour continuer l’installation de Nextcloud sur Docker vous devez créer un premier fichier « dockerfile », puis un second nommé « setssl.sh » dans un répertoire que je vais nommer « build » dans le dossier « opt/docker » (vous pouvez créer vos fichiers dans n’importe quel répertoire, cela n’a pas d’importance).
cd / && cd opt/docker
mkdir build
cd build
nano dockerfile
FROM nextcloud:apache
COPY setssl.sh /usr/local/bin/
RUN /usr/local/bin/setssl.sh votre-adresse-mail ip-de-votre-serveur #doivent correspondre aux informations de votre certificat
Ensuite, le fichier « setssl.sh » :
nano setssl.sh
# setssl.sh
# USAGE: setssl.sh <email> <domain>
echo 'SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
SSLCompression off
SSLSessionTickets Off' > /etc/apache2/conf-available/ssl-params.conf
echo "<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin $2
ServerName $1
" > /etc/apache2/sites-available/default-ssl.conf
echo '
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/nextcloud/nextcloud.pem
SSLCertificateKeyFile /etc/ssl/nextcloud/nextcloud.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>' >> /etc/apache2/sites-available/default-ssl.conf
a2enmod ssl >/dev/null
a2ensite default-ssl >/dev/null
a2enconf ssl-params >/dev/null
Pour terminer, il vous faut rendre le script exécutable et construire l’image d’installation de Nextcloud sur docker.
chmod +x setssl.sh && docker build --tag nextcloud_ssl .
Déploiement de Nextcloud et Collabora :
Pour commencer, rendez-vous sur Portainer et sélectionner votre environnement local. Dans l’onglet « Images », vous trouverez maintenant « nextcloud_ssl ». Ensuite, aller dans « Stacks » puis cliquer sur « Add stack » en haut à droite. Maintenant, dans « Nane » taper le nom de votre stack, pour ma part se sera « nextcloud_ssl », coller le code ci-dessous en ajustant « ip-de-votre-serveur-docker » et les paramètres en rouge si nécessaire, puis cliquer sur « deploy the stack » :
version: '3.8'
services:
nextcloud:
image: nextcloud_ssl:latest
container_name: nextcloud
restart: unless-stopped
networks:
- cloud
depends_on:
- nextclouddb
- redis
ports:
- 4443:443
volumes:
- /opt/docker/nextcloud_ssl/html:/var/www/html
- /opt/docker/nextcloud_ssl/custom_apps:/var/www/html/custom_apps
- /opt/docker/nextcloud_ssl/config:/var/www/html/config
- /opt/docker/nextcloud_ssl/data:/var/www/html/data
- /etc/ssl/nextcloud:/etc/ssl/nextcloud
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=dbpassword #Le mot de passe de votre base de données
- MYSQL_HOST=nextclouddb
- REDIS_HOST=redis
nextclouddb:
image: mariadb:11.4
container_name: nextcloud-db
restart: unless-stopped
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
networks:
- cloud
volumes:
- /opt/docker/nextcloud_ssl/nextclouddb:/var/lib/mysql
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- MYSQL_RANDOM_ROOT_PASSWORD=true
- MYSQL_PASSWORD=dbpassword #Doit correspondre au mot de passe du conteneur Nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
collabora:
image: collabora/code
container_name: collabora
restart: unless-stopped
networks:
- cloud
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- password=password
- username=nextcloud
- domain=ip-de-votre-serveur-docker:4443
- extra_params=--o:ssl.enable=true
ports:
- 9980:9980
redis:
image: redis:latest
container_name: redis
restart: unless-stopped
volumes:
- /opt/docker/nextcloud_ssl/redis:/data
networks:
- cloud
networks:
cloud:
name: cloud
driver: bridge
Explication du code pour installer Nextcloud et Collabora sur docker :
Comme vous pouvez le voir, nous allons déployer quatre conteneurs :
- Premièrement, un conteneur « Nextcloud ».
- Deuxièmement, un conteneur « Mariadb » pour la base de données.
- Ensuite, « Collabora Online » vous permettant la création et la modification de fichiers Excel, Word…
Pour finir, un conteneur « redis » :
Redis est un système de stockage en mémoire clé-valeur haute performance. Il est souvent utilisé comme base de données, cache ou courtier de messages. Lorsqu’il est intégré à Nextcloud sur Docker, Redis permet d’améliorer considérablement les performances globales de la plateforme en accélérant la gestion des fichiers temporaires, en optimisant les sessions utilisateur et en réduisant les accès aux bases de données.
Maintenant, rendez-vous à l’adresse « https://ip-de-votre-serveur:4443 », pour ma part « https://192.168.1.226:4443 » et entrer vos informations pour la création de votre compte administrateur.
Ensuite, pour continuer l’installation de Nextcloud sur Docker, passez les deux pages suivantes. Arrivé sur la page d’accueil, cliquer sur l’icône en haut à droite et sélectionner « Paramètres d’administration ». Comme vous pouvez le voir, il y a quelques alertes à corriger. Selon votre version de Nextcloud, différentes erreurs peuvent apparaitre, utiliser l’aide elle est très bien faite.
Journalisation :
Commençons par les logs, pour cela aller dans « Paramètres d’administration » puis « Journalisation ». Pour ma part j’affiche uniquement les erreurs fatales. Ensuite, vous pouvez, si vous le souhaiter, supprimer le fichier « nextcloud.log » dans le dossier « opt/docker/nextcloud_ssl/data » avec la commande « rm nextcloud.log ». Le fichier sera de nouveau créé au redémarrage de Nextcloud.
Indices de base de données :
Pour continuer l’installation et le paramétrage de Nextcloud et Collabora Online sur Docker, vous devez mettre à jour les indices de la base de données avec le code suivant :
docker exec -ti --user www-data nextcloud /var/www/html/occ db:add-missing-indices
Fichier config.php :
Ensuite, vous devez éditer le fichier « config.php », ajouter les paramètres suivants à la fin et redémarrer votre instance de Nextcloud sur Docker :
cd / && cd opt/docker/nextcloud_ssl/config && nano config.php
'maintenance_window_start' => 1,
'default_phone_region' => 'FR',
Paramètres d’envoi des mails :
Premièrement, rendez-vous dans « Paramètres d’administration » puis « Informations personnelles » et renseigner « E-mail » ainsi que « Paramètres régionaux ». Deuxièmement, aller dans « Paramètres de base » et remplissez les informations nécessaires dans « Serveur de messagerie ». Enfin, cocher la case « Cron », cela vous servira pour la suite.
Taches cron :
Pour son bon fonctionnement, Nextcloud doit exécuter des tâches en arrière plan toutes les cinq minutes. Il faut donc ajouter une tache cron sur votre hôte. Premièrement, passer la commande suivante :
crontab -e
Ensuite, coller code ci-dessous :
*/5 * * * * docker exec -u www-data nextcloud php /var/www/html/cron.php
Votre instance de Nextcloud sur Docker est maintenant opérationnelle. De retour dans « Paramètres d’administration » puis « Vue d’ensemble » vous ne devriez plus avoir d’avertissements ! Sur la photo ci-dessous vous verrez qu’une nouvelle version de Nextcloud est disponible, mais l’image docker officiel n’est pas encore publié.
Paramétrage de Collabora Online sur Nextcloud et Docker :
Pour débuter, rendez-vous dans « Applications » puis dans « Vos applications » et rechercher « Nextcloud Office ». Ensuite, lancer le téléchargement et l’installation.
D’autre part, vous devez vous connecter sur le serveur Collabora et accepter le certificat. Pour cela rendez-vous à l’adresse « https://ip-de-votre-serveur:9980 », pour ma part « https://192.168.1.226:9980 ».
Pour finir d’installer Collabora et Nextcloud sur Docker, de retour dans « Paramètres d’administration » puis « Nextcloud Office » cocher les cases suivantes :
- Premièrement, « Utiliser votre propre serveur ».
- Deuxièmement, « Désactiver la vérification du certificat ».
- Troisièmement, « Utiliser par défaut Office Open XML ».
Enfin, dans « URL (et port) du serveur Collabora Online » entrer l’adresse « https://ip-de-votre serveur:9980 » pour ma part « https://192.168.1.226:9980 ». Vous pouvez maintenant créer ou modifier des documents Office.
Après paramétrage d’une reverse proxy et les tests exécuté par le site « https://scan.nextcloud.com ».
-
Comment installer Nextcloud sur Docker -
Installer un serveur Minecraft sur Debian -
Comment déployer Emby sur Docker -
Comment installer Plex sur Docker -
Comment installer WordPress sur Debian -
Une intelligence artificielle local sur Docker
Laisser un commentaire