====== 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é]].