====== Installer Nextcloud et Collabora sur un NAS Synology DSM7.2+ ======
Les grandes étapes :
- Installer et configurer le système de base Synology DSM
- Installer l'application "Container Manager" (gestion des différents containers)
- Installer l'application DNS Server
- Installer l'application Web Station
L'ensemble des applicatifs vont être exécutés dans le Container Manager sous forme de container.
Dans Container Manager :
- le volet "Projets" désigne un ensemble de container qui communiquent entre eux
- le volet "Conteneurs", comme son nom l'indique, désigne les conteneurs installés par les projets
- le volet "Images" affiche les images des conteneurs "vierges" (les versions)
- le volet "Registre" liste les images disponibles dans les dépôts paramétrés (par défaut Docker Hub)
- le volet "Réseau" contient les différents réseaux virtuels, ils seront gérés automatiquement par les projets
- le volet "Journal" permet de consulter les logs, si nécessaire.
A noter aussi :
- les données des volumes sont stockés dans /volume1/\@docker/volumes
Le projet "Nextcloud" est le premier des deux projets à créer. Il contiendra :
- Un container Nextcloud (pour l'applicatif)
- Un container Mariadb (pour la base de données)
- Un container Redis (pour améliorer les performances du cache Nextcloud)
Le second projet "Collabora" :
- dispose de son propre projet car Nextcloud ne communique avec lui que par son URL externe.
===== Configurer le Synology de base =====
Placer les disques conformément à vos habitudes. Pour deux disques, configurez un RAID1 par exemple.
===== Configurer les DNS de votre registrar =====
Faire pointer cloud.mondomaine.fr vers l'IP fixe de votre connexion Internet.
===== Configurer les DNS de votre NAS Synology =====
Pour que votre serveur Synology soit accessible à la fois de l'intérieur de votre réseau, comme de l'extérieur, vous devez installer et configurer un serveur DNS sur votre Synology.
Ceci-ci devra être attribué comme serveur DNS principal par le DHCP de votre box.
Les grandes étapes :
- Volet "Zones" : Créez une zone mondomaine.fr
- volet "Résolution" : activez les services de résolution et activez les redirecteurs en mettant l'IP de votre box dans le champ "Redirecteur 1"
===== Configurer la box =====
NAT du port 80 et 443 vers votre Synology
===== Obtenir des certificats =====
Panneau de configuration > Sécurité > Certificats
Après NAT, demandez à votre NAS de faire des requêtes pour le domaine cloud.mondomaine.fr et office.mondomaine.fr
Une fois le certificats obtenus, associez les à des services. Il faut pour cela que les services aient été créés, ils sont créés par le projet "Container Manager"
Pour les associer : Panneau de configuration > Sécurité > Certificats > Clic sur le certificat puis "Paramètres"
===== Le projet Container Manager de Nextcloud =====
volumes:
nextcloud:
custom_apps:
config:
data:
#themes:
db:
services:
mariadb:
image: mariadb:latest
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=votremotdepasserootmariadb
- MYSQL_PASSWORD=votremotdepassemariadb
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
nextcloud:
image: nextcloud:27.1.2
restart: always
ports:
- 8080:80
links:
- mariadb
- redis
volumes:
- nextcloud:/var/www/html
- custom_apps:/var/www/html/custom_apps
- config:/var/www/html/config
- data:/var/www/html/data
#- themes:/var/www/html/themes/
environment:
- MYSQL_PASSWORD=motdepassmariadb
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=mariadb
- REDIS_HOST_PASSWORD=votremotdepasseredis
redis:
image: redis
restart: always
command: redis-server --requirepass votremotdepasseredis
À noter dans ce projet :
- cette syntaxe est de type "docker-compose"
- on "mappe"/"monte" des volumes pour la base de données, ainsi que pour les différents stockages persistants de Nextcloud:
- /var/www/html pour le code nextcloud
- /var/www/html/custom_apps pour les applications téléchargées en plus de celle par défaut
- /var/www/html/config pour le fichier de configuration "config.php"
- /var/www/html/data pour les données
- :!: la version de Nextcloud a été figée à 27.1.2 pour faciliter la migration depuis cette même version d'un ancien NAS
===== Un exemple de projet Collabora =====
#name: 'code'
services:
collabora:
#image: collabora/code:24.04.8.2.1
image: collabora/code:latest
container_name: collabora
environment:
- aliasgroup1=192\\.168\\.1\\.254,https://.*fr # Listez ici les IP et nom de domaines depuis lesquels vous ouvrez votre collabora
# - aliasgroup2=https://cloud.otherdomain.tld:443,https://cloud\\.otherdomain\\.tld:443 # enable for aliasgroup2
# - aliasgroup3=https://cloud.somedomain.tld:443,https://cloud\\.somedomain\\.tld:443 # enable for aliasgroup3
- username=artifaille
- password=motdepassecollabora # Replace with a strong password
- dictionaries=en_GB en_US de_DE fr_FR
#- extra_params=--o:ssl.enable=true --o:ssl.termination=true --o:logging.level=warning --o:security.seccomp=false --o:security.capabilities=false
- extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.level=warning --o:security.seccomp=false --o:security.capabilities=false
- DONT_GEN_SSL_CERT
ports:
- "9980:9980"
restart: always
===== Plan de sauvegarde =====
:FIXME:
====== Autre documents relatifs au Synology ======
[[synology:renew_cert|Renouveler un certificat Lets Encrypt]]
Installer des [[https://korben.info/synocommunity-transformez-votre-nas-synology-station.html|paquets maintenus par la communauté]].