docker-compose.yml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. name: flowsint
  2. services:
  3. # PostgreSQL database
  4. postgres:
  5. image: postgres:15
  6. container_name: flowsint-postgres
  7. restart: always
  8. environment:
  9. POSTGRES_USER: flowsint
  10. POSTGRES_PASSWORD: flowsint
  11. POSTGRES_DB: flowsint
  12. ports:
  13. - "5433:5432"
  14. volumes:
  15. - pg_data:/var/lib/postgresql/data
  16. networks:
  17. - flowsint_network
  18. # Redis for Celery & cache
  19. redis:
  20. image: redis:alpine
  21. container_name: redis-cache
  22. ports:
  23. - "6379:6379"
  24. networks:
  25. - flowsint_network
  26. # Neo4j graph database
  27. neo4j:
  28. image: neo4j:5
  29. container_name: flowsint-neo4j
  30. ports:
  31. - "7474:7474" # Web UI
  32. - "7687:7687" # Bolt
  33. environment:
  34. - NEO4J_AUTH=${NEO4J_USERNAME}/${NEO4J_PASSWORD}
  35. - NEO4J_PLUGINS=["apoc"]
  36. - NEO4J_apoc_export_file_enabled=true
  37. - NEO4J_apoc_import_file_enabled=true
  38. - NEO4J_apoc_import_file_use__neo4j__config=true
  39. volumes:
  40. - neo4j_data:/data
  41. - neo4j_logs:/logs
  42. - neo4j_import:/var/lib/neo4j/import
  43. - neo4j_plugins:/plugins
  44. healthcheck:
  45. test: cypher-shell -u ${NEO4J_USERNAME} -p ${NEO4J_PASSWORD} "RETURN 1"
  46. interval: 5s
  47. timeout: 5s
  48. retries: 10
  49. restart: unless-stopped
  50. networks:
  51. - flowsint_network
  52. app:
  53. build:
  54. context: ./flowsint-app
  55. dockerfile: Dockerfile.dev
  56. container_name: flowsint-app
  57. ports:
  58. - "5173:5173"
  59. volumes:
  60. - ./flowsint-app:/app
  61. - app_node_modules:/app/node_modules
  62. environment:
  63. - VITE_API_URL=${VITE_API_URL}
  64. networks:
  65. - flowsint_network
  66. stdin_open: true
  67. tty: true
  68. networks:
  69. flowsint_network:
  70. name: flowsint_network
  71. driver: bridge
  72. volumes:
  73. pg_data:
  74. neo4j_data:
  75. neo4j_logs:
  76. neo4j_import:
  77. neo4j_plugins:
  78. app_node_modules: