Açık Kaynak Uygulamalar

    Seafile Nedir ve Kendi Dosya Bulutunuzu Kurma

    Hızlı senkronizasyon ve kütüphane tabanlı yapısıyla öne çıkan açık kaynak dosya bulutu Seafile rehberi.

    11 dk okuma Güncellendi: 10 Temmuz 2026

    Seafile, dosyalarınızı kendi sunucunuzda barındırıp bilgisayarlarınız, telefonlarınız ve tarayıcınız arasında senkronize etmenizi sağlayan açık kaynak bir dosya bulutu yazılımıdır. Google Drive veya Dropbox gibi ticari hizmetlerin sunduğu deneyimi, verilerinizin fiziksel olarak sizin denetiminizde kaldığı bir kurulumla verir. Farkı ise mimarisinde saklıdır: Seafile, dosyaları sıradan bir klasör olarak değil, sürüm geçmişi tutulabilen "kütüphane" adı verilen mantıksal birimler halinde saklar ve senkronizasyonu Git'e benzer, blok tabanlı bir motorla yürütür. Bu yaklaşım onu özellikle çok sayıda küçük dosyanın ya da büyük dosyaların hızlı ve güvenilir biçimde eşitlenmesi gereken senaryolarda öne çıkarır.

    Bir sistem yöneticisi gözünden bakınca Seafile, "kendi Dropbox'ını kur" isteğinin en performans odaklı yanıtlarından biridir. Nextcloud gibi rakipleri takvim, kişiler, çevrimiçi ofis ve yüzlerce eklentiyle bir "işbirliği platformu" olmayı hedeflerken, Seafile bilinçli olarak dar bir alanda derinleşir: dosyayı hızlı, güvenilir ve şifreli biçimde senkronize etmek ve paylaşmak. Bu odak, hem daha az kaynak tüketen hem de yük altında daha kararlı çalışan bir sistem ortaya çıkarır. Bu rehberde Seafile'ın kütüphane modelini ve hız avantajını Nextcloud'la karşılaştıracak, Docker Compose ile adım adım bir kurulum yapacak, istemci senkronizasyonunu, uçtan uca şifreli kütüphaneleri ve paylaşım bağlantılarını gerçek örneklerle ele alacağız.

    Seafile'ın Kütüphane Bazlı Mimarisi#

    Seafile'ı diğer dosya bulutlarından ayıran ilk kavram "kütüphane" (library) fikridir. Klasik bir sistemde tüm dosyalarınız tek bir büyük depoda, iç içe klasörler halinde durur. Seafile'da ise her kütüphane bağımsız bir birimdir: kendi erişim izinleri, kendi sürüm geçmişi ve isteğe bağlı olarak kendi şifreleme anahtarı vardır. "Muhasebe", "Proje X Tasarımları" ve "Kişisel Fotoğraflar" gibi kütüphaneleri ayrı ayrı oluşturur, her birini yalnızca ilgili kişilerle paylaşır ve her birini istemcinizde ayrı ayrı senkronize edip etmemeyi seçersiniz.

    Bu ayrım pratik hayatta çok işe yarar. Örneğin dizüstü bilgisayarınızda 200 GB'lık video arşivini senkronize etmek istemez, ama üzerinde çalıştığınız 3 GB'lık aktif proje kütüphanesini sürekli eşitli tutmak istersiniz. Seafile'da her kütüphaneyi bağımsız açıp kapatabildiğiniz için disk alanınızı akıllıca yönetirsiniz. Nextcloud'un tek bir kök klasörü seçici senkronla yönetme yaklaşımına kıyasla bu, çok daha net ve hata yapmaya kapalı bir modeldir.

    Kütüphanelerin altında yatan asıl yenilik ise depolama biçimidir. Seafile dosyaları olduğu gibi diske yazmaz; her dosyayı bloklara böler, bu blokları içeriklerinden türetilen bir kimlikle (content-addressed) saklar ve bir "commit" ağacıyla ilişkilendirir. Bu yapı Git'in çalışma mantığına çok benzer. Sonuç olarak aynı içeriğe sahip bloklar tek kez saklanır (deduplikasyon), bir dosyanın yalnızca değişen kısmı aktarılır ve sürüm geçmişi neredeyse bedava gelir. Sunucudaki seafile-data dizinine baktığınızda dosya adlarını değil, bu blok ve commit nesnelerini görürsünüz; bu yüzden yedeklemeyi Seafile'ın kendi araçlarıyla ya da tüm veri dizinini bütün olarak alarak yapmak önemlidir.

    Neden Seafile: Hız ve Verimlilik Avantajı#

    Seafile'ın en çok konuşulan özelliği senkronizasyon hızıdır ve bu bir pazarlama iddiasından ibaret değildir; mimarinin doğrudan sonucudur. Blok tabanlı ve delta (yalnızca fark) aktaran motor, özellikle iki senaryoda fark yaratır. Birincisi, içinde binlerce küçük dosya bulunan klasörler; ikincisi, düzenli olarak küçük değişiklikler yapılan büyük dosyalar. Bir video düzenleme projesini ya da onlarca bağımlılık klasörü içeren bir yazılım deposunu senkronize ederken Seafile, dosya dosya ilerleyen sistemlere göre belirgin biçimde önde bitirir.

    Kaynak tüketimi tarafında da tablo Seafile lehine çalışır. Sunucu bileşeni büyük ölçüde C dilinde yazılmış olduğundan bellek ayak izi düşüktür; mütevazı bir sanal sunucuda bile onlarca kullanıcıya rahatça hizmet verir. Bu, dar kaynaklı bir VDS sunucu üzerinde ekip için dosya bulutu ayağa kaldırmak isteyenler için somut bir avantajdır. Aşağıdaki tablo iki popüler çözümü sistem yöneticisi bakış açısıyla özetliyor.

    KriterSeafileNextcloud
    Temel odakDosya senkronu ve paylaşımıBütünleşik işbirliği platformu
    Senkron motoruBlok/delta tabanlı (Git benzeri)Dosya bazlı (WebDAV kökenli)
    Çok sayıda küçük dosyada hızÇok yüksekOrta
    Kaynak tüketimi (RAM/CPU)DüşükOrta-yüksek
    Eklenti ekosistemiSınırlı, odaklıÇok geniş (takvim, ofis, sohbet)
    Uçtan uca şifreli kütüphaneYerleşikEk yapılandırma/uygulama gerektirir
    Kurulum karmaşıklığıDocker ile ortaDocker ile orta

    Bu karşılaştırmadan çıkan sonuç bir "kazanan-kaybeden" değildir. Eğer takvim, çevrimiçi belge düzenleme ve zengin bir uygulama ekosistemi istiyorsanız Nextcloud muhtemelen daha iyi bir eşleşmedir. Ama önceliğiniz hızlı, güvenilir ve az kaynak tüketen saf bir dosya senkronu ise Seafile net biçimde öne geçer. Birçok kurum ikisini birlikte de kullanır: gündelik işbirliği için Nextcloud, ağır dosya arşivleri ve hızlı ekip senkronu için Seafile.

    Docker ile Seafile Kurulumu#

    Seafile'ı bir sunucuya kurmanın en temiz yolu Docker Compose'dur. Bu yöntem, veritabanı, önbellek ve uygulama bileşenlerini birbirinden izole konteynerlerde çalıştırır; böylece güncelleme ve yedekleme oldukça sadeleşir. Konteyner mantığına yeni başlıyorsanız, önce Portainer rehberimize göz atarak konteynerleri görsel bir arayüzden yönetmeyi öğrenmeniz süreci kolaylaştırır. Aşağıdaki adımlar Ubuntu tabanlı bir sunucu varsayar.

    Öncelikle Docker ve Compose eklentisinin kurulu olduğundan emin olun:

    # Docker kurulumu (resmi convenience script)
    curl -fsSL https://get.docker.com | sudo sh
    
    # Kurulumu doğrulayın
    sudo docker --version
    sudo docker compose version
    

    Ardından projeniz için bir dizin oluşturup içine bir docker-compose.yml dosyası yazın. Aşağıdaki örnek, MariaDB veritabanı, Memcached önbelleği ve Seafile uygulamasını birlikte ayağa kaldırır:

    services:
      db:
        image: mariadb:10.11
        container_name: seafile-db
        environment:
          - MYSQL_ROOT_PASSWORD=cok_guclu_bir_root_parola
          - MYSQL_LOG_CONSOLE=true
        volumes:
          - ./data/db:/var/lib/mysql
        restart: unless-stopped
    
      memcached:
        image: memcached:1.6
        container_name: seafile-memcached
        entrypoint: memcached -m 256
        restart: unless-stopped
    
      seafile:
        image: seafileltd/seafile-mc:11.0-latest
        container_name: seafile
        ports:
          - "80:80"
        volumes:
          - ./data/seafile:/shared
        environment:
          - DB_HOST=db
          - DB_ROOT_PASSWD=cok_guclu_bir_root_parola
          - TIME_ZONE=Europe/Istanbul
          - [email protected]
          - SEAFILE_ADMIN_PASSWORD=panel_yonetici_parolasi
          - SEAFILE_SERVER_HOSTNAME=bulut.ornekalanadi.com
        depends_on:
          - db
          - memcached
        restart: unless-stopped
    

    Servisleri başlatmak için:

    sudo docker compose up -d
    
    # Başlatma sırasında logları izlemek faydalıdır
    sudo docker compose logs -f seafile
    

    İlk başlatmada Seafile veritabanı tablolarını oluşturur ve birkaç dakika içinde SEAFILE_SERVER_HOSTNAME ile verdiğiniz adres üzerinden web arayüzü erişilebilir hale gelir. SEAFILE_ADMIN_EMAIL ve parolasıyla yönetici olarak giriş yaparsınız. Bu noktada sistem çalışıyor olsa da üretim için iki iş kalır: kalıcı bir alan adı yönlendirmesi ve HTTPS.

    Alan Adı, Ters Proxy ve HTTPS#

    Seafile'ı gerçek bir hizmet olarak kullanacaksanız onu düz HTTP'de bırakmak kabul edilebilir değildir; parolalar ve dosyalar şifresiz akar. Doğru yaklaşım, önüne bir Nginx ters proxy koyup SSL sertifikasıyla trafiği şifrelemektir. Önce bir alan adının A kaydını sunucunuzun IP'sine yöneltin. Henüz alan adınız yoksa alan adı sayfamızdan bir tane edinebilirsiniz. DNS kaydı şöyle görünmelidir:

    bulut.ornekalanadi.com.    300    IN    A    203.0.113.25
    

    Ardından sunucudaki Nginx'te Seafile'a yönelen bir sanal sunucu tanımlayın. Seafile hem ana uygulamayı hem de senkron trafiğini taşıyan seafhttp yolunu kullandığı için ikisini de proxy'lemeniz gerekir:

    server {
        listen 443 ssl http2;
        server_name bulut.ornekalanadi.com;
    
        ssl_certificate     /etc/letsencrypt/live/bulut.ornekalanadi.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/bulut.ornekalanadi.com/privkey.pem;
    
        # Büyük dosya yüklemelerine izin ver
        client_max_body_size 0;
    
        location / {
            proxy_pass http://127.0.0.1:80;
            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 https;
        }
    
        location /seafhttp {
            rewrite ^/seafhttp(.*)$ $1 break;
            proxy_pass http://127.0.0.1:8082;
            proxy_read_timeout  36000s;
            proxy_send_timeout  36000s;
            client_max_body_size 0;
        }
    }
    

    Burada iki ayrıntı kritik. Birincisi, client_max_body_size 0; ile yükleme boyutu sınırını kaldırmazsanız büyük dosyalar 413 hatasıyla reddedilir. İkincisi, /seafhttp bloğundaki uzun proxy_read_timeout değeri, saatlerce sürebilen büyük senkron oturumlarının zaman aşımına uğramasını önler. Sertifikayı Let's Encrypt ile ücretsiz alabilir, kurulumun tümünü tek elden yönettirmek isterseniz sunucu yönetimi hizmetimizden yararlanabilirsiniz. Bu adımlarla uğraşmadan hızlı bir başlangıç için App Center üzerinden hazır uygulama kurulumlarına da göz atabilirsiniz.

    İstemci Senkronizasyonu ve Sürüm Geçmişi#

    Sunucu hazır olduğunda asıl deneyim istemci tarafında başlar. Seafile'ın Windows, macOS ve Linux için resmi masaüstü istemcileri, iOS ile Android için mobil uygulamaları vardır. Masaüstü istemcisini kurup sunucu adresinizi, e-postanızı ve parolanızı girdiğinizde hesabınızdaki kütüphaneler listelenir. Her kütüphaneyi ayrı ayrı, yerel diskte seçtiğiniz bir klasöre eşitleyebilirsiniz. Bu noktadan sonra o klasöre attığınız her dosya arka planda sunucuya, oradan da diğer cihazlarınıza akar.

    Seafile masaüstü istemcisi iki mod sunar. Klasik "senkronizasyon" modu dosyaların tam kopyasını yerelde tutar; çevrimdışıyken bile her şeye erişirsiniz. "Drive" modu ise dosyaları yer kaplamadan gösterir, siz açtığınızda indirir; disk alanı dar cihazlar için idealdir. Linux tarafında istemciyi komut satırından da yönetebilirsiniz, bu da otomasyon ve sunucudan sunucuya senkron için değerlidir:

    # Linux CLI istemcisiyle bir kütüphaneyi eşitleme
    seaf-cli init -d ~/seafile-config
    seaf-cli start
    seaf-cli sync -l KUTUPHANE_ID \
      -s https://bulut.ornekalanadi.com \
      -d ~/ProjeKlasoru \
      -u [email protected]
    

    Kütüphane modelinin en değerli getirisi sürüm geçmişidir. Bir dosyayı yanlışlıkla üzerine yazdığınızda ya da sildiğinizde panik yapmanıza gerek yoktur; web arayüzünde ilgili dosyaya sağ tıklayıp "Geçmiş" seçeneğinden önceki sürümlere dönebilir, silinen dosyaları "Çöp Kutusu"ndan geri alabilirsiniz. Yönetici, kütüphane başına kaç günlük geçmiş tutulacağını da ayarlayabilir. Bu özellik, fidye yazılımı gibi kazaların etkisini büyük ölçüde geri alınabilir kılar. Yine de sürüm geçmişi bir yedek değildir; sunucu tamamen kaybolursa geçmiş de gider. Bu yüzden Seafile veri dizinini düzenli olarak dış bir konuma yedeklemek şarttır; harici, otomatik bir çözüm için yedekleme hizmetimizi değerlendirin.

    Şifreli Kütüphaneler ve Paylaşım Bağlantıları#

    Seafile'ın güvenlik tarafındaki bayrak özelliği uçtan uca şifreli kütüphanelerdir. Bir kütüphaneyi oluştururken "şifreli" seçeneğini işaretlediğinizde bir parola belirlersiniz. Bu parola sunucuya asla düz olarak gönderilmez; dosyalar istemcide, sizin cihazınızda şifrelenir ve sunucuya yalnızca şifreli bloklar ulaşır. Sunucuyu yöneten kişi bile o kütüphanenin içeriğini parolayı bilmeden okuyamaz. Bu, sunucu barındırma sağlayıcınıza dahi güvenmek istemediğiniz hassas veriler için güçlü bir güvencedir.

    Bu modelin bir bedeli vardır ve dürüstçe söylemek gerekir: şifreleme parolasını kaybederseniz o kütüphanedeki veriler kalıcı olarak kurtarılamaz. Sunucuda "parola sıfırlama" gibi bir kurtarma yolu yoktur, çünkü olsaydı uçtan uca şifreleme anlamsızlaşırdı. Ayrıca şifreli kütüphanelerin çevrimiçi önizleme ve arama gibi bazı özellikleri sınırlıdır, zira sunucu içeriği göremez. Bu yüzden şifrelemeyi her yere değil, gerçekten gerektiren kütüphanelere uygulamak en sağlıklı yaklaşımdır.

    Paylaşım tarafında Seafile esnek seçenekler sunar. Bir dosya veya klasörü sistemdeki başka bir kullanıcıyla ya da bir grupla, salt-okunur veya yazma iznine kadar ayrıntılandırarak paylaşabilirsiniz. Sisteme kayıtlı olmayan kişiler için ise "paylaşım bağlantısı" oluşturursunuz. Bu bağlantılara üç önemli koruma ekleyebilirsiniz: bir parola, bir son kullanma tarihi ve indirmeyi engelleyip yalnızca önizlemeye izin veren bir kısıt. Örneğin bir müşteriye teslim edeceğiniz tasarım dosyaları için, yedi gün sonra otomatik kapanan parolalı bir bağlantı oluşturmak tipik bir kullanımdır. Herkese açık paylaşım bağlantılarınızı düzenli gözden geçirmek ve süresi dolanları temizlemek, veri sızıntısı riskini düşürmenin basit ama etkili bir yöntemidir.

    Bakım, Güncelleme ve Performans İpuçları#

    Seafile'ı Docker ile kurmanın en büyük getirisi güncellemenin sadeleşmesidir. Yeni bir sürüme geçmek için docker-compose.yml içindeki imaj etiketini yükseltir, ardından konteynerleri yeniden oluşturursunuz. Yine de her güncelleme öncesi veri dizinini yedeklemek altın kuraldır:

    # Önce durdurup veriyi yedekle
    sudo docker compose down
    sudo tar czf seafile-yedek-$(date +%F).tar.gz ./data
    
    # İmaj etiketini güncelledikten sonra
    sudo docker compose pull
    sudo docker compose up -d
    

    Ana sürümler arası atlamalarda (örneğin 10.x'ten 11.x'e) Seafile'ın veritabanı göç adımlarını doğru sırayla uygulaması gerekir; ara sürümü atlamadan yükselmek ve sürüm notlarını okumak sorun yaşamamanın anahtarıdır. Konteyner loglarını docker compose logs ile izleyerek göçün temiz tamamlandığını doğrulayın.

    Performans tarafında birkaç pratik ayar büyük fark yaratır. Memcached önbelleğini etkin tutmak arayüzün tepki süresini belirgin iyileştirir. Çok kullanıcılı kurulumlarda MariaDB'ye yeterli bellek ayırmak ve disk olarak dönen sabit disk yerine SSD tercih etmek senkron gecikmelerini azaltır. Sunucunuzu gereksinime göre büyütebileceğiniz esnek bir sanal sunucu üzerinde çalıştırmak, kullanıcı sayınız arttığında kaynak eklemeyi kolaylaştırır. Son olarak, kamuya açık bir hizmet çalıştırıyorsanız oturum açma denemelerini sınırlamak, güvenlik güncellemelerini geciktirmemek ve önüne bir WAF koyarak kötü niyetli istekleri filtrelemek üretim ortamı için akıllıca önlemlerdir.

    Sıkça Sorulan Sorular#

    Seafile ücretsiz mi?#

    Evet, Seafile'ın Community (topluluk) sürümü tamamen açık kaynak ve ücretsizdir; kullanıcı ya da depolama sınırı için lisans ödemezsiniz. Bu rehberde anlattığımız tüm özellikler bu ücretsiz sürümde bulunur. Ayrıca daha büyük kurumlar için gelişmiş yönetim, denetim ve destek içeren ücretli bir Professional sürümü de vardır, ancak kişisel ve küçük ekip kullanımı için topluluk sürümü fazlasıyla yeterlidir.

    Seafile mi Nextcloud mu tercih etmeliyim?#

    Bu tamamen önceliğinize bağlıdır. Eğer takvim, kişiler, çevrimiçi belge düzenleme ve zengin bir eklenti ekosistemi istiyorsanız Nextcloud daha uygun bir bütünleşik platformdur. Ama önceliğiniz saf hız, düşük kaynak tüketimi ve çok sayıda dosyanın güvenilir senkronizasyonuysa Seafile net biçimde öne geçer. Birçok kurum ikisini bir arada kullanır; işbirliği için Nextcloud, ağır dosya arşivleri için Seafile.

    Şifreli kütüphanenin parolasını unutursam ne olur?#

    Maalesef o kütüphanedeki veriler kalıcı olarak erişilemez hale gelir. Uçtan uca şifrelemede parola yalnızca sizin cihazınızda bulunduğu ve sunucuya hiçbir zaman düz olarak gönderilmediği için, sunucuda bir "parola sıfırlama" yolu bilinçli olarak yoktur; olsaydı şifreleme anlamsızlaşırdı. Bu yüzden şifreli kütüphane parolanızı güvenli bir parola yöneticisinde saklamanız kritik önemdedir.

    Seafile'ın senkronizasyonu neden daha hızlı?#

    Bunun nedeni blok ve delta tabanlı senkron motorudur. Seafile dosyaları bloklara böler, yalnızca değişen blokları aktarır ve aynı içeriğe sahip blokları tek kez saklar. Bu yüzden binlerce küçük dosya içeren klasörlerde ya da düzenli küçük değişiklik yapılan büyük dosyalarda, dosya dosya ilerleyen sistemlere göre belirgin biçimde önde bitirir. Bu bir yazılım optimizasyonu değil, doğrudan mimarinin sonucudur.

    Sürüm geçmişi yedek yerine geçer mi?#

    Hayır, ikisini karıştırmamak gerekir. Sürüm geçmişi, yanlışlıkla değiştirilen veya silinen dosyaları aynı sunucu üzerinde geri almanızı sağlar; ancak sunucunun kendisi çökerse, diski bozulursa ya da tümüyle kaybolursa geçmiş de onunla birlikte gider. Bu nedenle Seafile veri dizinini düzenli olarak farklı bir fiziksel konuma yedeklemek şarttır. En sağlıklısı, sürüm geçmişini kaza kurtarma, gerçek yedeği ise felaket kurtarma için ayrı ayrı konumlandırmaktır.

    Kendi sunucum yoksa Seafile'ı nasıl kurarım?#

    Seafile bir sunucu üzerinde çalışmak zorundadır, ancak bu sunucuyu tedarik etmek düşündüğünüzden kolaydır. Bir VDS ya da sanal sunucu kiralayıp Docker ile bu rehberdeki adımları izleyebilir, kurulum ve bakımı bizim üstlenmemizi isterseniz sunucu yönetimi hizmetimizden yararlanabilirsiniz. Böylece teknik ayrıntılarla uğraşmadan kendi dosya bulutunuza sahip olursunuz.

    Kapanış#

    Seafile, "kendi dosya bulutumu kurayım" isteğine performans ve verimlilik odağıyla yanıt veren, olgun ve kanıtlanmış bir açık kaynak çözümdür. Kütüphane bazlı mimarisi disk yönetimini netleştirir, blok tabanlı senkron motoru onu hız gerektiren senaryolarda öne çıkarır ve uçtan uca şifreli kütüphaneler ile esnek paylaşım bağlantıları hem güvenliği hem işbirliğini tek çatı altında toplar. Nextcloud kadar geniş bir uygulama ekosistemi sunmasa da, saf ve hızlı dosya senkronu isteyen herkes için çoğu zaman daha doğru araçtır.

    Kendi Seafile bulutunuzu ayağa kaldırmaya hazırsanız, sağlam bir temelle başlamak işin yarısıdır. İhtiyacınıza göre ölçeklenebilen sanal sunucu ve VDS paketlerimizle Docker tabanlı kurulumu dakikalar içinde başlatabilir, alan adı, SSL sertifikası ve yedekleme ihtiyaçlarınızı tek bir çatı altında yönetebilirsiniz. Kurulum ve bakımı uzman ekibimize bırakmak isterseniz sunucu yönetimi hizmetimiz tam da bunun içindir. Verilerinizin denetimini kendi elinize almak için doğru zaman şimdi.

    dosyabulutself-hosted

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.