Files
Socialflow/docker-compose.yml
T
michaelschal 306a038afb Improve database migration and application startup processes
Update Dockerfile to generate database migrations, compile a migration script, and adjust the CMD for application startup. Modify docker-compose.yml to comment out PostgreSQL port exposure for security and update the command to run the new migration script. Add dependencies and a new migration script (server/migrate.ts) to handle database schema changes. Update INSTALLATION.md to reflect changes in database access and security recommendations.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/ds3R7vP
2025-10-01 10:01:59 +00:00

51 lines
1.4 KiB
YAML

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
# Port non exposé sur l'hôte pour plus de sécurité en production
# Décommentez la ligne suivante si vous avez besoin d'accéder à la DB localement
# 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 "node dist/migrate.js && npm run start"
volumes:
postgres_data:
driver: local