3 Commits

Author SHA1 Message Date
d3927b0cc4 docs : add CLAUDE.md
All checks were successful
Auto Tag / tag (push) Successful in 5s
2026-03-31 11:53:09 +02:00
def82235ca docs : use single malio user for all databases 2026-03-31 11:48:59 +02:00
65db5fd8e9 docs : update README after init script removal
All checks were successful
Auto Tag / tag (push) Successful in 4s
2026-03-31 11:19:58 +02:00
3 changed files with 35 additions and 12 deletions

26
CLAUDE.md Normal file
View File

@@ -0,0 +1,26 @@
# infra-postgres
## Stack
- PostgreSQL 16 Alpine (conteneur Docker)
- Docker Compose
## Structure
- `docker-compose.yml` — service PostgreSQL, port 5432, volume data/ en bind mount
- `deploy.sh` — pull + up + readiness check
- `backup.sh` — pg_dumpall + rotation (garde les 7 derniers)
- `doc/deployment.md` — guide complet de deploiement
## Conventions
- Un seul user `malio` pour toutes les bases de donnees
- Les applications se connectent via `host.docker.internal:5432`
- Les secrets (`.env`) ne sont jamais commites (`.gitignore`)
- Les backups sont dans `backups/` (non commites)
- Les donnees PostgreSQL sont dans `data/` (non commites)
## CI/CD
- Auto-tag sur push `main` (`.gitea/workflows/auto-tag.yml`)
- Token : `REGISTRY_TOKEN` (secret organisation MALIO-DEV)
## Language
- Documentation en francais
- Code/scripts en anglais

View File

@@ -7,8 +7,8 @@ Un seul conteneur PostgreSQL gere toutes les bases de donnees (prod + recette).
## Quick start ## Quick start
```bash ```bash
cp .env.example .env echo "POSTGRES_USER=admin" > .env
# Editer .env et init/01-create-databases.sql avec les vrais mots de passe echo "POSTGRES_PASSWORD=$(openssl rand -hex 32)" >> .env
chmod +x deploy.sh backup.sh chmod +x deploy.sh backup.sh
./deploy.sh ./deploy.sh
``` ```

View File

@@ -51,14 +51,12 @@ Se connecter au conteneur :
docker compose exec -T postgres psql -U admin docker compose exec -T postgres psql -U admin
``` ```
Creer les bases et users : Creer un user unique pour toutes les applications et les bases :
```sql ```sql
CREATE USER sirh_prod WITH PASSWORD 'motdepasse'; CREATE USER malio WITH PASSWORD 'motdepasse';
CREATE DATABASE sirh_prod OWNER sirh_prod; CREATE DATABASE sirh_prod OWNER malio;
CREATE DATABASE sirh_recette OWNER malio;
CREATE USER sirh_recette WITH PASSWORD 'motdepasse';
CREATE DATABASE sirh_recette OWNER sirh_recette;
\q \q
``` ```
@@ -74,10 +72,10 @@ Les applications Docker sur la meme machine se connectent via `host.docker.inter
```env ```env
# SIRH prod # SIRH prod
DATABASE_URL="postgresql://sirh_prod:password@host.docker.internal:5432/sirh_prod?serverVersion=16&charset=utf8" DATABASE_URL="postgresql://malio:password@host.docker.internal:5432/sirh_prod?serverVersion=16&charset=utf8"
# SIRH recette # SIRH recette
DATABASE_URL="postgresql://sirh_recette:password@host.docker.internal:5432/sirh_recette?serverVersion=16&charset=utf8" DATABASE_URL="postgresql://malio:password@host.docker.internal:5432/sirh_recette?serverVersion=16&charset=utf8"
``` ```
## Ajouter une nouvelle base ## Ajouter une nouvelle base
@@ -87,8 +85,7 @@ docker compose exec -T postgres psql -U admin
``` ```
```sql ```sql
CREATE USER nouvelle_app WITH PASSWORD 'motdepasse'; CREATE DATABASE nouvelle_app OWNER malio;
CREATE DATABASE nouvelle_app OWNER nouvelle_app;
\q \q
``` ```