Spaces:
Sleeping
Sleeping
| set -euo pipefail | |
| APP_DIR="${APP_DIR:-/home/user/app}" | |
| cd "$APP_DIR" | |
| export REDIS_ARGS="${REDIS_ARGS:---maxmemory 9gb --maxmemory-policy noeviction}" | |
| export FALKORDB_DATA_PATH="${FALKORDB_DATA_PATH:-/home/user/falkordb-data}" | |
| export FALKORDB_BIN_PATH="${FALKORDB_BIN_PATH:-/var/lib/falkordb/bin}" | |
| export FALKORDB_HOST="${FALKORDB_HOST:-localhost}" | |
| export FALKORDB_PORT="${FALKORDB_PORT:-6379}" | |
| export FALKORDB_GRAPH="${FALKORDB_GRAPH:-clinical_graph}" | |
| export PORT="${PORT:-7860}" | |
| export PYTHONPATH="${APP_DIR}${PYTHONPATH:+:$PYTHONPATH}" | |
| export REBUILD_GRAPH="${REBUILD_GRAPH:-1}" | |
| export FALKORDB_BULK_SOCKET_TIMEOUT_S="${FALKORDB_BULK_SOCKET_TIMEOUT_S:-0}" | |
| STAGING_DIR="${STAGING_DIR:-$APP_DIR/falkor_staging}" | |
| mkdir -p "$FALKORDB_DATA_PATH" | |
| echo "▶ Starting FalkorDB (redis-server + falkordb module) …" >&2 | |
| # shellcheck disable=SC2086 | |
| redis-server ${REDIS_ARGS} --protected-mode no \ | |
| --dir "${FALKORDB_DATA_PATH}" \ | |
| --loadmodule "${FALKORDB_BIN_PATH}/falkordb.so" ${FALKORDB_ARGS:-} \ | |
| --daemonize yes | |
| if [ "${SKIP_GRAPH_BUILD:-0}" = "1" ]; then | |
| echo "▶ SKIP_GRAPH_BUILD=1 — skipping graph load" >&2 | |
| else | |
| echo "▶ Loading graph from staging (REBUILD_GRAPH=${REBUILD_GRAPH}) …" >&2 | |
| REBUILD_FLAG=() | |
| if [ "$REBUILD_GRAPH" = "1" ]; then | |
| REBUILD_FLAG=(--rebuild) | |
| fi | |
| python3 -m falkor_load.build_falkor_graph \ | |
| --staging-dir "$STAGING_DIR" \ | |
| --falkor-host "$FALKORDB_HOST" \ | |
| --falkor-port "$FALKORDB_PORT" \ | |
| --falkor-graph "$FALKORDB_GRAPH" \ | |
| "${REBUILD_FLAG[@]}" | |
| fi | |
| echo "▶ Starting Dash app on 0.0.0.0:${PORT} …" >&2 | |
| exec python3 app.py | |