ptitspas-ynov-bdd/docker-compose.dev.yml

58 lines
1.9 KiB
YAML

# Docker Compose pour développement local de la base de données uniquement
# Usage: docker compose -f docker-compose.dev.yml up -d
services:
# Base de données PostgreSQL
postgres:
image: postgres:17
container_name: ptitspas-postgres-standalone
restart: unless-stopped
environment:
POSTGRES_USER: ${POSTGRES_USER:-admin}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-admin123}
POSTGRES_DB: ${POSTGRES_DB:-ptitpas_db}
ports:
- "5433:5432"
volumes:
# Scripts de migration (ordre important → sync_enums, init, indexes, checks, triggers, import…)
- ./migrations/00_sync_enums.sql:/docker-entrypoint-initdb.d/00_sync_enums.sql
- ./migrations/01_init.sql:/docker-entrypoint-initdb.d/01_init.sql
- ./migrations/02_indexes.sql:/docker-entrypoint-initdb.d/02_indexes.sql
- ./migrations/03_checks.sql:/docker-entrypoint-initdb.d/03_checks.sql
- ./migrations/05_triggers.sql:/docker-entrypoint-initdb.d/05_triggers.sql
- ./migrations/07_import.sql:/docker-entrypoint-initdb.d/07_import.sql
# Dossier de données de test (CSV, etc.)
- ./bdd/data_test:/bdd/data_test
# Scripts de vérification
- ./tests/sql:/tests/sql
# Données persistées Postgres
- postgres_standalone_data:/var/lib/postgresql/data
networks:
- ptitspas_dev
# Interface d'administration DB
pgadmin:
image: dpage/pgadmin4:9.8
container_name: ptitspas-pgadmin-standalone
restart: unless-stopped
environment:
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-admin@ptits-pas.fr}
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin123}
ports:
- "8081:80"
depends_on:
- postgres
networks:
- ptitspas_dev
volumes:
- ./pgadmin/servers.json:/pgadmin4/servers.json
volumes:
postgres_standalone_data:
networks:
ptitspas_dev:
driver: bridge