Initial commit: Infrastructure Git CI/CD avec Gitea, Woodpecker, PostgreSQL, Consul et Registrator
This commit is contained in:
100
postgres/README.md
Normal file
100
postgres/README.md
Normal file
@ -0,0 +1,100 @@
|
||||
# Configuration PostgreSQL pour Gitea
|
||||
|
||||
Ce dossier contient la configuration Docker Compose pour pérenniser le conteneur PostgreSQL de Gitea.
|
||||
|
||||
## Configuration actuelle
|
||||
|
||||
- **Image** : `postgres:14`
|
||||
- **Nom du conteneur** : `gitea_db`
|
||||
- **Volume** : `gitgit_syoul_fr_db_data` (existant, ne sera pas recréé)
|
||||
- **Réseau** : `gitgit_syoul_fr_gitea_net` (existant, ne sera pas recréé)
|
||||
- **Restart policy** : `always`
|
||||
|
||||
## Utilisation
|
||||
|
||||
### Vérifier la configuration
|
||||
|
||||
```bash
|
||||
cd /opt/postgres # ou le chemin où vous avez copié ce fichier
|
||||
docker compose config
|
||||
```
|
||||
|
||||
### Important : Ne pas appliquer maintenant
|
||||
|
||||
**ATTENTION** : Le conteneur PostgreSQL est actuellement en production et fonctionne. Ce fichier docker-compose.yml est une sauvegarde de la configuration pour le jour où vous devrez recréer le conteneur.
|
||||
|
||||
### Quand utiliser ce fichier
|
||||
|
||||
1. **En cas de migration** : Si vous devez déplacer le conteneur vers un autre serveur
|
||||
2. **En cas de recréation** : Si le conteneur doit être recréé (mise à jour, problème, etc.)
|
||||
3. **Pour la documentation** : Pour avoir une trace de la configuration actuelle
|
||||
|
||||
### Procédure de migration/recréation (à faire plus tard)
|
||||
|
||||
1. **Sauvegarder la base de données** :
|
||||
```bash
|
||||
docker exec gitea_db pg_dump -U gitea gitea > backup_$(date +%Y%m%d).sql
|
||||
```
|
||||
|
||||
2. **Arrêter le conteneur existant** (si nécessaire) :
|
||||
```bash
|
||||
docker stop gitea_db
|
||||
```
|
||||
|
||||
3. **Utiliser le docker-compose.yml** :
|
||||
```bash
|
||||
cd /opt/postgres
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
4. **Vérifier que tout fonctionne** :
|
||||
```bash
|
||||
docker ps | grep gitea_db
|
||||
docker logs gitea_db
|
||||
```
|
||||
|
||||
### Notes importantes
|
||||
|
||||
- Le volume `gitgit_syoul_fr_db_data` contient toutes les données PostgreSQL
|
||||
- Le réseau `gitgit_syoul_fr_gitea_net` est partagé avec Gitea et Woodpecker
|
||||
- Le mot de passe est celui actuellement utilisé en production
|
||||
- Aucun port n'est exposé (communication interne uniquement)
|
||||
|
||||
## Sécurité
|
||||
|
||||
### Version actuelle (docker-compose.yml)
|
||||
|
||||
Le mot de passe est stocké en clair dans le `docker-compose.yml` avec la valeur actuelle : `Gitea_Db-2025_Secure`
|
||||
|
||||
### Version sécurisée avec fichier .env (optionnelle)
|
||||
|
||||
Pour une meilleure sécurité, vous pouvez utiliser `docker-compose.env.yml` qui charge les variables depuis un fichier `.env` :
|
||||
|
||||
1. **Créer le fichier .env** (sur le serveur uniquement, ne pas versionner) :
|
||||
```bash
|
||||
cd /opt/postgres
|
||||
cat > .env << 'EOF'
|
||||
POSTGRES_USER=gitea
|
||||
POSTGRES_PASSWORD=Gitea_Db-2025_Secure
|
||||
POSTGRES_DB=gitea
|
||||
EOF
|
||||
```
|
||||
|
||||
2. **Vérifier que .env est ignoré par git** :
|
||||
```bash
|
||||
echo ".env" >> .gitignore
|
||||
git check-ignore .env
|
||||
```
|
||||
|
||||
3. **Utiliser la version avec .env** :
|
||||
```bash
|
||||
docker compose -f docker-compose.env.yml up -d
|
||||
```
|
||||
|
||||
### Alternatives de sécurité avancées
|
||||
|
||||
Pour une sécurité encore plus poussée :
|
||||
1. Utiliser Docker Secrets (en mode Swarm)
|
||||
2. Utiliser un gestionnaire de secrets externe (Vault, etc.)
|
||||
3. Chiffrer le fichier `.env` avec des outils comme `sops` ou `ansible-vault`
|
||||
|
||||
Reference in New Issue
Block a user