medax_pipeline/docker-compose.yml
2025-04-16 22:12:19 +02:00

77 lines
2.2 KiB
YAML

services:
neo4j:
image: neo4j:5.7
environment:
- NEO4J_AUTH=${NEO4J_AUTH:-neo4j/password}
- NEO4J_PLUGINS=["apoc"]
- NEO4J_server_config_strict__validation_enabled=false
- NEO4J_apoc_export_file_enabled=true
- NEO4J_apoc_import_file_enabled=true
- NEO4J_apoc_import_file_use__neo4j__config=true
- SHARED_PATH=/neo4j_import
command: >
bash -c '
echo "running cmd from docker compose" &&
#neo4j start &&
while true; do
if [ -f /neo4j_import/ready-to-import ]; then
echo "Starting import process..."
neo4j stop &&
bash /neo4j_import/neo4j-admin-import-call.sh &&
rm /neo4j_import/ready-to-import &&
touch /neo4j_import/import-complete &&
chmod 777 /neo4j_import/import-complete
neo4j start
echo "The container is running. STR+C will end the bash command and thus, the neo4j container"
fi
sleep 10
done
'
healthcheck:
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:7474 || exit 1"]
interval: 10s
timeout: 5s
retries: 5
ports:
- "8080:7474"
- "8081:7687"
volumes:
- neo4j_data:/neo4j_data
- neo4j_logs:/neo4j_logs
- neo4j_import:/neo4j_import
- ${INPUT_DATA_PATH:-./data}:/input_data
- ./init-scripts:/init-scripts
- ./importData:/importData
python_app:
build:
context: .
dockerfile: Dockerfile
args:
HTTP_PROXY: ${HTTP_PROXY}
HTTPS_PROXY: ${HTTPS_PROXY}
NO_PROXY: ${NO_PROXY}
env_file:
- .env
environment:
- NEO4J_URI=bolt://neo4j:7687
- NEO4J_USER=${NEO4J_USER:-neo4j}
- NEO4J_PASSWORD=${NEO4J_PASSWORD:-password}
- INPUT_DATA_PATH=/input_data
- POETRY_VIRTUALENVS_CREATE=false
- NEO4J_dbms_directories_import=/neo4j_import
volumes:
- neo4j_import:/neo4j_import
- ${INPUT_DATA_PATH:-./data}:/input_data
- ./importData:/importData # Share the import data directory
# depends_on:
# neo4j:
# condition: service_healthy
# Define named volumes
volumes:
neo4j_data:
neo4j_logs:
neo4j_import: