new release !
This commit is contained in:
1 parent
7a64664d9f
commit
df4e1824c5
3 files changed
+145
-63
No files matched your search
@@ -1,43 +1,130 @@
|
||||
# cloud.netig.net
|
||||
|
||||
## Cron
|
||||
Déploiement Docker Compose de Nextcloud avec MariaDB et Redis, derrière Caddy.
|
||||
Collabora est déployé séparément sous `collabora.netig.net` : l'intégration passe
|
||||
par les adresses HTTPS publiques, sans réseau Docker partagé entre les deux projets.
|
||||
|
||||
Add this line into the host crontab with `crontab -e`.
|
||||
```
|
||||
# Nextcloud
|
||||
*/5 * * * * /usr/bin/docker exec -u www-data cloudnetignet_nextcloud php /var/www/html/cron.php
|
||||
## Organisation
|
||||
|
||||
- **Nextcloud** : accessible uniquement via `127.0.0.1:9002` sur l'hôte ; Caddy gère HTTPS.
|
||||
- **MariaDB / Redis** : réseau privé `cloudnetignet_default`, sans port publié.
|
||||
- **Nextcloud** : connecté également au réseau externe `mailserver` pour préserver
|
||||
l'accès éventuel aux services de messagerie déjà utilisés.
|
||||
- **Données** : répertoires `./volumes/{nextcloud,mysql,redis}` (ne pas supprimer).
|
||||
- **Secrets** : `../passwords/cloudnetignet.pass` (non inclus dans ce dépôt).
|
||||
|
||||
Le fichier `.env` contient les paramètres non secrets. Le fichier de mots de passe
|
||||
existant doit conserver notamment `MYSQL_PASSWORD`, `MYSQL_ROOT_PASSWORD`,
|
||||
`NEXTCLOUD_ADMIN_PASSWORD` et `SMTP_PASSWORD` suivant les besoins de l'installation.
|
||||
|
||||
## Migration de la configuration existante
|
||||
|
||||
**Sauvegarder avant toute modification** la base MariaDB et les fichiers Nextcloud.
|
||||
Ne jamais supprimer `volumes/` ni utiliser `docker compose down -v` pour cette migration.
|
||||
|
||||
Le `container_name` a été retiré et les variables `MYSQL_HOST` / `REDIS_HOST`
|
||||
utilisent maintenant les noms DNS de services `mariadb` et `redis`.
|
||||
|
||||
**Important :** une installation Nextcloud existante peut conserver l'ancien hôte
|
||||
MariaDB (`cloudnetignet_mariadb`) dans `config.php`, malgré le nouveau `.env`.
|
||||
Le Compose inclut donc deux alias DNS de compatibilité sur le réseau privé :
|
||||
`cloudnetignet_mariadb` et `cloudnetignet_redis`.
|
||||
|
||||
1. Avec **l'ancien** Compose, noter la version et la configuration effective :
|
||||
|
||||
```sh
|
||||
docker compose exec -u www-data nextcloud php occ status
|
||||
docker compose exec -u www-data nextcloud php occ config:system:get dbhost
|
||||
```
|
||||
|
||||
2. Sauvegarder, remplacer les fichiers, puis démarrer (les volumes sont conservés) :
|
||||
|
||||
```sh
|
||||
docker compose config -q
|
||||
docker compose up -d --remove-orphans
|
||||
docker compose ps
|
||||
```
|
||||
|
||||
Si l'ancien projet Compose portait **un autre nom**, l'arrêter d'abord avec
|
||||
son ancienne configuration : `docker compose down` (sans `-v`).
|
||||
Le réseau externe `mailserver` doit déjà exister.
|
||||
|
||||
3. Vérifier la configuration effective de Nextcloud :
|
||||
|
||||
```sh
|
||||
docker compose exec -u www-data nextcloud php occ config:system:get dbhost
|
||||
docker compose exec -u www-data nextcloud php occ status
|
||||
```
|
||||
|
||||
Si `dbhost` vaut encore `cloudnetignet_mariadb`, le remplacer, **une fois la
|
||||
nouvelle configuration démarrée**, par :
|
||||
|
||||
```sh
|
||||
docker compose exec -u www-data nextcloud php occ config:system:set dbhost --value=mariadb
|
||||
docker compose exec -u www-data nextcloud php occ config:system:get dbhost
|
||||
```
|
||||
|
||||
Vérifier également que Redis fonctionne et qu'une ouverture/édition de document
|
||||
avec Collabora est toujours possible. Les alias historiques peuvent être retirés
|
||||
du Compose lors d'une mise à jour ultérieure après vérification complète.
|
||||
|
||||
## Cron (hôte)
|
||||
|
||||
Exécuter la tâche toutes les cinq minutes dans la crontab de l'utilisateur
|
||||
ayant accès au démon Docker (généralement `root`) :
|
||||
|
||||
```cron
|
||||
*/5 * * * * cd /srv/cloud.netig.net && /usr/bin/docker compose exec -T -u www-data nextcloud php -f /var/www/html/cron.php
|
||||
```
|
||||
|
||||
## Config
|
||||
`-T` désactive l'allocation d'un terminal, nécessaire depuis cron.
|
||||
Activer le mode Cron dans l'administration Nextcloud, ou :
|
||||
|
||||
```
|
||||
# docker exec --user www-data cloudnetignet_nextcloud php occ background:cron
|
||||
# docker exec --user www-data cloudnetignet_nextcloud php occ config:system:set maintenance_window_start --value="4" --type=integer
|
||||
# docker exec --user www-data cloudnetignet_nextcloud php occ config:system:set default_phone_region --value="fr"
|
||||
```sh
|
||||
docker compose exec -u www-data nextcloud php occ background:cron
|
||||
```
|
||||
|
||||
## Maintenance
|
||||
## Administration
|
||||
|
||||
```
|
||||
# docker exec --user www-data cloudnetignet_nextcloud php occ maintenance:repair --include-expensive
|
||||
# docker exec --user www-data cloudnetignet_nextcloud php occ db:add-missing-indices
|
||||
```sh
|
||||
# Statut et journaux
|
||||
docker compose ps
|
||||
docker compose logs --tail=100 nextcloud
|
||||
|
||||
# Réglages de l'instance
|
||||
docker compose exec -u www-data nextcloud php occ config:system:set maintenance_window_start --value=4 --type=integer
|
||||
docker compose exec -u www-data nextcloud php occ config:system:set default_phone_region --value=FR
|
||||
|
||||
# Entretien ponctuel
|
||||
docker compose exec -u www-data nextcloud php occ maintenance:repair --include-expensive
|
||||
docker compose exec -u www-data nextcloud php occ db:add-missing-indices
|
||||
```
|
||||
|
||||
## Privacy
|
||||
Ne pas modifier `core/templates/layout.user.php` pour masquer des éléments
|
||||
visuels : ces changements sont écrasés par les mises à jour Nextcloud.
|
||||
|
||||
Disable the contact menu.
|
||||
```
|
||||
# docker exec --user www-data -ti cloudnetignet_nextcloud sed -i '/<div id="contactsmenu"><\/div>/d' core/templates/layout.user.php
|
||||
## Versions et mises à jour
|
||||
|
||||
Les tags `nextcloud:latest` et `redis:latest` sont **volontairement conservés**
|
||||
dans cette migration pour ne pas changer de branche logicielle en même temps
|
||||
que les réseaux et les noms des conteneurs. Ils devront ensuite être remplacés
|
||||
par des tags de branche compatibles avec l'installation en place :
|
||||
|
||||
```sh
|
||||
docker compose exec -u www-data nextcloud php occ status
|
||||
docker compose exec redis redis-server --version
|
||||
```
|
||||
|
||||
Disable the unified search menu.
|
||||
```
|
||||
# docker exec --user www-data -ti cloudnetignet_nextcloud sed -i '/<div id="unified-search"><\/div>/d' core/templates/layout.user.php
|
||||
```
|
||||
Les montées de version majeure de Nextcloud se font dans l'ordre, une version
|
||||
à la fois, avec sauvegarde préalable. Ne pas lancer `docker compose pull`
|
||||
aveuglément tant que les versions n'ont pas été choisies.
|
||||
|
||||
## Tips
|
||||
Le fichier `compose.db-restore.yml` monte une sauvegarde SQL sous
|
||||
`/docker-entrypoint-initdb.d/` : MariaDB ne l'exécute que si son répertoire
|
||||
de données est **vide**, et jamais sur une base déjà initialisée.
|
||||
|
||||
To Clear logs.
|
||||
```
|
||||
# rm /srv/cloud.netig.net/volumes/nextcloud/data/nextcloud.log
|
||||
```
|
||||
## Reverse proxy
|
||||
|
||||
Caddy doit faire suivre `https://cloud.netig.net` vers `127.0.0.1:9002`.
|
||||
La valeur de `TRUSTED_PROXIES` dans `.env` a été conservée : vérifier qu'elle
|
||||
correspond aux véritables adresses sources du proxy vues par Nextcloud.
|
||||
Reference in new issue
Block a user