Verified Commit fe538ee6 authored by Quentin Duchemin's avatar Quentin Duchemin
Browse files

Add systematic docker-compose, try to pass CI

parent 03e628d7
# Configuration
# Backup des bases de données des services
Le fichier backup_data.json recense les informations sur les différents services mis en place sur la machine et les informations nécessaires pour lancer les rotations sur ces services.
Cet outil orchestre le backup des différents services de Picasoft.
## Structure
Il est capable de gérer les bases de données `postgres`, `mysql` ou `mongo` pour le moment.
Il est flexible et se configure via des fichiers JSON.
## Lancement
On se synchronise simplement avec le dépôt et on lance le Docker Compose.
Docker Compose sélectionne automatiquement le bon fichier de configuration en fonction du nom d'hôte de la machine virtuelle, il n'y a donc rien à modifier.
## Configuration
Les fichiers dans [`.config`](./config) recensent les informations sur les différents services mis en place sur les machines et les informations nécessaires pour lancer les rotations sur ces services.
Ces fichiers **sont** les fichiers utilisés **en production**.
Ils ne doivent pas être modifiés sur les machines sans être synchronisés avec le dépôt Git.
On veillera à ce que les noms d'hôte correspondent bien aux noms des conteneurs (gérés par d'autres Docker Compose), et que le dossier `/DATA/BACKUP` existe.
### Structure
- Nom du service : Contient une structure de données contenant les informations relatives au service telles qu'indiquées ci-dessous
- "Host" : Indique l'hôte de la base de données
......@@ -10,13 +28,14 @@ Le fichier backup_data.json recense les informations sur les différents service
- "Database" : Indique le nom de la base de données
- "Folder" : Indique le nom du dossier de backup utilisé par le script de backup et de rotation
- "Cron" : Indique la fréquence de temps à laquelle les backups sont effectués par le script de rotation au format cron
- "Init-Backup" : Indique si un backup doit être effectué au démarrage du service, en plus de la programmation du cron
- "Backup-Rota" : Contient les paramètres pour la rotation des backups dans une structure de données comme indiqué ci-dessous
- "Hour" : nombre de backups horaires à conserver
- "Day" : nombre de backups quotidiens à conserver
- "Week" : nombre de backups hebdomadaires à conserver
- "Month": nombre de backups mensuels à conserver
## Exemple
### Exemple
```json
{
......@@ -59,22 +78,3 @@ Le fichier backup_data.json recense les informations sur les différents service
}
}
```
## Exemple d'implémentation dans le docker-compose
```yaml
##############################
####### Backup rotation ######
##############################
pica-backup-rotation:
image: backup-rotation
container_name: pica-backup-rotation
volumes:
- /DATA/BACKUP/:/backup
- /DATA/CONFIG:/config
```
Avec:
- `/DATA/BACKUP` : Dossier contenant les backups à effecter
- `/DATA/CONFIG` : Dossier contenant le fichier .json de données
version: "3.7"
networks:
docker_default:
external: true
name: "docker_default"
services:
db-backup:
image: registry.picasoft.net/db-backup:1.1
container_name: db-backup
volumes:
- /DATA/BACKUP/:/backup/
- ./config/${HOSTNAME}.json:/config/backup_data.json
- /etc/localtime:/etc/localtime:ro
networks:
- docker_default
restart: always
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment