Cette page décrit notre gestion des instances Nextcloud/Onlyoffice sur `mutu2.girofle.cloud` et `mutu3.girofle.cloud`. # Création d'une instance **Pré-requis**: * avoir un accès SSH à chif.fr * avoir un accès à Gandi et avoir généré une clef d'API **Étapes** 1. Depuis votre ordinateur personnel, lancer le script `python3 dns-manager.py emailconfig --setup --server mutu2` * ex dans le cas d'un domaine externe: `python3 dns-manager.py emailconfig --setup nuage.coucou.net nc.coucou.girofle.cloud --server mutu2` * ex dans le cas d'un domaine interne: `python3 dns-manager.py emailconfig --setup salut.girofle.cloud nc.salut.girofle.cloud --server mutu2` 2. Depuis le serveur, utiliser le script `create_instance.sh ` 3. Depuis votre ordinateur personnel, générer des mots de passe pour la db et l'admin (attention aux caractères spéciaux). Bien noter les mots de passe dans le password store * ex: `pass generate -n -c girofle/Nextcloud/salut.girofle.cloud@db` 4. (optionnel) Se connecter à l'interface web et configurer SMTP 5. Se connecter sur chif.fr, et ajouter le nom de (sous)-domaine à la config nginx d'Onlyoffice, pour autoriser les Headers. 6. Créer une clef d'API depuis l'interface d'admin Nextcloud (onglet Securité) et mettre la clef dans le fichier `.the-watcher-prometheus.rc` sur chif.fr # Migration d'une instance > Il n'est pas possible de migrer une instance vers un sous-domaine de chif.fr, Yunohost nous en empêche, et c'est pour moi impossible à résoudre. :s Utiliser le script `migrate_instance.sh`. Voici l'exemple d'une procédure (avec indication de durée, pour une migration qui débute à 0:00 et \~6GB de données sur une connexion fibre) : 1. 0h00 - Création de la redirection DNS (elle doit avoir été propagée au moment de lancer `./migrate_instance.sh`) 2. 0h00 - Vérification que l'instance n'a pas déjà été créée sur mutu. Éventuellement supprimer les tables de base de données (on peut utiliser `archive_instance.sh` au besoin, mais c'est un peu overkill et ça ne prendra pas 5 minutes) 3. 0h05 - Passer le Nextcloud de l'instance source en mode maintenance 4. 0h07 - Compresser le dossier Nextcloud (lancer la compression) 5. 0h10 - récupération de la base de données (exporter dans PhpMyAdmin) 6. 0h12 - transférer l'export .sql sur mutu 7. 0h15 - début du transfert de l'archive vers machine locale (5.7GB) 8. 0h33 - fin du transfert & envoi vers mutu 9. 0h34 -comparaison des checksums (avec `sha256sum`) - GANDI : 9ffd9b1c88caa3043aaa25fbf9914ca67a36ba7f884ea41ce9d01bf1eeadbb8a - local : 9ffd9b1c88caa3043aaa25fbf9914ca67a36ba7f884ea41ce9d01bf1eeadbb8a - mutu : 9ffd9b1c88caa3043aaa25fbf9914ca67a36ba7f884ea41ce9d01bf1eeadbb8a 9. 0h41 - fin du transfert vers mutu 10. 0h41 - comparaison des checksums 11. 0h44 - désarchivage de l'archive 12. 0h49 - lancement de ./migrate_instance.sh 13. 0h59 - remplacement des valeurs dans config/config.php 14. 1h00 - test de NC + Onlyoffice 15. 1h:05 - mise en place de la redirection (en cas de changement de nom de domaine) # Backup d'une instance Utiliser le script `archive_instance.sh` (pas finalisé) ## Restauration d'une instance Cf la page dédiée: https://framagit.org/CloudGirofle/girofle.cloud/-/wikis/Nextcloud-Restore # Suppression d'une instance (sans archive) 1. Supprimer le dossier correspondant dans `/var/www/` 1. Supprimer la config nginx (`sudo unlink /etc/nginx/sites-enabled/ && sudo service nginx reload`) 1. supprimer le certificat (`sudo certbot delete --cert-name `) 1. supprimer la (les) redirections DNS 1. supprimer/commenter l'entrée dans .the-watcher-prometheus.rc sur chif.fr 1. Attendre un peu et supprimer la base de données # Suppression d'une instance (avec archive) Utiliser le script `archive_instance.sh` (pas finalisé) Supprimer ou commenter l'instance dans le fichier `/root/.the-watcher-prometheus.rc` sur chif.fr # Ajout du plugin pdf-annotator Nous utilisons le plugin suivant : https://gitlab.com/nextcloud-other/nextcloud-annotate/ **/!\\**: Important, l'ajout de text n'est pour l'instant pas géré ([issue](https://gitlab.com/nextcloud-other/nextcloud-annotate/-/issues/4)).