Dış Bulutlara Alternatif: Yerel Ağda Hafif Dosya Paylaşım ve Senkronizasyon Sunucusu
Google Drive, Dropbox veya OneDrive gibi servisler ilk bakışta pratik gelse de ücretsiz kota sınırına çabucak ulaşır ve aylık abonelik ücreti talep eder. Daha da önemlisi, özel fotoğraflarınız ve kişisel arşivleriniz yabancı bir şirketin sunucularında taranabilir haldedir.
Kendi ev sunucunuz üzerinde çalıştıracağınız hafif bir depolama çözümü; evdeki yerel gigabit ağınızın tüm hızını (100-110 MB/s aktarım) kullanarak dosyalarınızı anında senkronize etmenizi sağlar.
Bu rehberde; kaynak canavarı devasa sistemler (Nextcloud vb.) yerine, düşük kaynaklı sunucularda (Orange Pi veya Mini PC) yağ gibi çalışan Syncthing ve Filebrowser mimarisini inceliyoruz.
1. Mimari Karar: Nextcloud mu, Yoksa Syncthing + Filebrowser mı?
| Kriter | Nextcloud | Syncthing + Filebrowser |
|---|---|---|
| RAM Tüketimi | 1.5 GB – 3 GB (PHP, Apache, Redis, MySQL) | 60 MB – 150 MB |
| İşlemci Yükü | Ağır arka plan cron ve veritabanı sorguları | Minimum (Doğrudan Go diliyle yazılmış ikili dosyalar) |
| Küçük Cihaz Uyumu | Orange Pi / Raspberry Pi’yi aşırı yorar | Tek kart bilgisayarlarda kusursuz çalışır |
| Çalışma Prensibi | Merkezi sunucu modeli | Eşler arası (P2P), blok seviyesinde diferansiyel senkronizasyon |
Düşük güç tüketimli ve sessiz bir ev sunucusunda hedefimiz sadelik olduğunda Syncthing (arka plan senkronizasyonu) ve Filebrowser (web üzerinden erişim ve paylaşım) ikilisi rakipsizdir.
2. Harici Depolama Alanının (USB/SATA Disk) Linux’a Kalıcı Bağlanması
Ev sunucunuzdaki microSD kartı doğrudan depolama olarak kullanmak kartı hızla bozar. Bunun yerine harici bir USB disk veya SATA SSD bağlayıp fstab ile sisteme bağlamalıyız:
# 1. Diskin UUID numarasını öğrenin
sudo blkid
# Örnek çıktı: /dev/sdb1: UUID="a1b2c3d4-..." TYPE="ext4"
/etc/fstab dosyasını düzenleyerek açılışta otomatik bağlanmasını sağlayın:
UUID=a1b2c3d4-... /mnt/depolama ext4 defaults,noatime 0 2
Bağlantıyı test edin:
sudo mkdir -p /mnt/depolama
sudo mount -a
3. Docker Compose ile Kurulum
docker-compose.yml:
version: "3"
services:
# Web tabanlı dosya yöneticisi
filebrowser:
image: filebrowser/filebrowser:latest
container_name: filebrowser
restart: always
user: 1000:1000
ports:
- "8082:80"
volumes:
- /mnt/depolama:/srv
- ./filebrowser_data/database.db:/database/filebrowser.db
- ./filebrowser_data/settings.json:/config/settings.json
# Cihazlar arası arka plan senkronizasyon motoru
syncthing:
image: syncthing/syncthing:latest
container_name: syncthing
restart: always
hostname: ev-syncthing
environment:
- PUID=1000
- PGID=1000
volumes:
- ./syncthing_config:/var/syncthing/config
- /mnt/depolama:/var/syncthing/data
ports:
- "8384:8384" # Web GUI
- "22000:22000/tcp" # Senkronizasyon protokolü
- "22000:22000/udp"
- "21027:21027/udp" # Yerel keşif (Discovery)
Başlatın:
docker compose up -d
4. Kullanım Senaryoları
A. Telefon Fotoğraflarını Otomatik Yedekleme (Syncthing)
- Telefonunuza resmi Syncthing uygulamasını kurun.
- Web arayüzünden (
http://192.168.1.150:8384) telefonunuzu QR kod ile eşleştirin. - Telefonunuzdaki
DCIM/Cameraklasörünü sunucuya ekleyin ve “Yalnızca Gönderici (Send Only)” olarak işaretleyin. - Artık eve gelip Wi-Fi’a bağlandığınız anda o gün çektiğiniz tüm fotoğraflar yerel gigabit hızında ev sunucunuza aktarılır; buluta tek bir bayt yüklenmez.
B. Web Üzerinden Dosya İndirme ve Link Paylaşımı (Filebrowser)
http://192.168.1.150:8082adresine gidin (Varsayılan kullanıcı/şifre:admin/admin).- Tıpkı Google Drive gibi klasörler arasında gezinebilir, dosyaları sürükleyip bırakabilir, video ve fotoğrafları tarayıcıdan önizleyebilirsiniz.
- Dilerseniz bir klasör veya dosya için süreli şifreli indirme linki oluşturabilirsiniz.
5. Çıkarımlar
Bu ikili yapı sayesinde sunucumuz RAM tüketimini 100 MB seviyesinde tutarak yüzlerce gigabaytlık veriyi sessizce senkronize eder.
Serimizin son bölümünde, evimizde çalışan bu servislere IP ve port numaraları (:8082, :8080) yerine bulut.evim.com gibi şık ve SSL sertifikalı alan adlarıyla nasıl güvenle erişeceğimizi inceleyeceğiz.