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` - `docker-compose.yml`
- `deploy.sh` - `deploy.sh`
- `backup.sh` - `backup.sh`
- `init/01-create-databases.sql`
- `.env.example``.env` - `.env.example``.env`
```bash ```bash
@@ -38,24 +37,37 @@ POSTGRES_USER=admin
POSTGRES_PASSWORD=<generer avec: openssl rand -hex 32> 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 ### 4. Deployer
```bash ```bash
./deploy.sh ./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 ```bash
docker compose exec -T postgres psql -U admin -l 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 ## Connexion depuis les applications
Les applications Docker sur la meme machine se connectent via `host.docker.internal` : 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 ## Ajouter une nouvelle base
Se connecter au conteneur :
```bash ```bash
docker compose exec -T postgres psql -U admin docker compose exec -T postgres psql -U admin
``` ```
Puis :
```sql ```sql
CREATE USER nouvelle_app WITH PASSWORD 'motdepasse'; CREATE USER nouvelle_app WITH PASSWORD 'motdepasse';
CREATE DATABASE nouvelle_app OWNER nouvelle_app; CREATE DATABASE nouvelle_app OWNER nouvelle_app;
\q \q
``` ```
Penser a ajouter les lignes dans `init/01-create-databases.sql` pour documenter (meme si le script ne sera pas re-execute).
## Backups ## Backups
### Backup manuel ### Backup manuel
@@ -122,8 +128,8 @@ crontab -e
Ajouter : Ajouter :
``` ```
# Backup PostgreSQL tous les jours a 2h du matin # Backup PostgreSQL tous les jours a 18h30
0 2 * * * /var/www/postgres/backup.sh >> /var/log/postgres-backup.log 2>&1 30 18 * * * /var/www/postgres/backup.sh >> /var/log/postgres-backup.log 2>&1
``` ```
## Voir les logs ## Voir les logs

View File

@@ -7,5 +7,4 @@ services:
- "5432:5432" - "5432:5432"
volumes: volumes:
- ./data:/var/lib/postgresql/data - ./data:/var/lib/postgresql/data
- ./init:/docker-entrypoint-initdb.d:ro
restart: unless-stopped 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;