- docker-compose.dev.yml : Stack complète (Postgres + Backend + PgAdmin) - .env.example : Variables pour développement local - README-DEV.md : Guide développeur complet - Dockerfile : Configuration Docker backend - Correction dependencies package.json (typeorm, class-validator) - Hot reload configuré pour développement
72 lines
1.9 KiB
YAML
72 lines
1.9 KiB
YAML
# Docker Compose pour développement local
|
|
# Usage: docker compose -f docker-compose.dev.yml up -d
|
|
|
|
services:
|
|
# Base de données PostgreSQL
|
|
postgres:
|
|
image: postgres:17
|
|
container_name: ptitspas-postgres-dev
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER:-admin}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-admin123}
|
|
POSTGRES_DB: ${POSTGRES_DB:-ptitpas_db}
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
- postgres_dev_data:/var/lib/postgresql/data
|
|
# Si le fichier d'init existe dans le dépôt database
|
|
# - ../database/migrations/01_init.sql:/docker-entrypoint-initdb.d/01_init.sql
|
|
networks:
|
|
- ptitspas_dev
|
|
|
|
# Interface d'administration DB
|
|
pgadmin:
|
|
image: dpage/pgadmin4
|
|
container_name: ptitspas-pgadmin-dev
|
|
restart: unless-stopped
|
|
environment:
|
|
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-admin@localhost}
|
|
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin123}
|
|
ports:
|
|
- "8080:80"
|
|
depends_on:
|
|
- postgres
|
|
networks:
|
|
- ptitspas_dev
|
|
|
|
# Backend NestJS
|
|
backend:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: ptitspas-backend-dev
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_HOST: ${POSTGRES_HOST:-postgres}
|
|
POSTGRES_PORT: ${POSTGRES_PORT:-5432}
|
|
POSTGRES_USER: ${POSTGRES_USER:-admin}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-admin123}
|
|
POSTGRES_DB: ${POSTGRES_DB:-ptitpas_db}
|
|
API_PORT: ${API_PORT:-3000}
|
|
JWT_SECRET: ${JWT_SECRET:-dev-jwt-secret-key}
|
|
JWT_EXPIRATION_TIME: ${JWT_EXPIRATION_TIME:-7d}
|
|
NODE_ENV: ${NODE_ENV:-development}
|
|
ports:
|
|
- "3000:3000"
|
|
depends_on:
|
|
- postgres
|
|
volumes:
|
|
# Pour le hot reload en développement
|
|
- ./src:/app/src
|
|
- /app/node_modules
|
|
networks:
|
|
- ptitspas_dev
|
|
|
|
volumes:
|
|
postgres_dev_data:
|
|
|
|
networks:
|
|
ptitspas_dev:
|
|
driver: bridge
|