fix : remove init script, set backup cron to 18h30

This commit is contained in:
2026-03-31 10:56:14 +02:00
parent 9c74eb9114
commit 89c1e741ed
4 changed files with 32 additions and 37 deletions

10
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,10 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Ignored default folder with query files
/queries/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -22,7 +22,6 @@ Copier depuis le repo :
- `docker-compose.yml`
- `deploy.sh`
- `backup.sh`
- `init/01-create-databases.sql`
- `.env.example``.env`
```bash
@@ -38,24 +37,37 @@ POSTGRES_USER=admin
POSTGRES_PASSWORD=<generer avec: openssl rand -hex 32>
```
Editer `init/01-create-databases.sql` : remplacer tous les `change-me` par des mots de passe forts pour chaque base.
> **Important :** le script `init/01-create-databases.sql` n'est execute qu'au **premier lancement** (quand le dossier `data/` est vide). Si tu modifies les mots de passe apres le premier lancement, il faut les changer manuellement via `psql`.
### 4. Deployer
```bash
./deploy.sh
```
### 5. Verifier
### 5. Creer les bases de donnees
Se connecter au conteneur :
```bash
docker compose exec -T postgres psql -U admin
```
Creer les bases et users :
```sql
CREATE USER sirh_prod WITH PASSWORD 'motdepasse';
CREATE DATABASE sirh_prod OWNER sirh_prod;
CREATE USER sirh_recette WITH PASSWORD 'motdepasse';
CREATE DATABASE sirh_recette OWNER sirh_recette;
\q
```
### 6. Verifier
```bash
docker compose exec -T postgres psql -U admin -l
```
Toutes les bases (sirh_prod, sirh_recette, ferme_prod, ferme_recette) doivent apparaitre.
## Connexion depuis les applications
Les applications Docker sur la meme machine se connectent via `host.docker.internal` :
@@ -70,22 +82,16 @@ DATABASE_URL="postgresql://sirh_recette:password@host.docker.internal:5432/sirh_
## Ajouter une nouvelle base
Se connecter au conteneur :
```bash
docker compose exec -T postgres psql -U admin
```
Puis :
```sql
CREATE USER nouvelle_app WITH PASSWORD 'motdepasse';
CREATE DATABASE nouvelle_app OWNER nouvelle_app;
\q
```
Penser a ajouter les lignes dans `init/01-create-databases.sql` pour documenter (meme si le script ne sera pas re-execute).
## Backups
### Backup manuel
@@ -122,8 +128,8 @@ crontab -e
Ajouter :
```
# Backup PostgreSQL tous les jours a 2h du matin
0 2 * * * /var/www/postgres/backup.sh >> /var/log/postgres-backup.log 2>&1
# Backup PostgreSQL tous les jours a 18h30
30 18 * * * /var/www/postgres/backup.sh >> /var/log/postgres-backup.log 2>&1
```
## Voir les logs

View File

@@ -7,5 +7,4 @@ services:
- "5432:5432"
volumes:
- ./data:/var/lib/postgresql/data
- ./init:/docker-entrypoint-initdb.d:ro
restart: unless-stopped

View File

@@ -1,20 +0,0 @@
-- Ce script est execute automatiquement au premier lancement de PostgreSQL
-- (uniquement si le volume data/ est vide)
--
-- Ajouter ici les bases et users pour chaque application.
-- SIRH Production
CREATE USER sirh_prod WITH PASSWORD 'change-me';
CREATE DATABASE sirh_prod OWNER sirh_prod;
-- SIRH Recette
CREATE USER sirh_recette WITH PASSWORD 'change-me';
CREATE DATABASE sirh_recette OWNER sirh_recette;
-- Ferme Production
CREATE USER ferme_prod WITH PASSWORD 'change-me';
CREATE DATABASE ferme_prod OWNER ferme_prod;
-- Ferme Recette
CREATE USER ferme_recette WITH PASSWORD 'change-me';
CREATE DATABASE ferme_recette OWNER ferme_recette;