En iyi self-hosted dosya yöneticisi karşılaştırması
FileBrowser, Filestash, SFTPGo ve Cloud Commander araçlarını yetkilendirme, depolama ve paylaşım özellikleri ile inceleyin. Veri kaybı yaşamadan kurulum yapmanın yollarını öğrenin.
Self-hosted dosya yöneticisi nedir ve ne değildir
Self-hosted dosya yöneticisi, VPS (sanal özel sunucu) üzerinde halihazırda var olan dizin ağacı üzerinde çalışan bir web sayfasıdır. Giriş yaptığınızda /srv/files dosya sisteminde olduğu gibi görünür; dosya yükleyebilir, yeniden adlandırabilir, indirebilir veya birine bağlantı gönderebilirsiniz. Hiçbir veri ikinci bir sisteme kopyalanmaz; bu nedenle tarayıcı üzerinden bıraktığınız bir dosya, ls üzerinde bir saniye sonra görünür hale gelir.
Arama sonuçları, bu kavramı başka işler yapan yazılımlarla karıştırmaktadır. Senkronizasyon araçları her dosyanın bir kopyasını her cihazda tutar; self-hosted bir Dropbox alternatifi tam olarak bu iş içindir. Nesne depolama (object storage) sistemlerinde dizin ağacı bulunmaz; bunun yerine bucket yapıları ve bir API kullanılır, dolayısıyla S3 uyumlu nesne depolama için MinIO çalıştırmak farklı bir ihtiyaca yanıt verir. Sunucu yönetim panelleri dosyaları değil makineyi yönetir; bu konu ise Cockpit ve Webmin karşılaştırması kapsamındadır.
Bir iş arkadaşınızın sunucudaki 300 MB boyutunda bir arşive ihtiyacı olduğunda veya telefondan bir yapılandırma dosyasındaki yazım hatasını düzeltmek istediğinizde bir dosya yöneticisine ihtiyaç duyarsınız. İşin kapsamı küçüktür, araçlar da öyle.
Okurken şu gerçeği göz önünde bulundurun: Bu, dosya sisteminize okuma ve yazma erişimi olan ve bir port üzerinden dinleme yapan bir web uygulamasıdır. Aşağıdaki her seçenek, aslında ilgili sürecin diskinizin ne kadarına erişebileceğine dair bir tercihtir.
FileBrowser arşivlenmiştir, kurmadan önce bunu okuyun
FileBrowser, filebrowser/filebrowser projesi, çoğu rehberin hala önerdiği çözümdür. README dosyası artık şu uyarıyla açılmaktadır:
File Browser, 2026-09-01 tarihinde arşivlenmiştir. Planlanan son sürüm yayınlanmıştır. Bundan sonra yeni sürüm, hata düzeltmesi veya güvenlik yaması yayınlanmayacaktır.
Apache 2.0 lisanslı kod çalışmaya devam eder. Ancak güvenlik güncellemeleri durmuştur. Yazılımın temel amacı HTTP üzerinden dosya sistemine yazma erişimi sağlamak olduğundan, bu durum diğer kategorilere kıyasla burada daha kritiktir.
Bakımcılar, yazılımı kullanmaya devam etmek için yapılması gerekenleri belirtmiştir ve bu tavsiyeler hangi aracı seçerseniz seçin uygulanmalıdır: Yazılımı doğrudan internete açmayın, TLS (transport layer security) sonlandırması yapan ve kendi kimlik doğrulamasını gerçekleştiren bir reverse proxy arkasına alın, komut çalıştırma özelliğini devre dışı bırakın ve yalnızca hizmet vermek istediğiniz dizini mount ederek ayrıcalıksız bir container içerisinde çalıştırın.
README dosyasındaki bir satır diğerlerinden daha önemlidir. Oturumlar sunucu tarafındaki tanımlayıcılar yerine kendi kendine yeten JWT (JSON web token) yapısındadır, bu nedenle iptal edilemezler. Sızdırılan bir oturum anahtarı süresi dolana kadar geçerli kalır ve şifreyi değiştirmek bu anahtarı geçersiz kılmaz. FileBrowser kullanmaya devam edecekseniz, önündeki kimlik doğrulama katmanı asıl işi yapan kısımdır.
FileBrowser Quantum: gelişimi devam eden fork
Aktif geliştirme süreci, gtstef/filebrowser imajı olarak yayınlanan FileBrowser Quantum (gtsteffaniak/filebrowser) adlı forka taşınmıştır. Bu sürüm, eski komut satırı bayrakları ve veritabanı ayarları karmaşası yerine yapılandırmayı tek bir config.yaml dosyası etrafında yeniden kurgular. Dokümantasyonda önerilen hızlı deneme yöntemi şöyledir:
docker run -d \
-v $(pwd):/srv \
-p 80:80 \
gtstef/filebrowser:betaBu komut, mevcut dizini http://localhost adresinde sunar ve ilk giriş bilgileri admin / admin şeklindedir. Konteyner kendi makineniz dışında herhangi bir yerden erişilebilir hale gelmeden önce bu bilgileri değiştirin.
Kalıcı bir kurulum için Compose kullanın, tek bir veritabanı dosyası yerine veri dizinini mount edin ve portu localhost adresine bağlayın:
services:
filebrowser:
image: gtstef/filebrowser:beta
user: "1000:1000"
volumes:
- /srv/files:/folder
- ./data:/home/filebrowser/data
ports:
- 127.0.0.1:8080:80
restart: unless-stoppedYapılandırma dosyası /home/filebrowser/data/config.yaml konumunda, veritabanı ise /home/filebrowser/data/filebrowser.sqlite konumunda bulunur. Sürüm 2.0.0 ile veritabanı formatı değiştirilmiş ve tek seferlik bir taşıma işlemi eklenmiştir; dokümantasyonun dizin mount etmeyi önerme sebebi budur: tek bir dosya mount edildiğinde, taşıma işlemi sırasında yeni dosyanın oluşturulabileceği bir alan kalmaz. config.yaml içindeki yollar konteyner içi yollardır, bu nedenle yapılandırma dosyasındaki bir kaynak /srv/files değil, /folder olarak okunur. Bu yolların karıştırılması, dizin gerçekten mevcut olmadığı halde hata vermeden boş bir dosya listesi döndürülmesine neden olur.
Proje, video küçük resimleri için FFmpeg içeren yaklaşık 60 MB boyutundaki latest ve stable imajlarını, yalnızca temel özellikleri barındıran yaklaşık 15 MB boyutundaki stable-slim imajını yayınlamaktadır. Bu rakamlar Ağustos 2026 itibarıyla kurulum sayfasındaki verilerdir. Seçtiğiniz etiketi (tag) sabitleyin. latest size haber vermeden değişebilir; çalışan bir konteynerin yapılandırma formatını değiştiren bir dosya yöneticisi, güne kötü başlamanıza neden olabilir.
Bu iş için küçük araçlar arasında en güçlüsü budur. İçerme ve hariç tutma kurallarıyla birden fazla kaynağa hizmet verebilir, böylece tek bir örnek /srv/media ve /srv/docs dizinlerini farklı kapsamlarla dışarı açabilir. Paylaşımlar bir son kullanma süresine sahiptir ve anonim veya kullanıcı kısıtlamalı olabilir. Kimlik doğrulama; OIDC (OpenID Connect), LDAP (lightweight directory access protocol), iki faktörlü parola ve proxy başlığı modunu kapsar. Bu proxy modu, ikinci bir kullanıcı listesi tutmak yerine kendi kendine barındırılan bir Authentik sunucusu üzerinden tek oturum açma (SSO) arkasında çalışmasına olanak tanır.
Filestash: mevcut depolama alanlarınız için tek bir arayüz
Filestash farklı bir yapıya sahiptir. Bir arka uca bağlanan bir ön yüzdür ve arka uç listesi oldukça uzundur: FTP, SFTP (SSH file transfer protocol), S3, SMB, WebDAV, IPFS ve yaklaşık yirmi tane daha. Dosyalar arayüzü çalıştıran sunucuda bulunmadığında oldukça uygundur.
mkdir -p /srv/filestash && cd /srv/filestash
curl -O https://downloads.filestash.app/latest/docker-compose.yml
docker compose up -dKullanılacak imaj machines/filestash:latest şeklindedir. http://your_domain:8334 adresini açın; ilk ekran yönetici parolasını belirlemenizi ister. Bunu hemen yapın, çünkü siz yapana kadar yönetici konsolu portu bulan herkese açık kalır.
Üzerine bir yapı kurmadan önce kimlik modelini anlayın. Filestash, alışılagelmiş anlamda bir kullanıcı veritabanı tutmaz. Kimlik bilgileri tarayıcınızda şifrelenmiş, doğrulanmış ve yalnızca HTTP erişimine açık çerezler aracılığıyla saklanır. Paylaşım özelliğini kullanmadığınız sürece sunucu tarafında hiçbir şey tutulmaz; paylaşım özelliğini kullandığınızda ise Filestash, kimlik bilgilerinizin kalıcı ve şifrelenmiş bir sürümünü saklar. "Kullanıcılar" aslında depolama hesaplarıdır: kimlik, Filestash içinde değil, arka uçta, yani SFTP hesabında veya S3 anahtarında yaşar.
Bu tasarım oldukça temizdir ancak bir maliyeti vardır. Fiyatlandırma sayfası, ücretsiz self-hosted katmanını 3 kullanıcıya kadar AGPL v3 (GNU Affero General Public License) olarak listeler. SSO (SAML, OIDC ve LDAP) ile rol tabanlı erişim kontrolünü ise Ağustos 2026 itibarıyla aylık 50 dolardan başlayan ücretli self-hosted katmanına dahil eder. Eğer planınız "kurumsal SSO önünde ücretsiz Filestash" kullanmaksa, tasarımınızı buna göre yapmadan önce ilgili sayfayı kontrol edin.
SFTPGo: Web arayüzüne sahip bir protokol sunucusu
SFTPGo, bu listedeki en yetenekli yazılımdır ve genellikle yanlış nedenlerle tavsiye edilir. Yerel dosya sistemi, şifreli yerel dosya sistemi, S3 uyumlu nesne depolama, Google Cloud Storage, Azure Blob Storage veya başka bir SFTP sunucusu üzerinde SFTP, HTTP/S, FTP/S ve WebDAV servisleri sunar.
İkili dosyalar, Debian ve Ubuntu paketleri ve bir container imajı yayınlanmaktadır; güncel APT depo satırı ve imza anahtarı SFTPGo dokümantasyonundaki kurulum sayfasında yer alır. Container yöntemi, tag kısmını istediğiniz sürümle değiştirerek en hızlı çalıştırma yoludur:
docker run --name some-sftpgo -p 8080:8080 -p 2022:2022 -d "drakkan/sftpgo:tag"SFTP 2022 portunu, web arayüzleri ise 8080 portunu dinler. /srv/sftpgo yolunu bir volume olarak mount etmeniz gerekir; aksi takdirde kullanıcı ana dizinleri varsayılan olarak /srv/sftpgo/data/<username> konumunda olduğundan, container yeniden oluşturulduğunda hesaplar ve dosyalar silinir.
İki farklı web arayüzü bulunur ve çoğu incelemede bu ayrım örtük bırakılır. /web/admin adresindeki WebAdmin, yönetimsel arayüzdür; kullanıcıları, grupları, sanal klasörleri ve olay kurallarını burada oluşturur; kota, bant genişliği sınırı ve erişim zamanı kısıtlamalarını burada ayarlarsınız. /web/client adresindeki WebClient ise son kullanıcı görünümüdür; kullanıcılar burada dosyaları tarar, kendi kimlik bilgilerini değiştirir, iki faktörlü kimlik doğrulamayı yapılandırır ve paylaşımlar oluşturur.
Bu paylaşımlar, karşılaştırmadaki en iyi özelliklerden biridir. Bir kullanıcı, dosya ve klasörleri paylaşmak için HTTP/S bağlantıları oluşturabilir, indirme ve yükleme sayılarını sınırlayabilir, paylaşımı parola ile koruyabilir, erişimi kaynak IP adresine göre kısıtlayabilir ve otomatik bir son kullanma tarihi belirleyebilir.
Peki neden temkinli olunmalı? Sistemin ağırlık merkezi, tarama deneyimi değil, hesap modeli ve protokol sunucusudur. SFTPGo'yu; diğer kişilerin kotalı gerçek hesaplara ihtiyaç duyduğu, yüklemelerin kontrolünüz dışındaki bir sistemden SFTP veya FTPS üzerinden geldiği ya da tek bir bucket'ın birden fazla kullanıcının ana dizininde görünmesi gerektiği durumlarda tercih edin. Sanal klasörler bu sonuncusunu gerçekleştirir: yerel disk, S3, GCS, Azure Blob, SFTP veya HTTP destekli bir klasör, birden fazla hesaba mount edilebilir ve paylaşılan klasör üzerinde kullanıcı başına ayrı bir kota uygulanabilir. Eğer tek istediğiniz /srv/files üzerinden taranabilir bir sayfa ise, bu oldukça büyük bir altyapı yükü getirecektir.
Bilmeniz gereken iki gerçek daha var. Community sürümü, ticari lisanslı Enterprise sürümünün yanı sıra ek şartlar içeren AGPL-3.0 lisansına sahiptir. OIDC ile giriş özelliği açık kaynak sürümünde mevcuttur ve kimlik sağlayıcı kullanıcılarını her iki web arayüzü için SFTPGo yönetici ve kullanıcılarına eşler. Ayrıca, httpd yapılandırmasında enable_web_client ayarını kullanarak istemci arayüzünü genel olarak kapatabilir veya kullanıcı başına HTTP değerini o kullanıcının reddedilen protokollerine ekleyerek dosya yöneticisinin herkes için değil, sadece belirli kişiler için erişilebilir olmasını sağlayabilirsiniz.
Cloud Commander: iki panel ve bir terminal, tek kullanıcı için
Cloud Commander, yerleşik bir düzenleyici, konsol ve terminal içeren, iki panel stilinde MIT lisanslı bir Node.js yöneticisidir. npm i cloudcmd -g ile global olarak kurun veya yayınlanan container'ı çalıştırın:
docker run -it --rm -v ~:/root -v /:/mnt/fs -w=/root -p 8000:8000 coderaiser/cloudcmdÇalıştırmadan önce bu komutu okuyun. -v /:/mnt/fs, tüm ana makine dosya sistemini container içine bağlar ve örnek ~/.cloudcmd.json, "root": "/", "auth": false ve "console": true ile gelir. Bu kombinasyon, 8000 numaralı porta erişen herkesin tüm diskinize ve sunucu üzerinde bir komut konsoluna sahip olacağı anlamına gelir. Bu, bir dizüstü bilgisayar için mantıklı bir varsayılan olsa da, bir VPS için kötü bir tercihtir.
Kapsamı daraltın. Container, yayınlanan komutun ev dizininizi bağlayarak sağladığı /root/.cloudcmd.json dosyasını okur; bu nedenle yapılandırma bağlamasını koruyun ve geri kalanını kaldırın:
docker run -d --name cloudcmd \
-v ~/.cloudcmd.json:/root/.cloudcmd.json \
-v /srv/files:/srv/files \
-w=/srv/files \
-p 127.0.0.1:8000:8000 \
coderaiser/cloudcmdBu yapılandırma dosyasında "root" değerini /srv/files olarak, "auth" değerini bir "username" ve "password" ile true olarak ayarlayın; tarayıcı üzerinden kabuk erişimi istemediğiniz sürece "console" ve "terminal" değerlerini false yapın. --root, --auth, --username, --password ve --prefix dahil olmak üzere komut satırı karşılıkları da mevcuttur.
Ne olduğu konusunda dürüst olun. Tek bir kimlik bilgisi çifti, kullanıcı bazlı kapsamlandırma yok, kota yok, paylaşım bağlantısı yok. Bu kişisel bir araçtır, bu yüzden yukarıdaki gibi localhost'a bağlayın ve bir tünel üzerinden erişin:
ssh -L 8000:127.0.0.1:8000 you@your-vpsArdından kendi makinenizde http://127.0.0.1:8000 adresini açın. Dosya yöneticisi asla halka açık hale getirilmez ve internete açık olan tek şey, zaten VPS üzerinde güçlendirdiğiniz SSH daemon'ıdır.
Neden Nextcloud bu iş için yanlış araçtır
Nextcloud iyi bir yazılımdır ancak bu iş için tasarlanmamıştır. Bir iş birliği platformudur: bir PHP uygulaması, veritabanı, arka plan işleri, masaüstü eşitleme istemcileri ve bir uygulama mağazasından oluşur. /srv/files içeriğinin web görünümünü elde etmek için bunu çalıştırmak, küçük bir iş için çok fazla hareketli parça demektir ve temel bir uyumsuzluk söz konusudur. Nextcloud, dosya meta verilerini her istekte dizini okumak yerine bir veritabanı tablosunda tutar; bu nedenle rsync veya bir cron işi tarafından yazılan dosyalar, sudo -u www-data php occ files:scan --all ile belirtilen tarama işlemi yetişene kadar arayüzde görünmeyebilir. Bir dosya yöneticisi ise sayfayı yüklediğinizde dizini listeler, dolayısıyla bu tür bir gecikme yaşanmaz.
Nextcloud'u iyi yaptığı işler için kullanın: takvimler, kişiler, eşitleme ve masaüstü istemcisi bekleyen kişilerle paylaşım. Docker, TLS ve yedeklemeler ile VPS üzerinde Nextcloud rehberi bu kurulumu kapsar. Eğer halihazırda Nextcloud çalıştırıyorsanız ve sadece mevcut bir dizini görmeniz gerekiyorsa, External Storage uygulamasını etkinleştirin ve başka bir işlem yapmayın. Aynı diske yazma erişimi olan ikinci bir web uygulaması, yamamanız gereken ikinci bir güvenlik açığı demektir.
Tüm sunucuyu riske atmadan bir servis çalıştırma
Asla / dizinini işaret etmeyin. Süreç, kullanıcı hesabının erişebildiği her şeyi okuyabilir ve yazabilir; bu nedenle çalınan bir oturum anahtarı, doğrudan dosya sistemine aynı miktarda erişim sağlar. Yalnızca /srv/files dizinini sunun ve bu amaçla özel bir dizin oluşturun.
Servisi root olmayan bir kullanıcı ile çalıştırın ve yalnızca sunduğu dizinleri bağlayın. Compose içinde bu işlem user: "1000:1000" ve dizin başına bir bind mount ile yapılır; yazma gereksinimi olmayan her şey için :ro bayrağı kullanılır:
volumes:
- /srv/files:/folder
- /srv/media:/media:roBu değişikliğin tipik sonucu, tarayıcının çalışması ancak yüklemelerin permission denied hatasıyla başarısız olmasıdır; bunun nedeni, container içindeki kullanıcı kimliğinin dışarıdaki dizinin sahibi olmamasıdır. İkisini karşılaştırın: docker exec filebrowser id container kullanıcısını, ls -ln /srv/files ise ana makinedeki sayısal sahibini yazdırır. Sorunu sudo chown -R 1000:1000 /srv/files ile düzeltin. Bu, Docker imajlarında PUID ve PGID kullanımının çözmeyi amaçladığı sahiplik sorunuyla aynıdır.
Yayınlanan portu 8080:80 yerine 127.0.0.1:8080:80 adresine bağlayın. Docker, kendi netfilter kurallarını ufw kurallarının önüne yazar; bu nedenle basitçe yayınlanan bir port, ufw deny 8080 aktif olsa bile internetten erişilebilir kalır. TLS için önüne bir reverse proxy yerleştirin. Düz HTTP üzerinden oturum çerezi ağda açık metin olarak iletilir ve bu çerez, dosya sistemine erişim demektir. Compose sizin için yeniyse, VPS üzerinde Docker Compose bu kod parçacıklarının varsaydığı dosya düzenini açıklar.
Uygulamanın kendi kimlik doğrulama mekanizması zayıfsa bir katman ekleyin. Tek kullanıcılı bir örnek için proxy üzerinde HTTP basic auth yeterlidir. Birden fazla kişi dahil olduğunda, bir hesabı devre dışı bıraktığınızda her yerden erişimi kesmek için OIDC veya bir kimlik sağlayıcıya karşı forward auth kullanın.
Ekstraları kapatın. Shell, komut çalıştırıcı veya tarayıcı içi terminal sunan herhangi bir dosya yöneticisi, geçerli bir oturuma sahip olan herkese uzaktan kod yürütme imkanı sunar. FileBrowser'ın kendi kılavuzu komut çalıştırıcının devre dışı bırakılmasını önerir; Cloud Commander'ın örnek yapılandırması ise konsolu etkinleştirir. Varsayılan ayarlara göre değil, bilinçli tercihlere göre hareket edin.
İlk olarak ne bozulur ve karşılaşacağınız hatalar
listen tcp :80: bind: permission denied. Linux, 1024'ün altındaki portları ayrıcalıklı süreçler için ayırır. FileBrowser Quantum'un belgelenmiş yapılandırması 80 numaralı portu kullanır; bu, bir container içinde sorun yaratmaz ancak ikili dosyayı (binary) ana makinede ayrıcalıksız bir kullanıcı olarak çalıştırdığınız anda başarısız olur. config.yaml içerisinde 1024'ten büyük bir port belirleyin ve 443 numaralı portun yönetimini proxy'ye bırakın.
Gezinme çalışırken yüklemeler başarısız oluyor. Bir dizini listelemek r-x gerektirir, içine yazmak ise w gerektirir. Web arayüzü genel bir hata bildirir, bu nedenle uygulama günlüklerinden önce dosya sistemini kontrol edin.
413 Request Entity Too Large. Bu hata dosya yöneticisinden değil, nginx'ten kaynaklanır. Varsayılan client_max_body_size değeri 1 MB'tır; bu nedenle daha büyük bir yükleme, uygulama daha görmeden proxy katmanında reddedilir. server bloğunda client_max_body_size 4096m; değerini ayarlayın veya kontrolü devre dışı bırakmak için 0 kullanın.
Yüklenen dosyalar yanlış gruba sahip. Yeni dosyalar, çevreleyen dizin ne derse desin, süreç kullanıcısı tarafından sahiplenilir; bu durum aynı dizin ağacını okuyan ikinci bir servisi bozar. Her iki servise de ortak bir grup atayın ve dizinde sudo chmod g+s /srv/files ile setgid bitini ayarlayın; böylece yeni dosyalar dizinin grubunu devralır.
Her şey port üzerinde çalışıyor ancak proxy arkasında bozuluyor. Bir alt yol (subpath) altında sunulan uygulama, kendisine bildirilmesi gereken bir önekten bağlantılar oluşturur. Cloud Commander'ın bunun için --prefix ayarı vardır. Böyle bir seçeneğin bulunmadığı durumlarda, uygulamaya kendi alt alan adını (subdomain) verin ve kök yolu proxy üzerinden yönlendirin.
Hangi self-hosted dosya yöneticisini çalıştırmalısınız?
- Tek bir VPS, bir veya iki dizin, süre sonu olan paylaşım bağlantıları ve belki ileride SSO: FileBrowser Quantum.
- Dosyalar başka bir yerde, bir S3 bucket, bir SFTP sunucusu veya SMB üzerinden bir NAS üzerinde duruyorsa ve bunlar için tek bir web görünümü istiyorsanız: ücretsiz katman sınırları dahilinde Filestash.
- Başka insanların hesaplara, kotalara ve SFTP veya FTPS üzerinden yükleme yapmaya ihtiyacı varsa: web istemcisini tercih sebebiniz olarak değil, yararlı bir ek olarak gören SFTPGo.
- SSH tüneli üzerinden erişilen ve asla dış dünyaya açılmayan, düzenleyici ve terminal içeren kişisel bir araç: Cloud Commander.
- Nextcloud zaten çalışıyorsa ve dışa açılacak mevcut bir dizin varsa: External Storage uygulaması ve hiçbir yeni yazılım kurmaya gerek yoktur.
Seçiminiz ne olursa olsun, dağıtım yöntemi seçimin kendisinden daha önemlidir. Tek bir dizin, root olmayan bir kullanıcı, localhost'a bağlı bir port ve ön tarafta kimlik doğrulama. Bu şekilde yapılandırılmış bir dosya yöneticisi bir kolaylıktır. Aynı yazılımın / dizinine yönlendirilmesi ve ortak bir şifre ile kullanılması ise, güzel bir arayüze sahip bir uzak kabuk (remote shell) oluşturmaktan farksızdır.
FAQ
FileBrowser 2026 yılında hala güvenli mi?
filebrowser/filebrowser projesinin README dosyasına göre File Browser, 2026-09-01 tarihi itibarıyla arşivlenmiştir; artık yeni sürüm, hata düzeltmesi veya güvenlik yaması yayınlanmamaktadır. Kod çalışmaya devam etse de, dosya sisteminize yazma erişimi olan yamalanmamış bir yazılım zamanla artan bir risk oluşturur. Kullanmaya devam edecekseniz projenin kendi tavsiyelerine uyun: internete doğrudan açmayın, TLS ve kimlik doğrulama işlemlerini bir reverse proxy üzerinden yapın, komut çalıştırıcıyı (command runner) devre dışı bırakın ve yalnızca ilgili dizinin mount edildiği, yetkisiz bir container kullanın. Ayrıca oturumların sunucu tarafındaki tanımlayıcılar yerine kendi kendine yeten JWT'ler olduğunu, bu nedenle iptal edilemediklerini ve şifre değiştirmenin mevcut token'ları geçersiz kılmadığını unutmayın. Yeni kurulumlar için geliştirmenin devam ettiği ve gtstef/filebrowser imajı olarak yayınlanan FileBrowser Quantum çatalını (fork) kullanın.
Self-hosted bir dosya yöneticisi mevcut SSO sistemimi kullanabilir mi?
FileBrowser Quantum; OIDC, LDAP ve proxy header modunu destekler, bu sayede ikinci bir kullanıcı listesine ihtiyaç duymadan mevcut bir kimlik sağlayıcının arkasında çalışabilir. SFTPGo'nun OpenID Connect entegrasyonu açık kaynak sürümünde mevcuttur ve kimlik sağlayıcı kullanıcılarını hem WebAdmin hem de WebClient arayüzleri için SFTPGo yönetici ve kullanıcılarına eşler. Filestash bu konuda dikkat edilmesi gereken bir istisnadır: fiyatlandırma sayfası, Ağustos 2026 itibarıyla SSO (SAML, OIDC ve LDAP) özelliklerini aylık 50 dolardan başlayan ücretli self-hosted katmanına dahil etmiştir; ücretsiz katman ise 3 kullanıcıya kadar AGPL v3 lisansıyla sunulmaktadır. Bir uygulama hiçbir SSO desteğine sahip değilse, yedek çözüm reverse proxy üzerinde kimlik doğrulama yapmaktır; bu yöntem giriş sayfasını korur ancak uygulamanın kendi iç izinlerine müdahale etmez.
Hangileri süresi dolan paylaşım bağlantıları oluşturabilir?
SFTPGo en kapsamlı uygulamaya sahiptir. Bir kullanıcı WebClient üzerinden HTTP/S bağlantısı oluşturabilir; indirme ve yükleme sayısını sınırlayabilir, şifre koyabilir, kaynak IP adresine göre erişimi kısıtlayabilir ve otomatik bir son kullanma tarihi belirleyebilir. FileBrowser Quantum, anonim veya kullanıcıya özel erişim seçenekleriyle son kullanma süresi olan paylaşımları destekler; ayrıca görüntüleme, düzenleme ve yükleme için paylaşım bazlı izinler sunar. Filestash de paylaşım özelliğine sahiptir ve sunucunun depolama kimlik bilgilerinin şifreli bir kopyasını tuttuğu tek durumdur; çünkü tarayıcı oturumunuz kapandığında da bağlantının çalışması gerekir. Cloud Commander'da ise paylaşım bağlantısı özelliği bulunmamaktadır.
Tek kullanıcı ben olsam bile bir dosya yöneticisini / dizinine yönlendirmek güvenli mi?
Hayır, risk kendinize güvenip güvenmemenizle ilgili değildir. Süreç, kullanıcı hesabının erişebildiği her şeye okuma ve yazma erişimine sahiptir; bu nedenle oturuma sızılması, çerez çalınması, yükleme işleyicisindeki yamalanmamış bir hata veya yeniden kullanılan bir şifre, /etc dizinine, SSH anahtarlarınıza ve her servisin veri dizinine erişim anlamına gelir. Bunun yerine mount işlemini tek bir dizinle sınırlayın: / yerine /srv/files kullanın. Cloud Commander bu konuda en riskli olanıdır; çünkü yayınlanan Docker komutu ana makinenin kök dizinini /mnt/fs konumuna mount eder ve örnek yapılandırması "auth": false ile "root": "/" değerini ayarlar. Container localhost dışında herhangi bir yerden dinleme yapmadan önce her ikisini de değiştirin.