Nextcloud est un logiciel libre de site d'hébergement de fichiers et une plateforme de collaboration. Probablement le plus connu.
Il offre énormément de possibilités, néanmoins son administration peut parfois être pénible après une mise à jour si vous n'avez pas l'habitude. Je parle au niveau de prérequis éventuels de sécurité à modifier. D'ailleurs après l'installation de Nextcloud il faut faire des ajustements.
Ils sont détailles dans un autre tutoriel, ici & là. Vous avez toujours la possibilité de venir sur Discord ou Matrix en cas de pépin.
Si vous chercher un simple cloud, c'est à dire stocker et partager des fichiers, orientez vous plutôt vers quelque chose de plus basique tel Filebrowser qui fera l'objet d'un article.
Pour la sécurité de votre serveur, utilisez votre méthode préférée pour avoir un certificat SLL certifié pour votre domaine.
⚡ Caractéristiques:
- Nextcloud Files: offre un accès universel aux fichiers sur site et une plateforme de synchronisation avec de puissantes fonctions de collaboration sur ordinateurs, appareils mobiles et interfaces web
- Nextcloud Talk: permet d’organiser des conférences audio/vidéo privées et des discussions “chat” par le biais d’un navigateur et d’interfaces mobiles avec partage d’écran intégré et intégration SIP
- Nextcloud Groupware: intègre l’agenda, les contacts, la messagerie et d’autres fonctions de productivité pour aider les équipes à accomplir leur travail plus rapidement, plus facilement et selon vos conditions.
- Nextcloud Office: est une puissante suite bureautique en ligne basée sur LibreOffice avec édition collaborative, qui prend en charge tous les principaux formats de documents, feuilles de calcul et présentations et fonctionne avec tous les navigateurs modernes.
Ce n'est qu'un bref aperçu, il existe aussi un App Store qui étend les possibilités.
💾 L'installation
Avec Cosmos Cloud
Cette application peut-être installée en un clic sur votre Cosmos Cloud en cliquant sur l'image ci-dessous:
Avec docker-compose
- Créez votre docker-compose.yml:
sudo nano docker-compose.yml
- Collez ça dedans en prenant soin d'adapter le port et les volumes suivant votre configuration (éditez TZ=Europe/Brussels suivant votre position):
version: '3'
services:
nextcloud:
image: nextcloud
container_name: nextcloud
restart: unless-stopped
networks:
- cloud
depends_on:
- nextclouddb
- redis
ports:
- 8081:80
volumes:
- /srv/appdata/nextcloud/html:/var/www/html
- /srv/appdata/nextcloud/custom_apps:/var/www/html/custom_apps
- /srv/appdata/nextcloud/config:/var/www/html/config
- /srv/appdata/nextcloud/data:/var/www/html/data
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Brussels
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=dbpassword
- MYSQL_HOST=nextclouddb
- REDIS_HOST=redis
- NEXTCLOUD_ADMIN_USER=zarev
- NEXTCLOUD_ADMIN_PASSWORD=zarev
- NEXTCLOUD_TRUSTED_DOMAINS=192.168.1.152
- TRUSTED_PROXIES=192.168.1.152
nextclouddb:
image: mariadb
container_name: nextcloud-db
restart: unless-stopped
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
networks:
- cloud
volumes:
- /srv/appdata/nextcloud/nextclouddb:/var/lib/mysql
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Brussels
- MYSQL_RANDOM_ROOT_PASSWORD=true
- MYSQL_PASSWORD=dbpassword
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
redis:
image: redis:alpine
container_name: redis
volumes:
- /srv/appdata/nextcloud/redis:/data
networks:
- cloud
networks:
cloud:
name: cloud
driver: bridge
Veillez à changer:
- - NEXTCLOUD_ADMIN_USER=zarev => Remplacez zarev par votre nom d'utilisateur.
- - NEXTCLOUD_ADMIN_PASSWORD=zarev => Remplacez zarev par votre mot de passe d'utilisateur.
- - NEXTCLOUD_TRUSTED_DOMAINS=192.168.1.152 => Remplacez l'ip par l'ip locale de votre serveur. Si vous avez un domaine vous devez également l'ajouter séparé par un espace. Comme ceci: =192.168.1.152 nextcloud.mondomaine.com
- - TRUSTED_PROXIES=192.168.1.152 => Remplacez l'ip par l'ip locale de votre serveur. Si vous avez un domaine vous devez également l'ajouter séparé par un espace. Comme ceci: =192.168.1.152 nextcloud.mondomaine.com
- On va déployer l'application (cela peut prendre un certain temps, dans la vidéo ci-dessous ça semble aller vite mais j'ai accéléré certains passages):
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
- Ajoutez une tâche cron:
sudo crontab -e
Collez cette ligne comme sur l'image en dessous:
*/5 * * * * docker exec -u www-data nextcloud php cron.php
Enregistrez le fichier et lancez la tâche cron pour la première fois manuellement:
docker exec -u www-data nextcloud php cron.php
- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi:
http://ip:8081
Il suffira d'entrer les identifiants de votre compte créé dans le docker-compose, libre à vous d'en changer par l'interface de Nextcloud:
⤴️ Comment mettre à jour?
Rendez-vous dans le dossier où se trouve votre compose et faites:
docker compose pull
Et pour terminer:
docker compose up -d
✅ Régler les alertes dans "Vue d'ensemble"
Comme tout utilisateur de Nexcloud habitué à la bête, il saura qu'il y a des alertes à régler dans Vue d'ensemble, qui se trouve dans Paramètres d'administration, suivez ce guide suivant vos erreurs:
📱 Disponibilité
En plus des applications dédiées, vous pouvez utiliser Nextcloud avec votre navigateur préféré.
Clients pour appareils mobiles: