AntioBioNLP / scripts /entrypoint.sh
mohdelgaar's picture
Align Space with local HyperText config and R2-only persistence.
4eafe9d
Raw
History Blame Contribute Delete
1.11 kB
#!/usr/bin/env bash
set -euo pipefail
DATA_DIR="${LABEL_STUDIO_BASE_DATA_DIR:-/label-studio/data}"
LOG_DIR="${LABEL_STUDIO_LOG_DIR:-/label-studio/logs}"
mkdir -p "$DATA_DIR" "$LOG_DIR"
export PYTHONPATH="/app/scripts:${PYTHONPATH:-}"
if [[ "${R2_SYNC_ON_START:-1}" == "1" ]] && [[ -n "${R2_ACCESS_KEY_ID:-}" ]]; then
python3 /app/scripts/sync_label_studio_r2.py pull --data-dir "$DATA_DIR" || true
fi
if [[ -n "${SECRET_KEY:-}" ]]; then
printf 'SECRET_KEY=%s\n' "$SECRET_KEY" > "$DATA_DIR/.env"
fi
_sync_push() {
if [[ "${R2_SYNC_ON_STOP:-1}" == "1" ]] && [[ -n "${R2_ACCESS_KEY_ID:-}" ]]; then
python3 /app/scripts/sync_label_studio_r2.py push --data-dir "$DATA_DIR" || true
fi
}
trap _sync_push EXIT INT TERM
if [[ "${R2_SYNC_INTERVAL_SEC:-300}" =~ ^[0-9]+$ ]] && [[ "${R2_SYNC_INTERVAL_SEC}" -gt 0 ]]; then
(
while true; do
sleep "${R2_SYNC_INTERVAL_SEC}"
_sync_push || true
done
) &
fi
if [[ -n "${SPACE_HOST:-}" ]]; then
exec label-studio --host="$SPACE_HOST"
else
exec label-studio --host="${LABEL_STUDIO_HOST:-0.0.0.0}" --port="${LABEL_STUDIO_PORT:-8080}"
fi