Kurulum öncesi mimari ve gereksinimler
- Ubuntu 24.04 LTS, Docker ve Compose
- CPU kullanımında en az 8 GB RAM; model boyutuna uygun NVIDIA GPU/VRAM önerilir
- ai.example.com DNS kaydı
- Model dosyaları için yeterli NVMe alanı
Ubuntu GPU sunucuda Ollama, Open WebUI, SearXNG ve Redis’i aynı özel ağda kurup yerel modele kontrollü web araması kazandırın; SSL, güvenlik, model testi ve hata çözümünü tamamlayın.

Ubuntu GPU sunucuda Ollama, Open WebUI, SearXNG ve Redis’i aynı özel ağda kurup yerel modele kontrollü web araması kazandırın; SSL, güvenlik, model testi ve hata çözümünü tamamlayın. Komutlar kopyalanabilir biçimde verilmiştir; örnek alan adları ve parolalar çalıştırılmadan önce kendi değerlerinizle değiştirilmelidir.
nvidia-smi
lspci -nn | grep -Ei "3d|display|vga"
docker run --rm --gpus all nvidia/cuda:12.6.0-base-ubuntu24.04 nvidia-smisudo mkdir -p /opt/eka-ai/searxng
cd /opt/eka-ai
openssl rand -hex 32use_default_settings: true
server:
secret_key: "GUCLU_RASTGELE_ANAHTAR"
limiter: true
image_proxy: true
search:
safe_search: 1
formats:
- html
- jsonservices:
ollama:
image: ollama/ollama:latest
restart: unless-stopped
volumes:
- ollama_veri:/root/.ollama
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
redis:
image: redis:7-alpine
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
- redis_veri:/data
searxng:
image: searxng/searxng:latest
restart: unless-stopped
volumes:
- ./searxng/settings.yml:/etc/searxng/settings.yml:ro
depends_on:
- redis
open-webui:
image: ghcr.io/open-webui/open-webui:main
restart: unless-stopped
ports:
- 127.0.0.1:3000:8080
environment:
OLLAMA_BASE_URL: http://ollama:11434
ENABLE_WEB_SEARCH: "true"
WEB_SEARCH_ENGINE: searxng
SEARXNG_QUERY_URL: http://searxng:8080/search?q=<query>
volumes:
- openwebui_veri:/app/backend/data
depends_on:
- ollama
- searxng
volumes:
ollama_veri:
redis_veri:
openwebui_veri:sudo docker compose up -d
sudo docker compose exec ollama ollama pull qwen3:8b
sudo docker compose exec ollama ollama list
sudo docker compose pscurl -fsS http://127.0.0.1:3000/health
sudo docker compose exec searxng wget -qO- "http://127.0.0.1:8080/search?q=ubuntu&format=json" | head
sudo docker compose exec ollama ollama run qwen3:8b "Yalnızca TEST_OK yaz"watch -n 1 nvidia-smi
sudo docker compose logs -f --tail 100 open-webui searxng ollamasudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
sudo tee /etc/nginx/sites-available/ai.example.com > /dev/null <<'NGINX'
server {
listen 80;
listen [::]:80;
server_name ai.example.com;
client_max_body_size 10G;
proxy_read_timeout 3600;
proxy_send_timeout 3600;
location / {
proxy_pass http://127.0.0.1:3000;
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/ai.example.com /etc/nginx/sites-enabled/ai.example.com
sudo nginx -t
sudo systemctl reload nginxsudo certbot --nginx -d ai.example.com --redirect --agree-tos --no-eff-email -m [email protected]
sudo certbot renew --dry-run
curl -I https://ai.example.com
openssl s_client -connect ai.example.com:443 -servername ai.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 |
|---|---|
| SearXNG boş sonuç dönüyor | JSON formatı, limiter ayarı, container DNS erişimi ve arama motorlarının engelleme cevapları kontrol edilir. |
| Open WebUI Ollama’ya bağlanmıyor | Container içinde localhost yerine http://ollama:11434 servis adı kullanılır. |
| CUDA görünmüyor | Host sürücüsü, NVIDIA Container Toolkit ve Compose GPU reservation doğrulanır. |
| Model cevap verirken OOM | Daha küçük/quantized model seçilir, context düşürülür ve nvidia-smi ile gerçek VRAM kullanımı izlenir. |
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.
Ubuntu GPU sunucuda Ollama, Open WebUI, SearXNG ve Redis’i aynı özel ağda kurup yerel modele kontrollü web araması kazandırın; SSL, güvenlik, model testi ve hata çözümünü tamamlayın.