Ana içeriğe geç
Kategoriye Dön

Self-Hosting Nedir? Kendi Sunucunda Neler Barındırabilirsin?

Self-hosting nedir, neden yapılır, popüler self-hosted uygulamalar (Nextcloud, Vaultwarden, Jellyfin, Gitea, n8n), Docker kurulumu ve bulut hizmetleriyle karşılaştırma.

Okuma süresi: 12 dk Self-Hosting
self-hostingnextclouddockervaultwardenjellyfingiteaprivacy

İçindekiler

Self-Hosting Nedir? Kendi Sunucunda Neler Barındırabilirsin?

Self-hosting, normalde bulut hizmetleri (Google Drive, Dropbox, Netflix, GitHub vb.) aracılığıyla kullandığınız uygulamaları kendi sunucunuzda çalıştırmanızdır. Verileriniz üzerinde tam kontrol sahibi olursunuz, aylık abonelik ücretlerinden kurtulursunuz ve gizliliğinizi korursunuz.

Neden Self-Hosting Yapmalısınız?

1. Gizlilik ve Veri Kontrolü

Bulut hizmetleri verilerinizi analiz eder, reklam profili oluşturur ve üçüncü taraflarla paylaşabilir. Self-hosting ile verileriniz yalnızca sizin sunucunuzda kalır.

Bulut vs Self-Hosting Veri Kontrolü:

Google Drive:  Google verilerinizi tarar ve analiz eder
Dropbox:       Dosyalarınıza erişim hakkı saklıdır
Netflix:       İzleme alışkanlıklarınız takip edilir

Self-Hosted:   Verileriniz yalnızca sizin kontrolünüzde

2. Maliyet Tasarrufu

Uzun vadede self-hosting, bulut aboneliklerine göre çok daha ekonomik olabilir.

Aylık Maliyet Karşılaştırması (yaklaşık):

Bulut Hizmetleri:
- Google One 2TB:     ~$10/ay
- Dropbox Plus:       ~$12/ay
- Netflix Standard:   ~$15/ay
- GitHub Pro:         ~$4/ay
- Notion Plus:        ~$8/ay
Toplam:               ~$49/ay

Self-Hosted (REXE VDS):
- Sunucu maliyeti:    ~$15-30/ay
- Tüm hizmetler dahil
Tasarruf:             ~$20-35/ay

3. Özelleştirme ve Kontrol

Bulut hizmetleri size sınırlı özelleştirme seçeneği sunar. Self-hosting ile uygulamayı istediğiniz gibi yapılandırabilirsiniz.

4. Bağımsızlık

Bulut hizmetleri kapanabilir, fiyatlarını artırabilir veya özelliklerini kaldırabilir. Self-hosting ile bu risklerden bağımsızsınız.

Popüler Self-Hosted Uygulamalar

Dosya Depolama ve Senkronizasyon

Nextcloud — Google Drive Alternatifi

hljs bash
# Docker ile Nextcloud kurulumu
docker run -d \
  --name nextcloud \
  -p 8080:80 \
  -v nextcloud_data:/var/www/html \
  -e MYSQL_HOST=db \
  -e MYSQL_DATABASE=nextcloud \
  -e MYSQL_USER=nextcloud \
  -e MYSQL_PASSWORD=sifre \
  nextcloud:latest

Nextcloud özellikleri:

  • Dosya depolama ve senkronizasyon
  • Takvim ve kişiler (CalDAV/CardDAV)
  • Video konferans (Talk)
  • Ofis belgesi düzenleme (Collabora/OnlyOffice)
  • Fotoğraf galerisi

Şifre Yöneticisi

Vaultwarden — Bitwarden Alternatifi

hljs bash
# Docker ile Vaultwarden kurulumu
docker run -d \
  --name vaultwarden \
  -p 8080:80 \
  -v vaultwarden_data:/data \
  -e DOMAIN=https://vault.example.com \
  -e SIGNUPS_ALLOWED=false \
  vaultwarden/server:latest

Vaultwarden özellikleri:

  • Şifre yönetimi
  • 2FA desteği
  • Güvenli not saklama
  • Organizasyon ve paylaşım
  • Tüm Bitwarden istemcileriyle uyumlu

Medya Sunucusu

Jellyfin — Netflix/Plex Alternatifi

hljs bash
# Docker ile Jellyfin kurulumu
docker run -d \
  --name jellyfin \
  -p 8096:8096 \
  -v /path/to/media:/media \
  -v jellyfin_config:/config \
  jellyfin/jellyfin:latest

Jellyfin özellikleri:

  • Film ve dizi akışı
  • Müzik kütüphanesi
  • Canlı TV ve DVR
  • Çoklu kullanıcı desteği
  • Mobil ve TV uygulamaları

Kod Deposu

Gitea/Forgejo — GitHub Alternatifi

hljs bash
# Docker ile Gitea kurulumu
docker run -d \
  --name gitea \
  -p 3000:3000 \
  -p 222:22 \
  -v gitea_data:/data \
  gitea/gitea:latest

Gitea özellikleri:

  • Git repository yönetimi
  • Issue tracker
  • Pull request sistemi
  • CI/CD entegrasyonu
  • Wiki

Uptime İzleme

Uptime Kuma — Uptime Robot Alternatifi

hljs bash
# Docker ile Uptime Kuma kurulumu
docker run -d \
  --name uptime-kuma \
  -p 3001:3001 \
  -v uptime_kuma_data:/app/data \
  louislam/uptime-kuma:latest

Uptime Kuma özellikleri:

  • HTTP/HTTPS izleme
  • TCP port izleme
  • DNS izleme
  • Telegram/Discord/e-posta bildirimleri
  • Güzel durum sayfası

Otomasyon

n8n — Zapier/Make Alternatifi

hljs bash
# Docker ile n8n kurulumu
docker run -d \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e N8N_BASIC_AUTH_ACTIVE=true \
  -e N8N_BASIC_AUTH_USER=admin \
  -e N8N_BASIC_AUTH_PASSWORD=sifre \
  n8nio/n8n:latest

Blog/CMS

Ghost — Medium/WordPress Alternatifi

hljs bash
# Docker ile Ghost kurulumu
docker run -d \
  --name ghost \
  -p 2368:2368 \
  -v ghost_content:/var/lib/ghost/content \
  -e url=https://blog.example.com \
  ghost:latest

Docker Compose ile Tam Self-Hosting Stack

hljs yaml
# docker-compose.yml
version: '3.8'

services:
  nextcloud:
    image: nextcloud:latest
    ports:
      - "8080:80"
    volumes:
      - nextcloud_data:/var/www/html
    environment:
      - MYSQL_HOST=db
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=${DB_PASSWORD}
    depends_on:
      - db

  vaultwarden:
    image: vaultwarden/server:latest
    ports:
      - "8081:80"
    volumes:
      - vaultwarden_data:/data
    environment:
      - DOMAIN=https://vault.example.com
      - SIGNUPS_ALLOWED=false

  jellyfin:
    image: jellyfin/jellyfin:latest
    ports:
      - "8096:8096"
    volumes:
      - /media:/media:ro
      - jellyfin_config:/config

  uptime-kuma:
    image: louislam/uptime-kuma:latest
    ports:
      - "3001:3001"
    volumes:
      - uptime_kuma_data:/app/data

  db:
    image: mariadb:latest
    volumes:
      - db_data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=${DB_PASSWORD}

volumes:
  nextcloud_data:
  vaultwarden_data:
  jellyfin_config:
  uptime_kuma_data:
  db_data:

Nginx Reverse Proxy ile SSL

hljs nginx
# /etc/nginx/sites-available/self-hosting
server {
    listen 443 ssl http2;
    server_name cloud.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    location / {
        proxy_pass http://localhost:8080;
        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;
    }
}

Donanım Gereksinimleri

Kullanım SenaryosuCPURAMDepolama
Temel (Vaultwarden + Uptime Kuma)1 vCPU1 GB10 GB
Orta (+ Nextcloud + Gitea)2 vCPU2-4 GB50+ GB
Tam Stack (+ Jellyfin + n8n)4 vCPU4-8 GB100+ GB
Medya Ağırlıklı (4K streaming)4+ vCPU8+ GB500+ GB

Self-hosting'e başlamak için REXE'nin VDS planları idealdir. 2 vCPU ve 4 GB RAM ile Nextcloud, Vaultwarden, Gitea ve Uptime Kuma'yı rahatça çalıştırabilirsiniz.

Self-Hosting Artıları ve Eksileri

Artılar

  • Tam veri kontrolü ve gizlilik
  • Uzun vadede maliyet tasarrufu
  • Sınırsız özelleştirme
  • Bulut hizmetlerine bağımlılık yok
  • Öğrenme fırsatı

Eksiler

  • Teknik bilgi gerektirir
  • Bakım ve güncelleme sorumluluğu
  • Başlangıç kurulum süresi
  • Yedekleme sorumluluğu
  • Uptime garantisi yok (kendi sorumluluğunuz)

Self-hosting, teknik meraklılar ve gizliliğine önem verenler için mükemmel bir seçenektir. Başlangıç için Vaultwarden ve Uptime Kuma gibi basit uygulamalarla başlayın, deneyim kazandıkça daha karmaşık uygulamalara geçin.