Files
flowsint/docker-compose.prod.yml
2025-09-16 13:50:31 +02:00

81 lines
1.7 KiB
YAML

name: flowsint
services:
flowsint_api:
build:
context: ./flowsint-api
dockerfile: Dockerfile
target: prod
env_file: .env
ports:
- "5001:5001"
depends_on:
- postgres
- redis
- neo4j
celery:
build:
context: ./flowsint-core
dockerfile: Dockerfile
env_file: .env
depends_on:
- redis
- postgres
# PostgreSQL database
postgres:
image: postgres:15
container_name: flowsint-postgres
restart: always
environment:
POSTGRES_USER: flowsint
POSTGRES_PASSWORD: flowsint
POSTGRES_DB: flowsint
ports:
- "5433:5432" # 5433 sur l'hôte pour éviter conflit local
volumes:
- pg_data:/var/lib/postgresql/data
networks:
- flowsint_network
# Redis for Celery & cache
redis:
image: redis:alpine
container_name: redis-cache
ports:
- "6379:6379"
networks:
- flowsint_network
# Neo4j graph database
neo4j:
image: neo4j:5
container_name: flowsint-neo4j
ports:
- "7474:7474" # Web UI
- "7687:7687" # Bolt
environment:
- NEO4J_AUTH=${NEO4J_USERNAME}/${NEO4J_PASSWORD}
- NEO4J_PLUGINS=["apoc"]
- NEO4J_apoc_export_file_enabled=true
- NEO4J_apoc_import_file_enabled=true
- NEO4J_apoc_import_file_use__neo4j__config=true
volumes:
- neo4j_data:/data
- neo4j_logs:/logs
- neo4j_import:/var/lib/neo4j/import
- neo4j_plugins:/plugins
restart: unless-stopped
networks:
- flowsint_network
networks:
flowsint_network:
name: flowsint_network
driver: bridge
volumes:
pg_data:
neo4j_data:
neo4j_logs:
neo4j_import:
neo4j_plugins: