Adopter la structure FHS /srv/docker/ et /opt/docker-scripts/

Changements majeurs :
- SCRIPTS_DIR passe de ~/scripts a /opt/docker-scripts (FHS /opt/)
- COMPOSE_DIR, VOLUME_DATA, VOLUME_MYSQL passes a /srv/docker/ (FHS /srv/)
- Ajout de GIT_REPO et GIT_BRANCH dans docker-scripts.conf
- setup.sh source la config des le debut pour centraliser tous les defauts
- Tous les fallbacks internes des scripts alignes avec la config
- docker-compose.yml de reference mis a jour
- README : nouvelles instructions d'installation et chemins

Avantages : un seul dossier par app Docker, backup/migration simplifies,
structure standard FHS, aucune modif de script necessaire par projet.
This commit is contained in:
2026-06-26 15:22:47 -04:00
parent 6f761fe8ed
commit 0fc2b8d0d6
8 changed files with 74 additions and 50 deletions
+20 -15
View File
@@ -102,14 +102,19 @@ flowchart LR
## 🚀 Installation rapide
```bash
# Cloner et installer en une commande
mkdir ~/git/outils/
cd ~/git/outils/
git clone https://git.dracodev.net/Outils/gitea-scripts.git ~/scripts
bash ~/scripts/setup.sh
# 1. Créer le dossier d'installation (standard FHS)
sudo mkdir -p /opt/docker-scripts /srv/docker
sudo chown -R $USER:$USER /opt/docker-scripts /srv/docker
# 2. Cloner les scripts
cd /opt
git clone https://git.dracodev.net/Outils/docker-generic-scripts.git docker-scripts
# 3. Installer
bash /opt/docker-scripts/setup.sh
# Ou forcer sans confirmation
bash ~/scripts/setup.sh --force
bash /opt/docker-scripts/setup.sh --force
```
---
@@ -156,12 +161,12 @@ Sauvegarde complète et portable : DB MySQL + volumes Docker + configuration.
| Variable | Défaut | Description |
|----------|--------|-------------|
| `BACKUP_DIR` | `/NFS/BACKUP/DOCKER/$HOSTNAME/gitea` | Destination backups |
| `COMPOSE_DIR` | `~/dev/git/outils/gitea` | Dossier docker-compose |
| `COMPOSE_DIR` | `/srv/docker/gitea` | Dossier docker-compose |
| `DB_CONTAINER` | `gitea_db` | Conteneur MySQL |
| `DB_NAME` | `gitea` | Nom base de données |
| `DB_ROOT_PASSWORD` | `gitea` | Mot de passe root MySQL |
| `VOLUME_DATA` | `/DOCKER_CONFIG/gitea/data` | Volume data Gitea |
| `VOLUME_MYSQL` | `/DOCKER_CONFIG/gitea/mysql` | Volume MySQL |
| `VOLUME_DATA` | `/srv/docker/gitea/data` | Volume data Gitea |
| `VOLUME_MYSQL` | `/srv/docker/gitea/mysql` | Volume MySQL |
| `RETENTION_DAYS` | `30` | Rétention jours |
| `RETENTION_WEEKLY` | `4` | Backups dimanche conservés |
| `RETENTION_MONTHLY` | `6` | Backups 1er du mois conservés |
@@ -214,7 +219,7 @@ Vérifie quotidiennement si une nouvelle image Docker Gitea est disponible.
| Variable | Défaut | Description |
|----------|--------|-------------|
| `COMPOSE_DIR` | `~/dev/git/outils/docker/gitea` | Dossier du docker-compose |
| `COMPOSE_DIR` | `/srv/docker/gitea` | Dossier du docker-compose |
| `APP_SERVICE` | `gitea_server` | Nom du service dans compose |
| `IMAGE_NAME` | `gitea/gitea` | Image Docker |
| `IMAGE_TAG` | `latest` | Tag (version) |
@@ -354,10 +359,10 @@ Si un lock stale est détecté (PID inexistant), il est automatiquement nettoyé
```bash
# Mise à jour manuelle
bash ~/scripts/setup.sh --update
bash /opt/docker-scripts/setup.sh --update
# Ajouter au cron pour mise à jour automatique (optionnel)
# 0 3 * * 0 bash ~/scripts/setup.sh --update --force
# 0 3 * * 0 bash /opt/docker-scripts/setup.sh --update --force
```
---
@@ -388,16 +393,16 @@ ls -t /NFS/BACKUP/DOCKER/dev-prod/gitea/gitea-backup-* | tail -n +10 | xargs rm
tail -50 /var/log/gitea-update.log
# Tester manuellement
bash ~/scripts/docker-auto-update.sh
bash /opt/docker-scripts/docker-auto-update.sh
```
### Restauration
```bash
# Lister les backups disponibles
bash ~/scripts/restore.sh
bash /opt/docker-scripts/restore.sh
# Restaurer le plus récent
bash ~/scripts/restore.sh $(ls -td /NFS/BACKUP/DOCKER/dev-prod/gitea/gitea-backup-* | head -1)
bash /opt/docker-scripts/restore.sh $(ls -td /NFS/BACKUP/DOCKER/dev-prod/gitea/gitea-backup-* | head -1)
```
---