61 lines
2.1 KiB
YAML
61 lines
2.1 KiB
YAML
services:
|
|
backend:
|
|
build: ./backend
|
|
ports:
|
|
- "8000:8000"
|
|
environment:
|
|
- GRAPH_BACKEND=${GRAPH_BACKEND:-rdflib}
|
|
- TTL_PATH=${TTL_PATH:-/data/o3po.ttl}
|
|
- INCLUDE_BNODES=${INCLUDE_BNODES:-false}
|
|
- MAX_TRIPLES
|
|
- CORS_ORIGINS=${CORS_ORIGINS:-http://localhost:5173}
|
|
- SPARQL_HOST=${SPARQL_HOST:-http://anzograph:8080}
|
|
- SPARQL_ENDPOINT
|
|
- SPARQL_USER=${SPARQL_USER:-admin}
|
|
- SPARQL_PASS=${SPARQL_PASS:-Passw0rd1}
|
|
- SPARQL_DATA_FILE=${SPARQL_DATA_FILE:-file:///opt/shared-files/o3po.ttl}
|
|
- SPARQL_GRAPH_IRI
|
|
- SPARQL_LOAD_ON_START=${SPARQL_LOAD_ON_START:-false}
|
|
- SPARQL_CLEAR_ON_START=${SPARQL_CLEAR_ON_START:-false}
|
|
- SPARQL_TIMEOUT_S=${SPARQL_TIMEOUT_S:-300}
|
|
- SPARQL_READY_RETRIES=${SPARQL_READY_RETRIES:-30}
|
|
- SPARQL_READY_DELAY_S=${SPARQL_READY_DELAY_S:-4}
|
|
- SPARQL_READY_TIMEOUT_S=${SPARQL_READY_TIMEOUT_S:-10}
|
|
- COMBINE_OWL_IMPORTS_ON_START=${COMBINE_OWL_IMPORTS_ON_START:-false}
|
|
- COMBINE_ENTRY_LOCATION
|
|
- COMBINE_OUTPUT_LOCATION
|
|
- COMBINE_OUTPUT_NAME
|
|
- COMBINE_FORCE=${COMBINE_FORCE:-false}
|
|
volumes:
|
|
- ./backend:/app
|
|
- ./data:/data:Z
|
|
command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
|
|
healthcheck:
|
|
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/api/health').read()"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 60
|
|
|
|
frontend:
|
|
build: ./frontend
|
|
ports:
|
|
- "5173:5173"
|
|
environment:
|
|
- VITE_BACKEND_URL=${VITE_BACKEND_URL:-http://backend:8000}
|
|
volumes:
|
|
- ./frontend:/app
|
|
- /app/node_modules
|
|
depends_on:
|
|
- backend
|
|
# Docker Compose v1 doesn't support depends_on:condition. Do an explicit wait here.
|
|
command: sh -c "until wget -qO- http://backend:8000/api/health >/dev/null 2>&1; do echo 'waiting for backend...'; sleep 1; done; npm run dev -- --host --port 5173"
|
|
|
|
anzograph:
|
|
image: cambridgesemantics/anzograph:latest
|
|
container_name: anzograph
|
|
ports:
|
|
- "8080:8080"
|
|
- "8443:8443"
|
|
volumes:
|
|
- ./data:/opt/shared-files:Z
|