From 89c1e741edfd4001617eda6c51bb7a80b177bd4f Mon Sep 17 00:00:00 2001 From: tristan Date: Tue, 31 Mar 2026 10:56:14 +0200 Subject: [PATCH] fix : remove init script, set backup cron to 18h30 --- .idea/.gitignore | 10 ++++++++++ doc/deployment.md | 38 +++++++++++++++++++++--------------- docker-compose.yml | 1 - init/01-create-databases.sql | 20 ------------------- 4 files changed, 32 insertions(+), 37 deletions(-) create mode 100644 .idea/.gitignore delete mode 100644 init/01-create-databases.sql diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..30cf57e --- /dev/null +++ b/.idea/.gitignore @@ -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 diff --git a/doc/deployment.md b/doc/deployment.md index 1fce6a2..2f53a44 100644 --- a/doc/deployment.md +++ b/doc/deployment.md @@ -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= ``` -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 diff --git a/docker-compose.yml b/docker-compose.yml index c0eea24..dc1a6d0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,5 +7,4 @@ services: - "5432:5432" volumes: - ./data:/var/lib/postgresql/data - - ./init:/docker-entrypoint-initdb.d:ro restart: unless-stopped diff --git a/init/01-create-databases.sql b/init/01-create-databases.sql deleted file mode 100644 index c65fab3..0000000 --- a/init/01-create-databases.sql +++ /dev/null @@ -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;