Kurulum öncesi mimari ve gereksinimler
- Ubuntu 24.04 LTS, Docker Compose
- Başlangıçta 4 vCPU, 8 GB RAM ve NVMe
- llm.example.com DNS kaydı
- Sağlayıcı API anahtarları veya özel ağdaki Ollama/vLLM uç noktası
LiteLLM Proxy’yi PostgreSQL ve Redis ile kurun; farklı model sağlayıcılarını OpenAI uyumlu tek API altında birleştirin, sanal anahtar, bütçe, hız sınırı, SSL ve log gizliliğini yapılandırın.

LiteLLM Proxy’yi PostgreSQL ve Redis ile kurun; farklı model sağlayıcılarını OpenAI uyumlu tek API altında birleştirin, sanal anahtar, bütçe, hız sınırı, SSL ve log gizliliğini yapılandırın. Komutlar kopyalanabilir biçimde verilmiştir; örnek alan adları ve parolalar çalıştırılmadan önce kendi değerlerinizle değiştirilmelidir.
openssl rand -hex 32
openssl rand -base64 48LITELLM_MASTER_KEY=sk-YONETICI_ICIN_GUCLU_ANAHTAR
LITELLM_SALT_KEY=DEGISTIRILMEMESI_GEREKEN_RASTGELE_DEGER
POSTGRES_PASSWORD=GUCLU_DB_PAROLASI
DATABASE_URL=postgresql://litellm:GUCLU_DB_PAROLASI@postgres:5432/litellm
REDIS_HOST=redis
OPENAI_API_KEY=sk-...
GEMINI_API_KEY=...
ANTHROPIC_API_KEY=...model_list:
- model_name: gpt-4o-mini
litellm_params:
model: openai/gpt-4o-mini
api_key: os.environ/OPENAI_API_KEY
- model_name: gemini-flash
litellm_params:
model: gemini/gemini-2.5-flash
api_key: os.environ/GEMINI_API_KEY
- model_name: claude-sonnet
litellm_params:
model: anthropic/claude-sonnet-4-5
api_key: os.environ/ANTHROPIC_API_KEY
- model_name: yerel-qwen
litellm_params:
model: ollama/qwen3:8b
api_base: http://ollama:11434
general_settings:
master_key: os.environ/LITELLM_MASTER_KEY
database_url: os.environ/DATABASE_URLservices:
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: litellm
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: litellm
volumes:
- postgres_veri:/var/lib/postgresql/data
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- redis_veri:/data
litellm:
image: ghcr.io/berriai/litellm-database:main-stable
restart: unless-stopped
env_file: .env
command: ["--config", "/app/config.yaml", "--port", "4000"]
ports:
- 127.0.0.1:4000:4000
volumes:
- ./config.yaml:/app/config.yaml:ro
depends_on:
- postgres
- redis
volumes:
postgres_veri:
redis_veri:curl -sS http://127.0.0.1:4000/health/liveliness
curl -sS http://127.0.0.1:4000/v1/models -H "Authorization: Bearer sk-YONETICI_ICIN_GUCLU_ANAHTAR"curl https://llm.example.com/v1/chat/completions \
-H "Authorization: Bearer sk-SANAL_ANAHTAR" \
-H "Content-Type: application/json" \
-d '{"model":"yerel-qwen","messages":[{"role":"user","content":"Merhaba"}]}'sudo docker compose exec -T postgres pg_dump -U litellm -d litellm -Fc > litellm-$(date +%F).dump
sha256sum litellm-$(date +%F).dumpsudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
sudo tee /etc/nginx/sites-available/llm.example.com > /dev/null <<'NGINX'
server {
listen 80;
listen [::]:80;
server_name llm.example.com;
client_max_body_size 10G;
proxy_read_timeout 3600;
proxy_send_timeout 3600;
location / {
proxy_pass http://127.0.0.1:4000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
NGINX
sudo ln -s /etc/nginx/sites-available/llm.example.com /etc/nginx/sites-enabled/llm.example.com
sudo nginx -t
sudo systemctl reload nginxsudo certbot --nginx -d llm.example.com --redirect --agree-tos --no-eff-email -m [email protected]
sudo certbot renew --dry-run
curl -I https://llm.example.com
openssl s_client -connect llm.example.com:443 -servername llm.example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates| Belirti / Symptom | Kök neden ve çözüm / Root cause and fix |
|---|---|
| 401 invalid proxy key | Master key ile kullanıcıya verilen virtual key karıştırılmaz; Authorization Bearer başlığı kontrol edilir. |
| Model not found | İstemcinin gönderdiği model adı config içindeki model_name ile birebir eşleştirilir. |
| Prisma/DB migration hatası | Database image, DATABASE_URL, PostgreSQL erişimi ve sürüm geçiş notları kontrol edilir. |
| Anahtarlar okunamıyor | Kurulumun ilk LITELLM_SALT_KEY değeri geri yüklenir; rastgele yeni salt mevcut kayıtları çözemez. |
Evet; fakat örnek değerler değiştirilmeden, erişim sınırları uygulanmadan ve geri yükleme testi yapılmadan üretime alınmamalıdır.
Minimum değer yalnız kurulumun açılması içindir. Eş zamanlı kullanıcı, veri büyümesi ve arka plan işleri ölçülerek kaynak payı bırakılmalıdır.
Evet. SSL modu Full (strict), doğru origin sertifikası ve WebSocket/gerçek IP başlıkları uygulamanın gereksinimine göre ayarlanmalıdır.
Major sürümler otomatik güncellenmemelidir. Sürüm notu, veritabanı migration bilgisi, yedek ve geri dönüş imajı kontrol edilmelidir.
Veritabanı, yüklenen dosyalar, volume verileri, yapılandırma, şifreleme anahtarları ve kullanılan sürüm etiketi aynı geri dönüş setinde tutulmalıdır.
Web paneli ve standart iş yükleri için NVMe VPS yeterli olabilir. Model inference, OCR hızlandırma veya video transcoding varsa uygun GPU gerekir.
LiteLLM Proxy’yi PostgreSQL ve Redis ile kurun; farklı model sağlayıcılarını OpenAI uyumlu tek API altında birleştirin, sanal anahtar, bütçe, hız sınırı, SSL ve log gizliliğini yapılandırın.