4c9ed3c24b
Complete rewrite from Python/FastAPI to Go/Gin: - Go backend: auth (API keys + bcrypt), llama.cpp subprocess manager, hot-swap multi-model, rate limiting, quota system, webhooks - Vue 3 SPA admin panel (src/) with Tailwind CSS - Deployment: Docker multi-stage, docker-compose, nginx, systemd - GORM/SQLite models: ApiKey, Model, UsageLog, Quota, Webhook - REST API: /api/v1/admin/* (keys, models, chat, usage, health) - Embedded frontend via go:embed (build output at web/dist/) Removed legacy Python artifacts (app/, tests/, pyproject.toml, etc.)
29 lines
654 B
Bash
29 lines
654 B
Bash
LLAMALINK_ENV=development
|
|
LLAMALINK_HOST=0.0.0.0
|
|
LLAMALINK_PORT=8000
|
|
LLAMALINK_SECRET_KEY=change-me-in-production
|
|
|
|
DATABASE_URL=sqlite:///./llamalink.db
|
|
DATABASE_MAX_OPENConns=25
|
|
DATABASE_MAX_IDLE_CONNS=5
|
|
DATABASE_CONN_MAX_LIFETIME=300
|
|
|
|
MANAGE_LLAMA_SERVER=true
|
|
LLAMA_SERVER_BIN=/usr/local/bin/llama-server
|
|
LLAMA_SERVER_HOST=127.0.0.1
|
|
LLAMA_SERVER_PORT=8080
|
|
LLAMA_SERVER_STARTUP_TIMEOUT=120
|
|
LLAMA_SERVER_STOP_TIMEOUT=10
|
|
MODEL_SWAP_COOLDOWN=2
|
|
|
|
RATE_LIMIT_PER_MINUTE=60
|
|
RATE_LIMIT_STORAGE=memory
|
|
# RATE_LIMIT_REDIS_URL=redis://localhost:6379/0
|
|
|
|
ADMIN_TOKEN=change-me-in-production
|
|
|
|
LOG_LEVEL=info
|
|
LOG_FORMAT=json
|
|
|
|
# WEBHOOK_SECRET=your-webhook-secret-here
|