version: '3.8' services: # Base de données PostgreSQL postgres: image: postgres:16-alpine container_name: socialflow-db restart: unless-stopped environment: POSTGRES_DB: ${PGDATABASE:-socialflow} POSTGRES_USER: ${PGUSER:-socialflow} POSTGRES_PASSWORD: ${PGPASSWORD:-changeme} volumes: - postgres_data:/var/lib/postgresql/data ports: - "${PGPORT:-5432}:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U ${PGUSER:-socialflow}"] interval: 10s timeout: 5s retries: 5 # Application Social Flow app: build: context: . dockerfile: Dockerfile container_name: socialflow-app restart: unless-stopped ports: - "${PORT:-5000}:5000" environment: NODE_ENV: production PORT: 5000 DATABASE_URL: postgresql://${PGUSER:-socialflow}:${PGPASSWORD:-changeme}@postgres:5432/${PGDATABASE:-socialflow} OPENROUTER_API_KEY: ${OPENROUTER_API_KEY} SESSION_SECRET: ${SESSION_SECRET:-your-secret-key-change-me} APP_URL: ${APP_URL:-http://localhost:5000} volumes: - ./uploads:/app/uploads depends_on: postgres: condition: service_healthy command: sh -c "npm run db:push && node dist/server.js" volumes: postgres_data: driver: local