Raspberry Pi 5 Ev Sunucusu Kurulumu: Docker, Pi-hole, VPN ve Home Assistant Rehberi
Raspberry Pi 5, küçük boyutuna rağmen birden fazla sunucu uygulamasını aynı anda çalıştırabilen güçlü bir tek kartlı bilgisayardır. Doğru donanım ve yazılım yapılandırmasıyla Raspberry Pi 5’i reklam engelleme, güvenli uzaktan erişim, akıllı ev yönetimi, dosya paylaşımı, web sitesi barındırma, otomasyon ve sistem izleme görevlerinde kullanabilirsiniz.
Bu kapsamlı rehberde Raspberry Pi 5 ev sunucusu kurulumu sıfırdan ve adım adım anlatılmaktadır. Raspberry Pi OS Lite kurulumu, SSH bağlantısı, sabit IP, Docker, Docker Compose, Portainer, Pi-hole, WireGuard VPN, Home Assistant, Uptime Kuma, güvenlik, yedekleme ve performans yönetimi gibi temel konuların tamamını ele alacağız.
Kurulumun sonunda Raspberry Pi 5 üzerinde şu servislerden birini veya birkaçını çalıştırabilirsiniz:
Ağ genelinde reklam ve takipçi engelleme
Ev dışından güvenli VPN bağlantısı
Akıllı ev cihazlarını tek panelden yönetme
Docker konteynerlerini tarayıcıdan kontrol etme
Kişisel dosya sunucusu oluşturma
Web sitesi ve API test ortamı hazırlama
Medya sunucusu çalıştırma
Otomasyon uygulamaları kullanma
Yerel DNS sistemi oluşturma
Web sitelerini ve cihazları sürekli izleme
Kişisel bulut sistemi kurma
Yazılım geliştirme ve test ortamı hazırlama
Raspberry Pi 5 ev sunucusu, yalnızca hazır uygulamaları çalıştıran küçük bir bilgisayar değildir. Aynı zamanda Linux, Docker, ağ yönetimi, siber güvenlik ve sistem yönetimi konularında gerçek deneyim kazanabileceğiniz kapsamlı bir laboratuvar ortamıdır.
Ev Sunucusu Nedir?
Ev sunucusu, ev ağı içinde sürekli veya ihtiyaç duyulduğunda çalışan ve diğer cihazlara belirli hizmetler sağlayan bilgisayardır.
Normal bir bilgisayar çoğunlukla doğrudan kullanıcı tarafından kullanılır. Klavye, fare ve monitörle kontrol edilir. Ev sunucusu ise genellikle arka planda çalışır ve ağdaki diğer cihazlara hizmet sunar.
Örneğin Raspberry Pi 5 üzerine Pi-hole kurduğunuzda evdeki telefon, bilgisayar, tablet ve televizyonların DNS sorguları Raspberry Pi üzerinden geçebilir. Böylece belirli reklam ve takip alan adları ağ genelinde engellenebilir.
Home Assistant kurduğunuzda akıllı ampuller, prizler, sensörler, termostatlar ve otomasyonlar tek bir panel üzerinden yönetilebilir.
WireGuard VPN kurduğunuzda dışarıdayken ev ağınıza şifreli bağlantı kurabilirsiniz.
Dosya sunucusu kurduğunuzda evdeki bilgisayarlar ve mobil cihazlar ortak klasörleri kullanabilir.
Web sunucusu kurduğunuzda kendi projelerinizi yerel ağda test edebilir veya uygun güvenlik önlemleriyle internet üzerinden yayınlayabilirsiniz.
Ev sunucusu kurmanın temel amaçları şunlardır:
Verileri kendi kontrolünüzde tutmak
Tekrarlayan dijital işlemleri otomatikleştirmek
Ücretli bulut servislerine olan bağımlılığı azaltmak
Ev ağındaki cihazları merkezi olarak yönetmek
Yeni teknolojileri gerçek bir sistem üzerinde öğrenmek
Kişisel projeleri düşük enerji tüketimiyle çalıştırmak
Raspberry Pi 5 Neden Ev Sunucusu İçin Uygundur?
Raspberry Pi 5’in ev sunucusu projelerinde tercih edilmesinin birçok nedeni vardır.
Küçük Boyut
Raspberry Pi 5 oldukça az yer kaplar. Modemin, ağ anahtarının veya çalışma masasının yakınına kolayca yerleştirilebilir.
Tam boyutlu masaüstü bilgisayar için ayrı masa ve geniş alan gerekirken Raspberry Pi küçük bir kasa içinde çalışabilir.
Düşük Enerji Tüketimi
Ev sunucuları genellikle günün 24 saati açık bırakılır.
Tam boyutlu ve güçlü bir masaüstü bilgisayarı yalnızca birkaç hafif servis için sürekli açık bırakmak gereksiz enerji tüketimine neden olabilir.
Raspberry Pi 5, doğru yapılandırıldığında düşük enerji tüketimiyle:
Pi-hole
VPN
Home Assistant
Küçük web uygulamaları
Dosya paylaşımı
Sistem izleme
Otomasyon servisleri
gibi görevleri yerine getirebilir.
ARM64 Desteği
Raspberry Pi 5, 64-bit ARM mimarisi kullanır.
Günümüzde birçok Docker uygulaması ARM64 mimarisini desteklemektedir. Bu sayede Pi-hole, Home Assistant, Portainer, Uptime Kuma, Nginx, PostgreSQL, Redis ve farklı açık kaynak uygulamalar Raspberry Pi üzerinde çalıştırılabilir.
Ancak her Docker imajı ARM64 desteğine sahip olmayabilir. Uygulamayı kurmadan önce kullandığınız imajın Raspberry Pi mimarisiyle uyumlu olduğunu kontrol etmelisiniz.
Gigabit Ethernet Bağlantısı
Sunucu bağlantılarında hız kadar kararlılık da önemlidir.
Raspberry Pi 5 üzerindeki Gigabit Ethernet bağlantısı, ev ağı servisleri için önemli bir avantajdır.
Kablolu bağlantı:
Daha kararlı çalışır.
Wi-Fi parazitlerinden daha az etkilenir.
Büyük dosya transferlerinde daha iyi sonuç verir.
VPN ve DNS servislerinde kesintiyi azaltır.
Sabit IP yönetimini kolaylaştırır.
Mümkün olduğu sürece ev sunucusunu modem veya ağ anahtarına Ethernet kablosuyla bağlamalısınız.
USB 3.0 Desteği
Harici SSD ve HDD diskler USB 3.0 üzerinden bağlanabilir.
Bu özellik sayesinde:
Dosya sunucusu
Medya arşivi
Otomatik yedekleme
Güvenlik kamerası kaydı
Docker uygulama verileri
için harici depolama kullanılabilir.
NVMe SSD Desteği
Raspberry Pi 5 üzerinde uyumlu bir M.2 HAT veya adaptör kullanılarak NVMe SSD bağlanabilir.
NVMe SSD şu işlemlerde önemli avantaj sağlar:
İşletim sisteminin hızlı açılması
Docker imajlarının hızlı yüklenmesi
Veri tabanı sorguları
Home Assistant geçmiş verileri
Log işlemleri
Web uygulamalarının tepki süresi
Dosya indeksleme
MicroSD kart başlangıç için kullanılabilir. Ancak uzun süre açık kalan ve sık veri yazan bir ev sunucusunda NVMe veya kaliteli bir SSD daha güvenilir olabilir.
Geniş Topluluk ve Dokümantasyon
Raspberry Pi dünyanın en yaygın tek kartlı bilgisayarlarından biridir.
Bu nedenle:
Kurulum rehberleri
Hata çözümleri
Docker dosyaları
Forum içerikleri
Açık kaynak projeler
Eğitim videoları
Donanım aksesuarları
konusunda geniş bir ekosistem bulunur.
Bu büyük topluluk, kurulum sırasında karşılaşılan sorunların çözülmesini kolaylaştırır.
Raspberry Pi 5 Ev Sunucusu ile Neler Yapılabilir?
Raspberry Pi 5 üzerinde çalıştırılabilecek servislerin sayısı oldukça fazladır.
Ancak başlangıçta bütün uygulamaları aynı anda kurmak yerine temel ihtiyaçları belirlemek daha doğru olur.
Pi-hole Reklam Engelleme Sistemi
Pi-hole, ev ağındaki cihazların DNS sorgularını kontrol eden bir sistemdir.
Belirli reklam ve takip alan adlarını engelleyerek ağ genelinde filtreleme sağlayabilir.
Pi-hole’un önemli avantajı, her cihaza ayrı reklam engelleme uygulaması yüklemeyi gerektirmemesidir.
Aşağıdaki cihazlar Pi-hole’dan yararlanabilir:
Windows bilgisayarlar
macOS cihazlar
Android telefonlar
iPhone ve iPad
Akıllı televizyonlar
Oyun konsolları
IoT cihazları
Tabletler
Pi-hole bütün reklamları engelleyemez. Özellikle reklam ve içerik aynı alan adı üzerinden sunuluyorsa DNS seviyesinde ayrım yapmak mümkün olmayabilir.
WireGuard VPN Sunucusu
WireGuard, ev dışındayken ev ağınıza güvenli ve şifreli bağlantı kurmanızı sağlar.
VPN bağlantısı üzerinden:
Raspberry Pi’ye SSH bağlantısı kurabilirsiniz.
NAS klasörlerine erişebilirsiniz.
Home Assistant panelini açabilirsiniz.
Pi-hole DNS sistemini dışarıdayken kullanabilirsiniz.
Evdeki web uygulamalarına bağlanabilirsiniz.
Yerel cihazların yönetim panellerine erişebilirsiniz.
Yönetim panellerini doğrudan internete açmak yerine VPN kullanmak daha güvenli bir yöntemdir.
Home Assistant Akıllı Ev Sistemi
Home Assistant; akıllı ampuller, prizler, sensörler, klimalar, kameralar ve diğer ev otomasyon cihazlarını tek panelden yönetmek için kullanılabilir.
Örnek otomasyonlar:
Güneş battığında salon ışıklarını açmak
Evden çıkıldığında bütün prizleri kapatmak
Hareket algılandığında koridor ışığını yakmak
Su kaçağı algılandığında telefona bildirim göndermek
Belirli sıcaklığın üzerinde klimayı çalıştırmak
Kapı açıldığında kayıt oluşturmak
Elektrik tüketimi yükseldiğinde uyarı göndermek
Gece belirli saatte bütün ışıkları kapatmak
Dosya Sunucusu
Samba veya OpenMediaVault kullanılarak ağdaki cihazlar için ortak klasörler oluşturulabilir.
Dosya sunucusu sayesinde:
Belgeleri ortak kullanabilirsiniz.
Telefon fotoğraflarını yedekleyebilirsiniz.
Bilgisayarların otomatik yedeklerini saklayabilirsiniz.
Film ve müzik arşivine farklı cihazlardan erişebilirsiniz.
Proje dosyalarını merkezi olarak tutabilirsiniz.
Medya Sunucusu
Jellyfin veya Plex gibi uygulamalarla kişisel film, dizi ve müzik arşivi televizyon, bilgisayar ve mobil cihazlara aktarılabilir.
Medya dosyalarının cihazlar tarafından doğrudan oynatılabilmesi performans açısından önemlidir.
Gerçek zamanlı video dönüştürme işlemleri Raspberry Pi üzerinde yoğun kaynak tüketebilir.
Web Geliştirme Sunucusu
Raspberry Pi üzerinde:
Nginx
Apache
PHP
Node.js
Python
MySQL
MariaDB
PostgreSQL
Redis
gibi teknolojiler kullanılabilir.
Bu sayede web projeleri yerel ağda test edilebilir.
Raspberry Pi üretim ortamındaki yüksek trafikli projeler için her zaman uygun olmayabilir. Ancak geliştirme, test ve kişisel projeler için oldukça kullanışlıdır.
Ağ ve Sistem İzleme
Uptime Kuma ve benzeri uygulamalarla:
Web siteleri
Sunucular
Modem
NAS
Home Assistant
API servisleri
Yerel cihazlar
izlenebilir.
Bir servis çalışmayı durdurduğunda bildirim alınabilir.
Otomasyon Sunucusu
n8n ve Node-RED gibi araçlarla dijital işlemler otomatikleştirilebilir.
Örneğin:
Form geldiğinde e-posta göndermek
Belirli e-postaları Google Sheets’e kaydetmek
Günlük satış raporu hazırlamak
Telegram üzerinden sistem uyarısı göndermek
Home Assistant olaylarını başka servislere aktarmak
Web sitesindeki değişiklikleri takip etmek
Belirli aralıklarla veri çekmek
Git Sunucusu
Gitea gibi hafif çözümlerle kişisel kod depoları oluşturabilirsiniz.
Böylece projelerinizi kendi sunucunuzda saklayabilir ve sürüm kontrolü yapabilirsiniz.
Kişisel Bulut
Nextcloud gibi sistemlerle:
Dosya saklama
Dosya paylaşma
Mobil fotoğraf yedekleme
Takvim
Kişiler
Ortak çalışma
Web bağlantısıyla dosya paylaşma
özellikleri kullanılabilir.
Nextcloud, basit dosya paylaşımından daha fazla kaynak ve bakım gerektirir.
Aynı Raspberry Pi Üzerinde Kaç Servis Çalıştırılabilir?
Bu sorunun tek bir cevabı yoktur.
Aynı anda çalıştırılabilecek servis sayısını şu etkenler belirler:
Raspberry Pi RAM kapasitesi
İşlemci kullanımı
Uygulamaların bellek ihtiyacı
Aynı anda bağlanan kullanıcı sayısı
Depolama hızı
Docker konteyner sayısı
Veri tabanı yükü
Medya dönüştürme ihtiyacı
Ağ trafiği
Soğutma
Güç kaynağı
Log miktarı
Uygulama yapılandırması
Pi-hole, Portainer ve Uptime Kuma gibi uygulamalar nispeten hafif olabilir.
Aşağıdaki servisler daha fazla kaynak tüketebilir:
Nextcloud
Jellyfin
Plex
Büyük veri tabanları
Çok sayıda Home Assistant entegrasyonu
Yoğun n8n iş akışları
Güvenlik kamerası sistemleri
Gerçek zamanlı video dönüştürme
Çok sayıda eş zamanlı kullanıcı
En doğru yaklaşım, temel sistemle başlayıp kaynak kullanımını izleyerek yeni servisler eklemektir.
Raspberry Pi 5 Ev Sunucusu İçin Gerekli Donanımlar
| Donanım | Minimum Seçenek | Önerilen Seçenek |
|---|---|---|
| Raspberry Pi | Raspberry Pi 5 4 GB | Raspberry Pi 5 8 GB |
| Sistem diski | Kaliteli 32 veya 64 GB microSD | 256 GB veya üzeri NVMe SSD |
| Güç kaynağı | Uyumlu USB-C adaptör | Kaliteli 27 W USB-C adaptör |
| Soğutma | Fanlı kasa | Active Cooler |
| Ağ | Wi-Fi | Gigabit Ethernet |
| Veri diski | İhtiyaca göre | USB 3.0 SSD veya HDD |
| Kasa | Standart kasa | SSD ve fana uygun kasa |
| Güç koruması | Bulunmayabilir | UPS |
| Ağ kablosu | Cat5e | Cat6 |
| Yedekleme diski | İsteğe bağlı | Ayrı HDD veya SSD |
Raspberry Pi 5 Ev Sunucusu İçin 4 GB mı, 8 GB mı?
4 GB Model Hangi Servisler İçin Yeterlidir?
Raspberry Pi 5’in 4 GB modeli şu servisler için yeterli olabilir:
Pi-hole
WireGuard
Portainer
Uptime Kuma
Basit Samba paylaşımı
Küçük web sunucusu
Hafif Home Assistant kurulumu
Birkaç küçük Docker konteyneri
Basit otomasyon görevleri
8 GB Model Hangi Durumlarda Avantaj Sağlar?
8 GB model şu durumlarda daha uygundur:
Çok sayıda Docker konteyneri çalıştırmak
Home Assistant ve çok sayıda entegrasyon kullanmak
Nextcloud kurmak
Veri tabanı çalıştırmak
n8n iş akışları kullanmak
Jellyfin medya sunucusu kurmak
Yazılım geliştirme ortamı oluşturmak
Birden fazla kullanıcıya hizmet vermek
Sistemi gelecekte genişletmek
RAM kapasitesi tek başına performansı belirlemez.
Yavaş bir microSD kart ve kötü soğutma bulunan 8 GB Raspberry Pi, NVMe SSD ve iyi soğutma kullanan 4 GB cihazdan daha kötü kullanıcı deneyimi sunabilir.
MicroSD Kart mı, NVMe SSD mi?
MicroSD kart başlangıç için kolay ve uygun maliyetlidir.
Ancak ev sunucusu:
Sistem logları
Docker verileri
Veri tabanları
Güncellemeler
Uygulama önbellekleri
Home Assistant geçmişi
nedeniyle depolama birimine sürekli veri yazabilir.
Bu yoğun kullanım microSD kartın zamanla yıpranmasına neden olabilir.
NVMe SSD Kullanmanın Avantajları
Daha hızlı sistem açılışı
Daha hızlı güncelleme
Docker imajlarının hızlı yüklenmesi
Veri tabanı işlemlerinde düşük gecikme
Daha iyi genel tepki süresi
MicroSD karta göre daha uzun kullanım ömrü
Büyük log ve uygulama verilerinde daha iyi performans
Uzun süre kullanılacak ev sunucusunda işletim sistemini NVMe SSD üzerinde çalıştırmak daha sağlıklı olabilir.
Raspberry Pi Ev Sunucusu Mimarisi Nasıl Planlanmalı?
Örnek bir ev sunucusu yapısı şu şekilde olabilir:
Raspberry Pi 5
├── Raspberry Pi OS Lite 64-bit
├── Docker Engine
├── Docker Compose
├── Portainer
├── Pi-hole
├── Home Assistant
├── Uptime Kuma
├── WireGuard
├── Samba
└── Harici veri diski
Servislerin her biri ayrı Docker konteynerinde çalıştırılabilir.
Docker kullanmanın avantajları şunlardır:
Uygulamaları birbirinden ayırır.
Kurulumu tekrar edilebilir hale getirir.
Silme ve yeniden kurmayı kolaylaştırır.
Sürüm yönetimini kolaylaştırır.
Yapılandırmaların dosya halinde saklanmasını sağlar.
Uygulamaları başka sisteme taşımayı kolaylaştırır.
Port ve ağ yönetimini düzenler.
Uygulama bağımlılıklarının çakışmasını azaltır.
Raspberry Pi OS Lite Kurulumu
Ev sunucusunda çoğu zaman grafik masaüstü ortamına ihtiyaç yoktur.
Bu nedenle Raspberry Pi OS Lite 64-bit sürümü tercih edilebilir.
Raspberry Pi Imager Ayarları
Raspberry Pi Imager uygulamasını açın.
Cihaz olarak Raspberry Pi 5’i seçin.
İşletim sistemi olarak Raspberry Pi OS Lite 64-bit seçin.
MicroSD kartı veya NVMe SSD’yi seçin.
Özelleştirme ayarlarını açın.
Cihaz adını belirleyin.
Kullanıcı adı ve güçlü parola oluşturun.
SSH erişimini etkinleştirin.
Saat dilimini Europe/Istanbul yapın.
Klavye düzenini Türkçe seçin.
Gerekliyse Wi-Fi bilgilerini girin.
İşletim sistemini depolama birimine yazın.
Önerilen cihaz adı:
xcodeart-server
Sunucuda grafik masaüstü kullanmamak:
RAM kullanımını azaltır.
İşlemci yükünü düşürür.
Güncellenecek paket sayısını azaltır.
Saldırı yüzeyini küçültebilir.
Uzaktan yönetimi sadeleştirir.
İlk SSH Bağlantısı
Raspberry Pi’yi Ethernet kablosuyla modeme bağlayın ve cihazı açın.
Birkaç dakika bekledikten sonra bilgisayarınızda Terminal veya PowerShell açın.
Cihaz adına bağlanmayı deneyin:
ssh kullaniciadi@xcodeart-server.local
Cihaz adı çalışmıyorsa modem panelinden Raspberry Pi’nin IP adresini bulun:
ssh kullaniciadi@192.168.1.60
İlk bağlantıda güvenlik anahtarı onayı istenebilir.
Doğru cihaza bağlandığınızdan eminseniz onaylayın ve parolanızı girin.
Raspberry Pi Sistemini Güncelleme
Yeni kurulumdan sonra sistemi güncelleyin:
sudo apt update
sudo apt full-upgrade -y
sudo reboot
Cihaz yeniden açıldıktan sonra tekrar SSH bağlantısı kurun.
Sistem bilgilerini kontrol edin:
hostnamectl
İşletim sistemi ve çekirdek bilgileri:
uname -a
Disk kullanımı:
df -h
Bellek kullanımı:
free -h
İşlemci sıcaklığı:
vcgencmd measure_temp
Çalışma süresi:
uptime
Diskleri görüntülemek için:
lsblk
Ağ bağlantılarını görmek için:
ip addr
Raspberry Pi Ev Sunucusu İçin Sabit IP Ayarlama
Ev sunucusunun IP adresi sürekli değişirse:
Pi-hole DNS ayarları bozulabilir.
Portainer bağlantısı çalışmayabilir.
Home Assistant adresi değişebilir.
Samba ağ sürücüleri kopabilir.
VPN yapılandırması sorun çıkarabilir.
Uptime Kuma kontrolleri çalışmayabilir.
En kolay yöntem modem veya yönlendirici panelinde DHCP rezervasyonu yapmaktır.
Örnek:
Cihaz adı: xcodeart-server
Sabit IP: 192.168.1.60
Modem panelinde Raspberry Pi’nin MAC adresini bulup bu IP adresiyle eşleştirin.
Seçtiğiniz adresin başka bir cihaza verilmediğinden emin olun.
Sunucu Klasör Yapısı Oluşturma
Docker uygulamalarını düzenli tutmak için ortak bir klasör yapısı oluşturabilirsiniz:
sudo mkdir -p /opt/stacks
sudo mkdir -p /opt/appdata
sudo chown -R $USER:$USER /opt/stacks
sudo chown -R $USER:$USER /opt/appdata
Örnek yapı:
/opt
├── stacks
│ ├── portainer
│ ├── pihole
│ ├── homeassistant
│ └── uptime-kuma
└── appdata
├── portainer
├── pihole
├── homeassistant
└── uptime-kuma
stacks klasöründe Docker Compose dosyaları tutulur.
appdata klasöründe uygulamaların kalıcı verileri saklanır.
Bu ayrımın avantajları:
Yedekleme işlemi kolaylaşır.
Uygulama dosyaları düzenli kalır.
Yeni sisteme taşıma kolaylaşır.
Hangi verinin önemli olduğu anlaşılır.
Konteyner silinse bile uygulama verileri korunabilir.
Docker Nedir?
Docker, uygulamaları konteyner adı verilen izole çalışma ortamlarında çalıştırmayı sağlayan platformdur.
Normal kurulumda bir uygulamanın ihtiyaç duyduğu paketler doğrudan işletim sistemine kurulur.
Çok sayıda uygulama kurulduğunda bağımlılık çakışmaları oluşabilir.
Docker’da ise her uygulama kendi çalışma ortamıyla birlikte konteyner içinde çalışır.
Örneğin aynı Raspberry Pi üzerinde:
Pi-hole
Home Assistant
Uptime Kuma
Portainer
Nginx
PostgreSQL
birbirinden ayrılmış konteynerlerde çalışabilir.
Docker kullanmanın temel faydaları:
Uygulamaları kolay kurmak
Uygulamaları kolay kaldırmak
Sürüm değiştirmek
Taşıma yapmak
Yapılandırmaları dosyada tutmak
Bağımlılık sorunlarını azaltmak
Uygulamaları ayrı ağlarda çalıştırmak
Raspberry Pi 5 Docker Kurulumu
Öncelikle gerekli aracı kurun:
sudo apt update
sudo apt install curl -y
Docker’ın kolay kurulum betiğini indirin:
curl -fsSL https://get.docker.com -o get-docker.sh
Kurulumu başlatın:
sudo sh get-docker.sh
Kullanıcınızı Docker grubuna ekleyin:
sudo usermod -aG docker $USER
Değişikliğin uygulanması için cihazı yeniden başlatın:
sudo reboot
Tekrar bağlandıktan sonra Docker sürümünü kontrol edin:
docker --version
Test konteynerini çalıştırın:
docker run hello-world
Başarılı mesajı görüyorsanız Docker çalışıyor demektir.
Docker Compose Kurulumu ve Kontrolü
Docker Compose, bir veya birden fazla konteynerin yapılandırmasını YAML dosyasıyla yönetmeyi sağlar.
Sürümü kontrol edin:
docker compose version
Komut bulunamazsa:
sudo apt update
sudo apt install docker-compose-plugin -y
Tekrar kontrol edin:
docker compose version
Docker Compose kullanmanın avantajı, uygulamanın bütün ayarlarını tek bir dosyada saklamaktır.
Örnek bir Compose dosyasında:
Kullanılacak imaj
Portlar
Klasör bağlantıları
Ortam değişkenleri
Yeniden başlatma politikası
Ağ ayarları
bulunabilir.
Portainer Nedir?
Portainer, Docker konteynerlerini web tarayıcısı üzerinden yönetmeyi kolaylaştıran uygulamadır.
Portainer ile:
Çalışan konteynerleri görüntüleyebilirsiniz.
Konteynerleri başlatabilirsiniz.
Konteynerleri durdurabilirsiniz.
Log kayıtlarını inceleyebilirsiniz.
CPU ve RAM kullanımını görüntüleyebilirsiniz.
Docker ağlarını yönetebilirsiniz.
Volume alanlarını görebilirsiniz.
Compose stack oluşturabilirsiniz.
Konteyner imajlarını kontrol edebilirsiniz.
Portainer terminal kullanımını tamamen ortadan kaldırmaz. Ancak günlük yönetim işlemlerini kolaylaştırır.
Portainer Kurulumu
Klasör oluşturun:
mkdir -p /opt/stacks/portainer
cd /opt/stacks/portainer
Compose dosyasını oluşturun:
nano compose.yml
Dosyanın içine şunları yazın:
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: unless-stopped
ports:
- "9443:9443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/appdata/portainer:/data
Dosyayı kaydedin.
Konteyneri çalıştırın:
docker compose up -d
Çalışma durumunu kontrol edin:
docker ps
Tarayıcıdan şu adresi açın:
https://192.168.1.60:9443
İlk bağlantıda yerel sertifika nedeniyle tarayıcı uyarısı görülebilir.
Portainer yönetici hesabınızı oluşturun ve yerel Docker ortamını seçin.
Pi-hole Nedir?
Pi-hole, ağdaki cihazların DNS sorgularını filtreleyen bir sistemdir.
Bir cihaz web sitesine erişmek istediğinde önce alan adının IP adresini öğrenmek için DNS sorgusu gönderir.
Pi-hole bu sorguyu kontrol eder.
Alan adı engelleme listesindeyse sorguyu durdurabilir.
Alan adı güvenliyse üst DNS sunucusuna yönlendirebilir.
Pi-hole’un çalışma mantığı şu şekilde özetlenebilir:
Cihaz alan adına erişmek ister.
DNS sorgusu Pi-hole’a gider.
Pi-hole alan adını kontrol eder.
Engellenmiş alan adıysa erişimi durdurur.
İzinli alan adıysa sorguyu üst DNS sunucusuna gönderir.
Sonuç cihaza geri döner.
Pi-hole Kullanmanın Avantajları
Cihazlara tek tek uygulama kurmak gerekmez.
Ağ genelinde filtreleme sağlar.
DNS sorgularını raporlayabilir.
En çok sorgu yapan cihazları gösterebilir.
Özel engelleme listeleri kullanılabilir.
Yerel DNS kayıtları oluşturulabilir.
Belirli cihazlar için farklı kurallar uygulanabilir.
Takip alan adlarının bir kısmını engelleyebilir.
Pi-hole Bütün Reklamları Engeller mi?
Hayır.
Pi-hole DNS seviyesinde çalışır.
Reklam ve ana içerik aynı alan adı üzerinden sunuluyorsa yalnızca reklamı ayırmak mümkün olmayabilir.
Aşağıdaki içerikler her zaman engellenmeyebilir:
Video platformu reklamları
Sosyal medya uygulama içi reklamları
Aynı alan adından sunulan reklamlar
Sabit IP kullanan uygulamalar
Kendi DNS sistemini kullanan cihazlar
Şifreli DNS ile Pi-hole’u atlayan uygulamalar
Pi-hole, tarayıcı reklam engelleyicisinin tam alternatifi değildir. İki sistem birlikte kullanılabilir.
Pi-hole Docker Kurulumu
Klasör oluşturun:
mkdir -p /opt/stacks/pihole
cd /opt/stacks/pihole
Compose dosyasını açın:
nano compose.yml
Örnek yapılandırma:
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
restart: unless-stopped
environment:
TZ: Europe/Istanbul
FTLCONF_webserver_api_password: GUCLU_BIR_PAROLA_YAZIN
volumes:
- /opt/appdata/pihole/etc-pihole:/etc/pihole
ports:
- "53:53/tcp"
- "53:53/udp"
- "8080:80/tcp"
GUCLU_BIR_PAROLA_YAZIN bölümünü kendi güçlü parolanızla değiştirin.
Konteyneri çalıştırın:
docker compose up -d
Çalışma durumunu kontrol edin:
docker ps
Tarayıcıdan Pi-hole panelini açın:
http://192.168.1.60:8080/admin
Modemi Pi-hole Kullanacak Şekilde Ayarlama
Pi-hole kurulmuş olsa bile ağdaki cihazlar onu DNS olarak kullanmıyorsa filtreleme yapılmaz.
Modem veya yönlendiricinizin DHCP ayarlarına girin.
Birincil DNS adresi olarak Raspberry Pi IP adresini yazın:
192.168.1.60
Ayarları kaydedin.
Cihazların yeni DNS ayarını alması için:
Wi-Fi bağlantısını kapatıp açabilirsiniz.
Cihazı yeniden başlatabilirsiniz.
DHCP kiralamasını yenileyebilirsiniz.
Modemi yeniden başlatabilirsiniz.
İkinci DNS alanına doğrudan genel DNS yazarsanız bazı cihazlar Pi-hole’u atlayabilir.
Yedek DNS planı oluştururken ağ yapısını dikkatli değerlendirin.
Pi-hole Kullanırken Dikkat Edilmesi Gerekenler
Çok fazla engelleme listesi kullanmak performansı düşürebilir.
Yanlış liste bazı sitelerin çalışmasını bozabilir.
Ödeme ve giriş alan adları yanlışlıkla engellenebilir.
Pi-hole kapanırsa DNS sorguları çalışmayabilir.
Cihazlar kendi DNS ayarlarını kullanabilir.
Şifreli DNS yöntemleri Pi-hole’u atlayabilir.
Engelleme listeleri düzenli kontrol edilmelidir.
Güncelleme öncesi yedek alınmalıdır.
Bir web sitesi çalışmadığında önce Pi-hole sorgu kayıtlarını kontrol edin.
Gerekli alan adını izin listesine ekleyebilirsiniz.
WireGuard VPN Nedir?
WireGuard, modern ve hızlı bir VPN protokolüdür.
VPN bağlantısı, cihazınızla ev ağınız arasında şifreli bir tünel oluşturur.
Dışarıdayken telefonunuzdan VPN’e bağlandığınızda cihazınız ev ağına güvenli şekilde katılmış olur.
Bu bağlantı üzerinden:
Home Assistant paneline erişebilirsiniz.
NAS klasörlerini açabilirsiniz.
Raspberry Pi’ye SSH bağlantısı kurabilirsiniz.
Pi-hole DNS sistemini kullanabilirsiniz.
Yerel web uygulamalarına erişebilirsiniz.
Modem arayüzünü yönetebilirsiniz.
WireGuard Kurulumundan Önce Kontrol Edilmesi Gerekenler
Raspberry Pi sabit yerel IP adresine sahip olmalıdır.
Modem paneline erişebilmelisiniz.
UDP port yönlendirme desteği bulunmalıdır.
Genel IP adresiniz kullanılabilir olmalıdır.
CGNAT durumu kontrol edilmelidir.
Dinamik DNS ihtiyacı değerlendirilmelidir.
Güvenli anahtarlar oluşturulmalıdır.
İstemci yapılandırmaları korunmalıdır.
CGNAT Nedir?
Bazı internet servis sağlayıcıları birden fazla müşteriyi aynı genel IP adresi üzerinden internete çıkarır.
Bu sisteme CGNAT denir.
CGNAT kullanıldığında modeminizde yaptığınız port yönlendirme internetten erişilebilir olmayabilir.
CGNAT arkasında olup olmadığınızı anlamak için:
Modem WAN IP adresini kontrol edin.
İnternette görünen genel IP adresiyle karşılaştırın.
İki adres farklıysa CGNAT ihtimali olabilir.
İnternet servis sağlayıcınıza danışın.
CGNAT kullanıyorsanız:
Statik IP hizmeti alabilirsiniz.
Tailscale gibi çıkış bağlantısı kullanan özel ağ çözümlerini değerlendirebilirsiniz.
Harici bir sunucu üzerinden tünel kurabilirsiniz.
WireGuard Kurulumu
WireGuard paketini yükleyin:
sudo apt update
sudo apt install wireguard -y
Sunucu özel ve genel anahtarını oluşturun:
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key
Anahtarları görüntüleyin:
cat server_private.key
cat server_public.key
Özel anahtarı kimseyle paylaşmayın.
WireGuard yapılandırma dosyasını oluşturun:
sudo nano /etc/wireguard/wg0.conf
Örnek yapılandırma:
[Interface]
Address = 10.10.10.1/24
ListenPort = 51820
PrivateKey = SUNUCU_OZEL_ANAHTARI
PostUp = sysctl -w net.ipv4.ip_forward=1
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostUp = iptables -A FORWARD -o wg0 -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
PostDown = iptables -D FORWARD -o wg0 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
SUNUCU_OZEL_ANAHTARI bölümüne oluşturduğunuz özel anahtarı yazın.
Ağ arayüzünüz eth0 yerine farklı isimde olabilir.
Kontrol etmek için:
ip addr
WireGuard servisini etkinleştirin:
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
Durumu kontrol edin:
sudo systemctl status wg-quick@wg0
WireGuard bilgilerini görüntülemek için:
sudo wg
Modem üzerinden UDP 51820 portunu Raspberry Pi’nin IP adresine yönlendirin.
WireGuard VPN Güvenliği
Her cihaz için ayrı anahtar oluşturun.
Kaybolan cihazın anahtarını iptal edin.
Özel anahtarları mesajlaşma uygulamalarında paylaşmayın.
Yapılandırma dosyalarını şifreli şekilde saklayın.
Yalnızca gereken ağlara erişim verin.
Sunucuyu düzenli güncelleyin.
Modemde yalnızca gerekli portu açın.
Yönetim panellerini ayrıca internete açmayın.
Eski cihaz yapılandırmalarını silin.
Kullanılmayan kullanıcıları kaldırın.
VPN bağlantılarını düzenli kontrol edin.
Tailscale Alternatifi
Port yönlendirme veya CGNAT sorunu yaşanıyorsa Tailscale gibi özel ağ çözümleri kullanılabilir.
Bu sistemler cihazların dışarı doğru bağlantı kurmasını sağlayarak farklı ağlardaki cihazları şifreli bir özel ağda birleştirebilir.
Avantajları:
Port yönlendirme gerektirmeyebilir.
CGNAT arkasında çalışabilir.
Kurulumu kolay olabilir.
Cihaz bazlı yetkilendirme sunabilir.
Mobil cihazlarla kullanılabilir.
Ancak harici bir hizmete bağımlılık oluşturabilir.
Güvenlik ve gizlilik gereksinimlerinize göre WireGuard veya yönetilen özel ağ çözümlerinden birini seçebilirsiniz.
Home Assistant Nedir?
Home Assistant, akıllı ev cihazlarını merkezi olarak yönetmek için kullanılan açık kaynaklı bir platformdur.
Home Assistant ile:
Akıllı ampulleri kontrol edebilirsiniz.
Prizleri zamanlayabilirsiniz.
Hareket sensörleriyle otomasyon oluşturabilirsiniz.
Kapı sensörlerinden bildirim alabilirsiniz.
Elektrik tüketimini izleyebilirsiniz.
Klima ve termostatları yönetebilirsiniz.
Gün doğumu ve gün batımına göre senaryo çalıştırabilirsiniz.
Evde kimse yokken cihazları kapatabilirsiniz.
Su kaçağı algılandığında bildirim gönderebilirsiniz.
Akıllı cihazları tek uygulamada birleştirebilirsiniz.
Home Assistant OS ile Container Arasındaki Fark
Home Assistant farklı yöntemlerle kurulabilir.
Home Assistant OS
Home Assistant OS, Raspberry Pi’nin tamamen Home Assistant için kullanılmasını sağlar.
Avantajları:
Kurulumu daha kolaydır.
Supervisor içerir.
Eklenti yönetimi bulunur.
Yedekleme işlemleri daha kolaydır.
Yeni başlayanlar için uygundur.
Dezavantajları:
Cihaz genel amaçlı Linux sunucusu gibi kullanılmaz.
Docker yönetimi Home Assistant sistemine bağlıdır.
Çok amaçlı ev sunucusu esnekliği daha sınırlıdır.
Home Assistant Container
Home Assistant Container, mevcut Docker sunucusu üzerinde çalışır.
Avantajları:
Diğer Docker servisleriyle birlikte çalışabilir.
Genel amaçlı sunucu yapısı korunur.
Klasör ve ağ yönetimi kullanıcı kontrolündedir.
Güncelleme ve taşıma esnekliği yüksektir.
Dezavantajları:
Supervisor bulunmaz.
Bazı eklentiler doğrudan kullanılamaz.
Sistem yönetimi kullanıcıya aittir.
Yedekleme manuel planlanmalıdır.
Bu rehberde Raspberry Pi çok amaçlı ev sunucusu olarak kullanıldığı için Home Assistant Container yöntemi uygundur.
Home Assistant Container Kurulumu
Klasör oluşturun:
mkdir -p /opt/stacks/homeassistant
cd /opt/stacks/homeassistant
Compose dosyasını açın:
nano compose.yml
Örnek yapılandırma:
services:
homeassistant:
container_name: homeassistant
image: ghcr.io/home-assistant/home-assistant:stable
restart: unless-stopped
network_mode: host
privileged: true
environment:
TZ: Europe/Istanbul
volumes:
- /opt/appdata/homeassistant:/config
- /run/dbus:/run/dbus:ro
Konteyneri çalıştırın:
docker compose up -d
Logları kontrol etmek için:
docker logs homeassistant
Tarayıcıdan açın:
http://192.168.1.60:8123
İlk kurulum ekranında yönetici hesabı oluşturun.
Konum, saat dilimi ve birim ayarlarını yapılandırın.
Home Assistant Güvenliği
Güçlü yönetici parolası kullanın.
Her aile üyesine ayrı kullanıcı hesabı açın.
Yönetici yetkisini yalnızca gerekli kişilere verin.
Paneli doğrudan internete açmayın.
VPN veya güvenli bağlantı kullanın.
Yapılandırma klasörünü düzenli yedekleyin.
Kullanılmayan entegrasyonları kaldırın.
Güncellemeleri takip edin.
Kritik otomasyonları düzenli test edin.
Kapı kilidi ve alarm gibi sistemlerde fiziksel güvenliği koruyun.
Dışarıdan gelen özel bileşenleri dikkatli seçin.
Otomasyonların yanlış koşullarda çalışmasını önlemek için ek kontroller kullanın.
Home Assistant Otomasyon Örnekleri
Gün Batımında Işıkları Açma
Koşul:
Güneş battı.
Evde en az bir kişi var.
Eylem:
Salon ışığını aç.
Koridor ışığını yüzde 30 parlaklığa getir.
Evden Çıkınca Prizleri Kapatma
Koşul:
Evde kayıtlı kişi kalmadı.
Eylem:
Televizyon prizini kapat.
Çalışma odası prizini kapat.
Gereksiz ışıkları kapat.
Su Kaçağı Bildirimi
Koşul:
Su sensörü ıslaklık algıladı.
Eylem:
Telefona bildirim gönder.
Sesli alarm çalıştır.
Akıllı vana varsa suyu kapat.
Yüksek Sıcaklık Uyarısı
Koşul:
Sunucu odası sıcaklığı belirlenen seviyeyi geçti.
Eylem:
Telefona bildirim gönder.
Akıllı fanı çalıştır.
Belirli süre sonra sıcaklığı yeniden kontrol et.
Uptime Kuma Nedir?
Uptime Kuma, web sitelerini, sunucuları ve ağ cihazlarını izlemek için kullanılan açık kaynaklı uygulamadır.
İzlenebilecek sistemler:
Web siteleri
API servisleri
Pi-hole
Home Assistant
Portainer
NAS
Modem
Ağ anahtarı
Yerel cihazlar
TCP portları
DNS servisleri
Bir servis çalışmayı durdurduğunda:
E-posta
Telegram
Discord
Slack
Webhook
gibi yöntemlerle bildirim gönderilebilir.
Uptime Kuma Kurulumu
Klasör oluşturun:
mkdir -p /opt/stacks/uptime-kuma
cd /opt/stacks/uptime-kuma
Compose dosyasını açın:
nano compose.yml
İçerik:
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- /opt/appdata/uptime-kuma:/app/data
Konteyneri çalıştırın:
docker compose up -d
Tarayıcıdan açın:
http://192.168.1.60:3001
Yönetici hesabı oluşturun ve izlemek istediğiniz servisleri ekleyin.
Samba ile Dosya Sunucusu Kurulumu
Docker dışında doğrudan Raspberry Pi OS üzerine Samba kurulabilir.
Kurulum:
sudo apt update
sudo apt install samba -y
Paylaşılacak klasörü oluşturun:
sudo mkdir -p /srv/shared
sudo chown -R $USER:$USER /srv/shared
Samba yapılandırma dosyasını açın:
sudo nano /etc/samba/smb.conf
Dosyanın sonuna şu örnek yapılandırmayı ekleyin:
[Ortak]
path = /srv/shared
browseable = yes
read only = no
guest ok = no
create mask = 0660
directory mask = 0770
Samba kullanıcısı oluşturun:
sudo smbpasswd -a $USER
Servisi yeniden başlatın:
sudo systemctl restart smbd
Windows’tan bağlanmak için:
\\192.168.1.60\Ortak
macOS üzerinden:
smb://192.168.1.60/Ortak
Harici Diski Ev Sunucusuna Bağlama
Harici diski bağladıktan sonra cihaz adını kontrol edin:
lsblk
Dosya sistemi bilgilerini görmek için:
sudo blkid
Bağlama noktası oluşturun:
sudo mkdir -p /mnt/data
Diski geçici bağlamak için:
sudo mount /dev/sda1 /mnt/data
Cihaz adı sisteminize göre farklı olabilir.
Yanlış diski bağlamamak veya biçimlendirmemek için model ve kapasiteyi dikkatle kontrol edin.
Kalıcı bağlantı için /etc/fstab dosyasına UUID ile kayıt eklenebilir.
Önce UUID değerini bulun:
sudo blkid
Daha sonra:
sudo nano /etc/fstab
Örnek:
UUID=DISK_UUID /mnt/data ext4 defaults,nofail 0 2
Yapılandırmayı test edin:
sudo mount -a
Hata yoksa disk açılışta otomatik bağlanabilir.
Ters Proxy Nedir?
Ev sunucusundaki uygulamalar farklı portlarda çalışır.
Örnek:
Portainer: 9443
Pi-hole: 8080
Home Assistant: 8123
Uptime Kuma: 3001
Ters proxy, bu servisleri alan adı veya alt alan adı üzerinden düzenli hale getirebilir.
Örnek:
home.ev.local
pihole.ev.local
portainer.ev.local
uptime.ev.local
Ters proxy kullanmanın avantajları:
Port numarası yazma ihtiyacını azaltır.
Alan adıyla erişim sağlar.
HTTPS yönetimini kolaylaştırabilir.
Erişim kuralları uygulanabilir.
Uygulamaları tek noktadan yönlendirebilir.
Ancak ters proxy güvenliği otomatik olarak sağlamaz.
İnternete açık servislerde:
HTTPS
Güçlü kimlik doğrulama
Erişim listeleri
Güvenlik duvarı
VPN
Log takibi
Güncel yazılımlar
birlikte kullanılmalıdır.
Docker Konteynerlerini Güncelleme
Bir uygulamayı güncellemeden önce:
Sürüm notlarını okuyun.
Compose dosyasını yedekleyin.
Uygulama verilerini yedekleyin.
Uyumsuz değişiklikleri kontrol edin.
Yeni imajı indirin.
Konteyneri yeniden oluşturun.
Logları kontrol edin.
Uygulamayı test edin.
Genel güncelleme komutları:
cd /opt/stacks/uygulama
docker compose pull
docker compose up -d
Kullanılmayan eski imajları görmek için:
docker images
Kullanılmayan imajları temizlemek için:
docker image prune
Tüm servisleri kontrolsüz şekilde otomatik güncellemek sorun oluşturabilir.
Özellikle:
Home Assistant
Veri tabanları
Ters proxy
Kimlik doğrulama sistemleri
Pi-hole
Kritik otomasyonlar
için sürüm notlarını okumak önemlidir.
Docker Verilerini Yedekleme
Yedeklenmesi gereken temel alanlar:
/opt/stacks/opt/appdataVeri tabanı dışa aktarımları
WireGuard yapılandırmaları
SSH anahtarları
SSL sertifikaları
Home Assistant yapılandırması
Pi-hole ayarları
Uptime Kuma verileri
Samba yapılandırmaları
Konteyner imajlarını yedeklemek çoğu zaman gerekli değildir.
İmajlar yeniden indirilebilir.
Asıl önemli olan:
Yapılandırma dosyaları
Kullanıcı verileri
Veri tabanları
Anahtarlar
Özel ayarlar
olmalıdır.
Örnek arşiv komutu:
sudo tar -czf /mnt/backup/server-backup-$(date +%F).tar.gz /opt/appdata /opt/stacks
Komutu çalıştırmadan önce hedef diskin bağlı ve yeterli boş alana sahip olduğunu kontrol edin.
3-2-1 Yedekleme Kuralı
Ev sunucusundaki önemli veriler için 3-2-1 yaklaşımı uygulanabilir:
Verinin üç kopyası olsun.
Kopyalar iki farklı depolama türünde bulunsun.
Kopyalardan biri farklı fiziksel konumda saklansın.
Örnek:
Raspberry Pi üzerindeki ana veri
Harici yedek disk
Şifrelenmiş bulut veya farklı evde bulunan disk
Yalnızca Raspberry Pi üzerindeki ikinci klasöre kopyalamak gerçek yedekleme sayılmayabilir.
Aynı disk bozulduğunda iki klasör de kaybolabilir.
Sunucu Sağlığını İzleme
İşlemci sıcaklığı:
vcgencmd measure_temp
Bellek:
free -h
Disk alanı:
df -h
Sistem yükü:
uptime
Çalışan Docker konteynerleri:
docker ps
Konteyner kaynak kullanımı:
docker stats
Sistem hataları:
journalctl -p 3 -xb
Belirli konteyner logları:
docker logs konteyner-adi
Son log satırlarını görmek için:
docker logs --tail 100 konteyner-adi
Logları canlı izlemek için:
docker logs -f konteyner-adi
Raspberry Pi Ev Sunucusu Güvenlik Kontrol Listesi
Varsayılan parolaları değiştirin.
SSH anahtar doğrulaması kullanın.
Root SSH girişini kapatın.
Gereksiz portları kapatın.
Güvenlik duvarı kullanın.
Docker socket erişimini sınırlayın.
Yönetim panellerini internete açmayın.
Uzak erişim için VPN kullanın.
Yazılımları güncel tutun.
Her uygulama için farklı parola kullanın.
Çok faktörlü doğrulamayı destekleyen yerlerde etkinleştirin.
Hassas verileri yapılandırma dosyalarında açık bırakmayın.
Yedekleri şifreleyin.
Logları düzenli kontrol edin.
Kullanılmayan konteynerleri kaldırın.
Docker imajlarının kaynağını doğrulayın.
Modem yazılımını güncel tutun.
IoT cihazları için ayrı ağ değerlendirin.
Kullanılmayan kullanıcı hesaplarını kaldırın.
Harici erişim izinlerini düzenli kontrol edin.
Veri silme işlemlerinde geri alma veya yedek mekanizması kullanın.
UFW Güvenlik Duvarı Kurulumu
UFW paketini kurun:
sudo apt update
sudo apt install ufw -y
SSH bağlantısına izin verin:
sudo ufw allow OpenSSH
Yerel ağdan Portainer erişimi:
sudo ufw allow from 192.168.1.0/24 to any port 9443 proto tcp
Home Assistant:
sudo ufw allow from 192.168.1.0/24 to any port 8123 proto tcp
Pi-hole web paneli:
sudo ufw allow from 192.168.1.0/24 to any port 8080 proto tcp
WireGuard:
sudo ufw allow 51820/udp
Güvenlik duvarını etkinleştirin:
sudo ufw enable
Durumu kontrol edin:
sudo ufw status verbose
UFW’yi açmadan önce SSH erişimine izin verdiğinizden emin olun.
Aksi halde uzaktan bağlantınızı kaybedebilirsiniz.
Docker ağ kuralları UFW ile farklı davranabilir.
İnternete açık sistemlerde Docker, iptables ve UFW ilişkisi ayrıca test edilmelidir.
Fail2ban Kullanımı
Fail2ban, tekrarlanan başarısız giriş denemelerini takip ederek belirli IP adreslerini geçici olarak engelleyebilir.
Kurulum:
sudo apt update
sudo apt install fail2ban -y
Servisi etkinleştirin:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Durumu kontrol edin:
sudo systemctl status fail2ban
Fail2ban ek bir güvenlik katmanıdır.
Güçlü parola, SSH anahtarı ve VPN ihtiyacını ortadan kaldırmaz.
Elektrik Kesintileri ve UPS Kullanımı
Ev sunucusunda ani güç kesintileri şu sorunlara neden olabilir:
Dosya sistemi bozulması
Veri tabanı hataları
Docker verilerinde tutarsızlık
Harici disk bağlantı sorunları
MicroSD kart bozulması
Yarım kalan yedekleme
Uygulama yapılandırması kaybı
Küçük bir UPS:
Raspberry Pi’yi
Modemi
Ağ anahtarını
Harici diski
bir süre çalıştırabilir.
Uzun elektrik kesintilerinde UPS yazılımı Raspberry Pi’ye güvenli kapanma komutu gönderebilir.
UPS seçerken bütün cihazların toplam güç tüketimini hesaplamalısınız.
Raspberry Pi Ev Sunucusunu Güvenli Kapatma
Güvenli yeniden başlatma:
sudo reboot
Güvenli kapatma:
sudo shutdown -h now
Alternatif:
sudo poweroff
Cihaz çalışırken güç kablosunu doğrudan çekmeyin.
Disk yazma işlemi devam ederken güç kesilmesi veri kaybına veya dosya sistemi hatasına neden olabilir.
Raspberry Pi Ev Sunucusunda Sık Karşılaşılan Sorunlar
Docker Permission Denied Hatası
Kullanıcının Docker grubunda olup olmadığını kontrol edin:
groups
Docker grubu görünmüyorsa:
sudo usermod -aG docker $USER
sudo reboot
Port Zaten Kullanımda Hatası
Portu kullanan servisi bulun:
sudo ss -tulpn
Compose dosyasındaki dış portu değiştirin.
Örneğin:
ports:
- "8081:80"
Pi-hole DNS Çalışmıyor
Kontrol edilmesi gerekenler:
Port 53’ü başka servis kullanıyor olabilir.
Modem DNS adresi yanlış olabilir.
Cihaz eski DNS önbelleğini kullanıyor olabilir.
Pi-hole konteyneri durmuş olabilir.
Güvenlik duvarı DNS trafiğini engelliyor olabilir.
Docker ağı yanlış yapılandırılmış olabilir.
Cihaz kendi DNS adresini kullanıyor olabilir.
Konteyner durumunu kontrol edin:
docker ps
Logları görüntüleyin:
docker logs pihole
Raspberry Pi Çok Isınıyor
Active Cooler kullanın.
Hava akışını artırın.
Kasanın hava girişlerini kapatmayın.
Gereksiz hız aşırtmayı kaldırın.
Yoğun konteynerleri kontrol edin.
Cihazı kapalı dolapta çalıştırmayın.
Oda sıcaklığını değerlendirin.
Sıcaklığı kontrol edin:
vcgencmd measure_temp
Harici Disk Görünmüyor
Güç adaptörünü kontrol edin.
USB kablosunu değiştirin.
Disk kutusunu kontrol edin.
Farklı USB portu deneyin.
lsblkçıktısına bakın.Harici güç kaynaklı disk kutusu kullanın.
Sistem loglarını kontrol edin.
Dosya sistemini inceleyin.
USB olaylarını görmek için:
dmesg | tail -n 50
Home Assistant Cihazları Bulamıyor
network_mode: hostayarını kontrol edin.VLAN yapılandırmasını kontrol edin.
Güvenlik duvarını inceleyin.
mDNS trafiğinin engellenmediğinden emin olun.
Akıllı cihazların aynı ağda olduğunu kontrol edin.
IoT ağındaki erişim kurallarını kontrol edin.
Konteyner Sürekli Yeniden Başlıyor
Çalışma durumunu kontrol edin:
docker ps -a
Logları inceleyin:
docker logs konteyner-adi
Muhtemel nedenler:
Hatalı ortam değişkeni
Klasör yetki problemi
Port çakışması
Desteklenmeyen ARM imajı
Bozuk yapılandırma
Veri tabanı bağlantı sorunu
Yetersiz bellek
Raspberry Pi Ev Sunucusu Performansı Nasıl Artırılır?
İşletim sistemini NVMe SSD’de çalıştırın.
Ethernet bağlantısı kullanın.
Aktif soğutma kullanın.
Kaliteli güç adaptörü kullanın.
Kullanılmayan konteynerleri kapatın.
Gereksiz logları temizleyin.
Büyük veri tabanlarını optimize edin.
Uygulama verilerini SSD üzerinde tutun.
Medya arşivini ayrı HDD üzerinde saklayın.
Aynı anda çalışan ağır işlemleri sınırlayın.
Docker kaynak kullanımını izleyin.
Güncellemeleri kontrollü yapın.
Swap kullanımını takip edin.
Çok fazla tarayıcı tabanlı yönetim aracı kurmayın.
Gereksiz servisleri devre dışı bırakın.
Docker Konteynerlerine Kaynak Sınırı Koyma
Bir uygulamanın bütün sistemi kullanmasını önlemek için kaynak sınırları uygulanabilir.
Örnek:
services:
uygulama:
image: ornek/uygulama:latest
deploy:
resources:
limits:
memory: 1G
Docker Compose sürümüne ve çalışma moduna göre kaynak sınırı yöntemleri farklılık gösterebilir.
Özellikle veri tabanı, medya sunucusu ve otomasyon araçlarında kaynak tüketimini takip edin.
Raspberry Pi Ev Sunucusu İçin Örnek Servis Planı
Başlangıç Seviyesi
Raspberry Pi OS Lite
Docker
Docker Compose
Portainer
Pi-hole
Uptime Kuma
Bu yapı yeni başlayanlar için uygundur.
Orta Seviye
Başlangıç servisleri
Home Assistant
WireGuard
Samba
Syncthing
Ters proxy
Harici yedek disk
Bu yapı ev otomasyonu ve dosya yönetimi için uygundur.
İleri Seviye
Ayrı IoT ağı veya VLAN
Merkezi log sistemi
Otomatik şifreli yedekleme
Nextcloud
n8n
Gitea
Veri tabanı
Gelişmiş izleme
UPS otomatik kapanma
İkinci sunucuya yedekleme
Güvenli uzaktan erişim
Kullanıcı ve rol yönetimi
Raspberry Pi Ev Sunucusu mu, Mini PC mi?
| Kriter | Raspberry Pi 5 | Mini PC |
|---|---|---|
| Enerji tüketimi | Genellikle düşüktür | Modele göre daha yüksek olabilir |
| Boyut | Çok küçüktür | Küçüktür |
| İşlemci gücü | Orta düzey | Daha güçlü seçenekler bulunur |
| ARM uyumluluğu | Gerekir | x86 yazılım desteği daha geniştir |
| NVMe desteği | Adaptör gerekebilir | Genellikle dahildir |
| SATA disk desteği | Harici çözüm gerekir | Modele göre dahili olabilir |
| Medya dönüştürme | Sınırlı olabilir | Daha güçlü olabilir |
| Fiyat | Ekipmanlarla artabilir | İkinci el seçenekler avantajlı olabilir |
| GPIO bağlantıları | Bulunur | Genellikle bulunmaz |
| Eğitim ve proje | Çok uygundur | Uygundur |
| Sanal makineler | Sınırlıdır | Daha uygundur |
| Çok ağır servisler | Sınırlı olabilir | Daha uygundur |
Pi-hole, Home Assistant, VPN ve birkaç küçük servis için Raspberry Pi 5 yeterlidir.
Aşağıdaki ihtiyaçlarda mini PC daha doğru olabilir:
Çok sayıda sanal makine
Ağır veri tabanları
Yüksek kullanıcı sayısı
Gerçek zamanlı medya dönüştürme
Büyük yazılım geliştirme ortamları
Yüksek trafik
Güvenlik kamerası görüntü analizi
Raspberry Pi Ev Sunucusu Kurmaya Değer mi?
Raspberry Pi 5 ev sunucusu aşağıdaki hedeflere sahip kullanıcılar için değerlidir:
Kendi verilerini kontrol etmek
Bulut bağımlılığını azaltmak
Linux öğrenmek
Docker deneyimi kazanmak
Ev ağını yönetmek
Akıllı ev otomasyonları geliştirmek
Reklam ve takip alanlarını filtrelemek
Güvenli VPN erişimi oluşturmak
Küçük web uygulamalarını çalıştırmak
Yazılım projeleri geliştirmek
Sistem yönetimi öğrenmek
Düşük enerji tüketimli sunucu kullanmak
Bununla birlikte ev sunucusu “kur ve unut” sistemi değildir.
Kullanıcının şu sorumlulukları bulunur:
Güncelleme
Yedekleme
Güvenlik
İzleme
Hata çözümü
Donanım bakımı
Kullanıcı yönetimi
Erişim kontrolü
Bu sorumlulukları üstlenmek istemeyen kullanıcılar yönetilen bulut servislerini tercih edebilir.
Raspberry Pi Ev Sunucusu Kurulumunda Sık Yapılan Hatalar
Bütün Servisleri Aynı Anda Kurmak
Çok sayıda uygulamayı aynı anda kurmak hata tespitini zorlaştırır.
Servisleri tek tek kurup test etmek daha doğru olur.
Varsayılan Parolaları Değiştirmemek
Varsayılan kullanıcı ve parolalar ciddi güvenlik riski oluşturur.
Yönetim Panellerini İnternete Açmak
Portainer, Home Assistant ve Pi-hole panelleri doğrudan internete açılmamalıdır.
VPN tercih edilmelidir.
Yedek Almamak
Docker konteynerlerinin yeniden kurulabilir olması uygulama verilerinin de güvende olduğu anlamına gelmez.
Yalnızca MicroSD Kullanmak
Yoğun yazma işlemleri microSD kartın ömrünü azaltabilir.
Kalitesiz Güç Adaptörü Kullanmak
Yetersiz güç:
Yeniden başlatma
Disk bağlantı kopması
Dosya bozulması
Performans düşüşü
oluşturabilir.
Soğutmayı Önemsememek
Raspberry Pi 5 yoğun yükte ısınabilir.
Aktif soğutma kullanmak önemlidir.
Güncellemeleri Kontrolsüz Yapmak
Bütün konteynerleri otomatik güncellemek uyumsuzluklara neden olabilir.
Logları Takip Etmemek
Diskin dolması veya sürekli hata üreten servisler geç fark edilebilir.
Geri Yükleme Testi Yapmamak
Yedek dosyasının bulunması, yedeğin çalıştığını garanti etmez.
Belirli aralıklarla geri yükleme testi yapılmalıdır.
Raspberry Pi Ev Sunucusu Bakım Planı
Haftalık Kontroller
Konteynerlerin çalışıp çalışmadığını kontrol edin.
Disk alanına bakın.
Sıcaklığı kontrol edin.
Uptime Kuma uyarılarını inceleyin.
Yedekleme görevlerini kontrol edin.
Aylık Kontroller
Sistem güncellemelerini inceleyin.
Docker imaj güncellemelerini kontrol edin.
Uygulama sürüm notlarını okuyun.
Disk sağlığını kontrol edin.
Kullanılmayan imajları temizleyin.
Logları inceleyin.
Kullanıcı erişimlerini kontrol edin.
Yedekten dosya geri yükleme testi yapın.
Yıllık Kontroller
UPS pilini test edin.
Güç adaptörünü kontrol edin.
Fan ve kasayı temizleyin.
Harici disklerin çalışma süresini inceleyin.
Depolama kapasitesi planlaması yapın.
Eski kullanıcıları kaldırın.
Parolaları ve anahtarları yenileyin.
Sunucu dokümantasyonunu güncelleyin.
Felaket kurtarma planını test edin.
Sonuç
Raspberry Pi 5; doğru depolama, aktif soğutma, kaliteli güç adaptörü ve Ethernet bağlantısıyla çok amaçlı bir ev sunucusuna dönüştürülebilir.
Başlangıçta yalnızca:
Docker
Portainer
Pi-hole
Uptime Kuma
kurarak sistemi test edebilirsiniz.
Daha sonra ihtiyaçlarınıza göre:
Home Assistant
WireGuard
Samba
Nextcloud
Jellyfin
n8n
Gitea
Ters proxy
Veri tabanı
gibi servisleri aşamalı olarak ekleyebilirsiniz.
Başarılı bir ev sunucusu için şu kurallara dikkat edilmelidir:
Servisleri mümkün olduğunca ayrı konteynerlerde çalıştırın.
Yapılandırmaları düzenli klasörlerde saklayın.
Kalıcı verileri düzenli yedekleyin.
Yönetim panellerini internete açmayın.
Uzak erişim için VPN kullanın.
Sıcaklığı ve disk alanını izleyin.
Güncelleme öncesinde sürüm notlarını okuyun.
Kritik verileri tek cihazda bırakmayın.
Elektrik kesintilerine karşı UPS değerlendirin.
Yedeklerin geri yüklenebildiğini test edin.
Sistem dokümantasyonu oluşturun.
Servisleri tek tek kurup test edin.
Raspberry Pi 5 ev sunucusu yalnızca pratik bir teknoloji projesi değildir.
Ağ yönetimi, Linux, Docker, güvenlik, otomasyon ve sistem yönetimi konularında gerçek deneyim kazanmanızı sağlayan güçlü bir öğrenme ortamıdır.
Raspberry Pi 5 Ev Sunucusu Hakkında Sık Sorulan Sorular
Raspberry Pi 5 sunucu olarak kullanılabilir mi?
Evet. Dosya paylaşımı, Pi-hole, Home Assistant, VPN, küçük web uygulamaları, otomasyon ve Docker servisleri için kullanılabilir.
Raspberry Pi sunucusu 7/24 açık kalabilir mi?
Kaliteli güç kaynağı, aktif soğutma, güvenilir depolama ve düzenli bakım ile sürekli çalışabilir.
Ev sunucusu için 4 GB RAM yeterli mi?
Pi-hole, Portainer, Uptime Kuma ve birkaç hafif servis için genellikle yeterlidir. Çok sayıda konteyner ve ağır uygulamalar için 8 GB daha uygundur.
Docker Raspberry Pi 5’te çalışır mı?
Evet. ARM64 mimarisini destekleyen Docker imajları Raspberry Pi 5 üzerinde çalışabilir.
Raspberry Pi’ye Home Assistant kurulabilir mi?
Evet. Cihaz yalnızca Home Assistant için kullanılacaksa Home Assistant OS; çok amaçlı sunucu olacaksa Home Assistant Container değerlendirilebilir.
Pi-hole bütün reklamları engeller mi?
Hayır. DNS seviyesinde çalışan Pi-hole, aynı alan adından sunulan reklamları veya bazı uygulama içi reklamları engelleyemeyebilir.
Ev dışından sunucuya nasıl erişilir?
WireGuard veya Tailscale gibi VPN ve özel ağ sistemleriyle ev ağına şifreli bağlantı kurulabilir.
NVMe SSD gerekli mi?
Zorunlu değildir. Ancak Docker, veri tabanı ve yoğun log işlemlerinde performans ve dayanıklılık avantajı sağlar.
Aynı Raspberry Pi’de Pi-hole ve Home Assistant çalışır mı?
Evet. Port çakışmaları ve kaynak kullanımı doğru yönetildiğinde aynı sistemde çalışabilir.
Raspberry Pi ev sunucusunun yedeği nasıl alınır?
Docker Compose dosyaları, uygulama verileri, VPN yapılandırmaları ve veri tabanları ayrı diske veya farklı cihaza düzenli olarak yedeklenmelidir.
Raspberry Pi ev sunucusu güvenli mi?
Güçlü parolalar, SSH anahtarları, güvenlik duvarı, VPN, güncellemeler ve düzenli yedekleme uygulanırsa güvenli bir sistem kurulabilir.
Raspberry Pi ev sunucusu için Wi-Fi yeterli mi?
Kullanılabilir ancak kararlılık ve yüksek aktarım hızı için Gigabit Ethernet bağlantısı önerilir.
Raspberry Pi üzerinde web sitesi yayınlanabilir mi?
Evet. Küçük kişisel projeler ve test sistemleri çalıştırılabilir. Yüksek trafik ve kritik ticari projeler için profesyonel sunucu altyapısı daha uygun olabilir.
Raspberry Pi üzerinde Nextcloud çalışır mı?
Evet. Ancak Nextcloud veri tabanı, web sunucusu, güvenlik, depolama ve düzenli bakım gerektirir.
Raspberry Pi üzerinde Jellyfin kullanılabilir mi?
Evet. Doğrudan oynatılan medya dosyalarında iyi sonuç alınabilir. Gerçek zamanlı video dönüştürme işlemleri performansı zorlayabilir.
Raspberry Pi ev sunucusu için UPS gerekli mi?
Zorunlu değildir ancak sık elektrik kesintisi yaşanan yerlerde dosya sistemi ve veri tabanı bozulmalarına karşı önerilir.
Raspberry Pi mi, mini PC mi daha iyi?
Hafif servisler, düşük enerji tüketimi ve öğrenme projeleri için Raspberry Pi uygundur. Ağır uygulamalar, sanal makineler ve yüksek işlem gücü için mini PC daha iyi olabilir.

Yorum Yap
Yorumlar (0)
Henüz yorum yapılmamış. İlk yorumu siz yapın!