- Remove User/Quota models; quota fields now live directly on APIKey - Admin UI: login, API key management, settings (Ollama URL/model), proxy info display - .env/.env.example: ADMIN_PASSWORD, PROXY_HOST/PORT, DATABASE_URL, APP_TZ - Admin API runs on 127.0.0.1 only; proxy host/port configurable - API keys support optional expires_at; verified against Europe/Berlin timezone - Daily/monthly quota resets use Europe/Berlin midnight boundary - Fix all tests to use new flat model; add expiry tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
51 lines
1.1 KiB
Bash
Executable File
51 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# .env laden
|
|
if [ -f .env ]; then
|
|
set -a
|
|
source .env
|
|
set +a
|
|
fi
|
|
|
|
if [ -z "$ADMIN_PASSWORD" ]; then
|
|
echo "Fehler: ADMIN_PASSWORD ist nicht gesetzt. Bitte .env befüllen."
|
|
exit 1
|
|
fi
|
|
|
|
# Datenbank initialisieren
|
|
echo "Initialisiere Datenbank..."
|
|
cd backend
|
|
python3 init_db.py
|
|
cd ..
|
|
|
|
PROXY_HOST=${PROXY_HOST:-0.0.0.0}
|
|
PROXY_PORT=${PROXY_PORT:-8000}
|
|
ADMIN_PORT=${ADMIN_PORT:-8001}
|
|
|
|
# Backend starten
|
|
echo "Starte Backend (Proxy) auf ${PROXY_HOST}:${PROXY_PORT}..."
|
|
cd backend
|
|
python3 -m uvicorn main:app --reload --host "$PROXY_HOST" --port "$PROXY_PORT" &
|
|
BACKEND_PID=$!
|
|
|
|
# Admin-API immer nur lokal erreichbar (Host nicht konfigurierbar)
|
|
echo "Starte Admin-API auf 127.0.0.1:${ADMIN_PORT}..."
|
|
python3 -m uvicorn admin:app --reload --host 127.0.0.1 --port "$ADMIN_PORT" &
|
|
ADMIN_PID=$!
|
|
cd ..
|
|
|
|
# Frontend starten
|
|
echo "Starte Frontend..."
|
|
cd frontend
|
|
npm install --silent
|
|
npm run dev &
|
|
FRONTEND_PID=$!
|
|
cd ..
|
|
|
|
echo "Backend läuft auf PID: $BACKEND_PID (Port $PROXY_PORT)"
|
|
echo "Admin-API läuft auf PID: $ADMIN_PID (Port 8001, nur lokal)"
|
|
echo "Frontend läuft auf PID: $FRONTEND_PID"
|
|
echo "Admin-Oberfläche: http://localhost:5173"
|
|
|
|
wait
|