File size: 1,610 Bytes
4b988e0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/bash
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