|
|
#!/bin/bash |
|
|
|
|
|
set -e |
|
|
|
|
|
|
|
|
export DATA_DIR="${DATA_DIR:-/tmp/app/data}" |
|
|
export HF_STORAGE_REPO="${HF_STORAGE_REPO:-nxdev-org/open-webui-storage}" |
|
|
export SYNC_INTERVAL="${SYNC_INTERVAL:-300}" |
|
|
|
|
|
|
|
|
export HF_HOME="/tmp/hf_cache" |
|
|
export HUGGINGFACE_HUB_CACHE="/tmp/hf_cache" |
|
|
export TRANSFORMERS_CACHE="/tmp/hf_cache" |
|
|
export SENTENCE_TRANSFORMERS_HOME="/tmp/hf_cache" |
|
|
|
|
|
|
|
|
export STATIC_DIR="/tmp/static" |
|
|
export UPLOAD_DIR="/tmp/uploads" |
|
|
|
|
|
echo "Starting Open WebUI with HF Dataset persistence..." |
|
|
echo "Data directory: $DATA_DIR" |
|
|
echo "HF Repository: $HF_STORAGE_REPO" |
|
|
echo "HF Cache: $HF_HOME" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ -z "$HF_TOKEN" ]; then |
|
|
echo "Warning: HF_TOKEN not set. Sync functionality will be limited." |
|
|
else |
|
|
echo "HF_TOKEN is set, proceeding with sync..." |
|
|
fi |
|
|
|
|
|
|
|
|
echo "Syncing data from Hugging Face..." |
|
|
python3 /app/sync_storage.py download |
|
|
|
|
|
|
|
|
cleanup() { |
|
|
echo "Shutting down gracefully..." |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exit 0 |
|
|
} |
|
|
|
|
|
|
|
|
trap cleanup SIGTERM SIGINT |
|
|
|
|
|
|
|
|
background_sync() { |
|
|
if [ -n "$HF_TOKEN" ]; then |
|
|
while true; do |
|
|
sleep $SYNC_INTERVAL |
|
|
echo "Periodic sync to Hugging Face..." |
|
|
python3 /app/sync_storage.py upload |
|
|
done |
|
|
else |
|
|
echo "Skipping background sync - no HF_TOKEN" |
|
|
while true; do |
|
|
sleep 3600 |
|
|
done |
|
|
fi |
|
|
} |
|
|
|
|
|
|
|
|
background_sync & |
|
|
SYNC_PID=$! |
|
|
|
|
|
|
|
|
echo "Starting caddy..." |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
git clone https://github.com/justlovemaki/Gemini-CLI-2-API.git /tmp/Gemini-CLI-2-API |
|
|
cd /tmp/Gemini-CLI-2-API&& npm install && node src/api-server.js & |
|
|
|
|
|
/app/caddy/caddy run /app/Caddyfile & |
|
|
TASK_PID=$! |
|
|
|
|
|
|
|
|
wait $TASK_PID |
|
|
|