Raspberry Pi'ye Seafile Kurulumu
Bu yazı, PiMyLifeUp - Installing Seafile on the Raspberry Pi kaynağından Türkçe'ye çevrilerek hazırlanmıştır.
Bu projede, Raspberry Pi'ye Seafile'ı nasıl kuracağınızı göstereceğiz.
![]()
Seafile, Raspberry Pi üzerinde çalışabilen açık kaynaklı bir dosya barındırma yazılımıdır.
Bu hizmet, dosyalarınızı yüklemek için merkezi bir yere sahip olmanızı sağlar. Ardından bu dosyaları desteklenen Seafile istemcilerinden herhangi birine senkronize etmenizi sağlar.
Seafile gibi bir dosya barındırma çözümü kullanmanın avantajlarından biri, verilerinizin kontrolünü elinizde tutmanızdır. Gizliliğinize saygı göstermeleri için Google Drive veya Dropbox gibi bir hizmete güvenmek zorunda kalmazsınız.
Kullanabileceğiniz iki farklı Seafile sürümü vardır. Biri ücretsiz topluluk (community) sürümü, diğeri ise ücretli kurumsal (enterprise) sürümdür. Bu rehberde, sadece topluluk sürümüne odaklanacağız.
Topluluk ve kurumsal sürümler arasındaki karşılaştırmayı Seafile'ın web sitesinde bulabilirsiniz.
Seafile, Raspberry Pi'nizde çalıştırabileceğiniz Owncloud ve Nextcloud gibi diğer kendi kendine barındırılan dosya barındırma hizmetlerine benzer. Ancak, Seafile Google Drive ve Onedrive deneyimini kopyalamaktan çok, bir dosya barındırma hizmeti olmaya daha çok odaklanıyor. Sadece dosya barındırma peşindeyseniz, Seafile kesinlikle daha az şişkin bir deneyim sunar.
Bu rehberin çalışması için Raspberry Pi OS'nin 64-bit bir sürümünü çalıştırıyor olmanız gerektiğini lütfen unutmayın. Seafile için kullandığımız Docker imajı 32-bit işletim sistemlerini desteklemiyor.
Raspberry Pi'ye Seafile Nasıl Kurulur
Aşağıdaki adımlarda, Raspberry Pi'nize Seafile kurma sürecinde size rehberlik edeceğiz.
Kurulum sürecini büyük ölçüde basitleştirmek için Docker'dan yararlanacağız. Docker kullanmanın avantajı, birden fazla hizmeti kurup yapılandırmak için çok fazla zaman harcamak zorunda kalmamamızdır.
Ayrıca, Seafile kurulumunuzun Pi'nizde çalıştırdığınız diğer yazılımlarla potansiyel olarak çakışması konusunda endişelenmenize gerek yok. Seafile ve bağımlılıkları, kendi izole konteynerlerinde tutulur.
Seafile İçin Raspberry Pi'nizi Hazırlama
1. Başlamadan önce, paket listesini güncellemeli ve güncel olmayan tüm paketleri yükseltmeliyiz.
Terminalde aşağıdaki iki komutu kullanarak her iki görevi de gerçekleştirebilirsiniz.
sudo apt update
sudo apt upgrade -y
2. Şimdi Raspberry Pi'mizde en azından "wget" ve "pwgen" paketlerinin kurulu olduğundan emin olmalıyız.
Seafile ekibinden Compose dosyalarını almak için wget kullanacağız. "pwgen" paketi, Seafile'ın kullanması için benzersiz bir anahtar oluşturmak için kurulacak.
sudo apt install wget pwgen
3. Sistem güncellemeyi bitirdikten sonra, Raspberry Pi'nize Docker kurmanız gerekiyor.
Yukarıda bağlantısını verdiğimiz rehber, Pi'ye Docker'ı kurma ve yapılandırma adımlarının tümünde size rehberlik eder.
4. Docker'ı kurduktan sonra, bir sonraki adımımız Seafile Docker compose dosyamızı saklamak için mkdir komutunu kullanarak bir dizin oluşturmaktır.
Tüm Docker yığınlarımızı saklamak için uygun bir konum sağladığından bu klasörü "/opt/stacks/" dizini içinde oluşturacağız. "-p" seçeneğinin kullanılması, sisteminizin bu dizinin eksik olan her bir parçasını oluşturmasını sağlar.
sudo mkdir -p /opt/stacks/seafile
5. Seafile için bir dizin oluşturduktan sonra, terminalde cd komutunu kullanarak içine geçin.
cd /opt/stacks/seafile
Raspberry Pi'de SeaFile İçin Compose Dosyalarını Alma
6. Bu bölüme, Raspberry Pi'mize kurmayı düşündüğümüz Seafile sürümünü tanımlayarak başlayalım.
Bunu bir bash değişkeni olarak ayarlıyoruz, böylece sonraki birkaç adımda doğru sürüme kolayca referans verebiliriz.
SEAFILE_VERSION=12.0
7. Sürüm ayarlandıktan sonra, Seafile için temel ortam dosyasını indirerek başlayalım. Bu, Seafile'ı yapılandırmak için kullanacağımız dosyadır.
sudo wget -O .env https://manual.seafile.com/$SEAFILE_VERSION/repo/docker/ce/env
8. Ardından, Seafile'ın dayandığı temel hizmetleri kuracak Docker Compose dosyasını kaydedebiliriz. Birincisi Seafile'ın kendisi, ikincisi bir veritabanı sunucusu ve son olarak Seafile'ın önbellekleme sistemi için kullanılacak Memcached'dir.
sudo wget https://manual.seafile.com/$SEAFILE_VERSION/repo/docker/ce/seafile-server.yml
9. Ayrıca SeaDoc için Docker Compose dosyasını da kaydedeceğiz. Bu, Seafile'ın çevrimiçi ortak belge editörünü etkinleştiren bir uzantıdır. Zorunlu olmasa da, sahip olmak inanılmaz derecede kullanışlı olabilir.
sudo wget https://manual.seafile.com/$SEAFILE_VERSION/repo/docker/seadoc.yml
10. İndirmemiz gereken bu bulmacanın son parçası Caddy için Compose dosyasıdır. Caddy, Seafile'ın hizmeti gerçekten erişilebilir kılmak için kullanacağı şeydir; etkinleştirirseniz HTTPS işlevselliği de sağlar.
sudo wget https://manual.seafile.com/$SEAFILE_VERSION/repo/docker/caddy.yml
11. Tüm Compose dosyaları artık kaydedildiğine göre, artık Seafile'ı gerçekten yapılandırmamız gerekecek.
Şimdi, bunu yapabilmemiz için, "JWT" özel anahtarı için kullanılacak benzersiz bir şifre oluşturmamız gerekecek. Oturumları güvende tutmak için kullanılacağından, bunun güvenli olması kritik önem taşır.
pwgen -s 40 1
Seafile Ortamını Yapılandırma
12. Artık terminalde aşağıdaki komutu kullanarak ".env" dosyasını düzenlemek üzere açabilirsiniz.
Kullanımı en kolay terminal tabanlı metin editörlerinden biri olduğundan "nano" kullanıyoruz.
sudo nano .env
13. Dosya artık açık olduğuna göre, Seafile'ın Raspberry Pi'nizde amaçlandığı gibi çalıştığından emin olmak için birkaç değişiklik yapmamız gerekecek.
Depolama Konumunu Ayarlama
-
Dosyalarınızın Raspberry Pi'nizde farklı bir konumda, örneğin harici bir sabit diskte saklanmasını istiyorsanız, aşağıdaki satırı aramak isteyeceksiniz.
SEAFILE_VOLUME=/opt/seafile-data
Burada tanımlanan yolu, Seafile'ın dosyalarını saklamasını istediğiniz yolla değiştirin. Bu örnekte, kendimizinkini "/mount/hdddrive/seafile-data" dizininde saklanacak şekilde değiştiriyoruz.
SEAFILE_VOLUME=/mount/hddrive/seafile-data
-
Aynı şekilde, bu değişikliği Seadoc volume yoluna da yapmak isteyeceksiniz. Bu yolu aşağıdaki satırı bularak ayarlayabilirsiniz.
SEADOC_VOLUME=/opt/seadoc-data
Örneğin, mount yolumuzu "/mount/hddrive/seado-data" olarak ayarlamak, satırı aşağıdakine benzer hale getirmek anlamına gelir.
SEADOC_VOLUME=/mount/hddrive/seadoc-data
Ana Bilgisayar Adınızı ve Protokolünüzü Yapılandırma
-
Burada, Seafile kurulumunuza erişmek için kullanmak istediğiniz alan adını belirteceksiniz. Bunu yerel olarak veya bir alan adı olmadan kullanıyorsanız, bunun yerine IP Adresinize ayarlayabilirsiniz. Bir alan adı kullanıyorsanız, bunun makinenize genel olarak yönlendirilebilir olduğundan emin olun.
SEAFILE_SERVER_HOSTNAME=seafile.example.com
Örneğin, ana bilgisayar adımızı "seafile.pimylifeup.com" olarak ayarlamak, satırın aşağıda gösterdiğimiz gibi görüneceği anlamına gelir.
SEAFILE_SERVER_HOSTNAME=seafile.pimylifeup.com
Bir alan adınız yoksa, ya yerel IP adresinizi ya da harici IP adresinizi kullanmak isteyeceksiniz. Aşağıdaki örneğimizde, Raspberry Pi'mize atanan yerel IP adresini kullanıyoruz.
SEAFILE_SERVER_HOSTNAME=192.168.0.22
-
Şimdi, Pi'nize erişmek için gerçekten kullanılabilecek bir alan adınız varsa, HTTPS işlevselliğini etkinleştirebilirsiniz. Bunu başarmak için, dosyanın içinde aşağıdaki satırı bulun.
SEAFILE_SERVER_PROTOCOL=http
Bu satırı bulduktan sonra, yapmanız gereken tek şey "http"i "https" ile değiştirmektir. Konteyneriniz başladığında, Caddy seçtiğiniz alan adı için otomatik olarak bir SSL sertifikası almaya çalışacaktır.
SEAFILE_SERVER_PROTOCOL=https
Saat Diliminizi ve Özel Anahtarınızı Ayarlama
-
Bir sonraki adımınız, Seafile'ın kullanacağı saat dilimini ayarlamaktır. Varsayılan olarak, Seafile saat dilimini UTC (
ETC/UTC) olarak ayarlayacaktır.TIME_ZONE=Etc/UTC
Wikipedia'ya giderek tz veritabanı saat dilimlerinin bir listesini bulabilirsiniz. İhtiyacınız olan değerler TZ Tanımlayıcı sütunundadır. Örneğin, ben Avustralya'nın Hobart şehrinde yaşıyorum, bu yüzden bu değer için "Australia/Hobart" kullanırdım; siz kendi saat diliminizi (örn. "Europe/Istanbul") kullanmalısınız.
TIME_ZONE=Australia/Hobart
-
Bir sonraki adım, oturum anahtarlarınızın güvenliğini sağlamaya yardımcı olmak için kullanacağımız anahtarı belirtmektir. Bunu yapmak için, aşağıdaki seçeneği bulmanız gerekecek.
JWT_PRIVATE_KEY=
Bu satırı bulduktan sonra, daha önce pwgen komutunu kullanarak oluşturduğunuz şifreyi satırın sonuna ekleyin.
JWT_PRIVATE_KEY=EXAMPLEKEYGOESHEREDONOTUSETHISONE
Veritabanı Şifrelerini Yapılandırma
- Ardından, Seafile'ın Raspberry Pi'nizde veritabanı sunucusu için kullanacağı şifreyi ayarlamamız gerekiyor.
Bu şifreyi ayarlamak için, dosyanın içinde aşağıdaki satırı bulmak isteyeceksiniz.
SEAFILE_MYSQL_DB_PASSWORD=PASSWORD
"PASSWORD" kısmını kendi güvenli şifrenizle değiştirin. Bunun kolayca tahmin edilemeyecek bir şey olmasını sağlamak kritik önem taşır.
SEAFILE_MYSQL_DB_PASSWORD=RANDOMPASSWORDHERE
-
Ayrıca veritabanı sunucusunun root kullanıcısı için kullanılacak ayrı bir şifre de belirlemeniz gerekecek. Bu yalnızca ilk başlatma sürecinde kullanılır, ama yine de bunu güvenli bir şey yapmanız kritik önem taşır.
INIT_SEAFILE_MYSQL_ROOT_PASSWORD=ROOT_PASSWORD
"ROOT_PASSWORD" kısmını yeni bir şifreyle değiştirin, bu hatırlamanız gereken bir şey değil.
INIT_SEAFILE_MYSQL_ROOT_PASSWORD=DIFFERENTPASSWORD
Seafile Kullanıcı Bilgilerinizi Ayarlama
- Artık Raspberry Pi'nizde Seafile'ı yapılandırmanın son aşamasındasınız, bu Seafile'a erişmek için kullanacağınız kullanıcı hesabını oluşturmayı içerir.
Bu süreçteki ilk adım, admin e-postasını tanımlayan satırı bulmaktır.
INIT_SEAFILE_ADMIN_EMAIL=me@example.com
Şimdi bunu, Seafile kurulumunuza erişmek için kullanmak istediğiniz e-posta adresiyle değiştirmek isteyeceksiniz. Örneğin, "seafile@pimylifeup.com" e-postasını kullanıyor olsaydık, satırı aşağıdaki gibi görünecek şekilde değiştirirdik.
INIT_SEAFILE_ADMIN_EMAIL=seafile@pimylifeup.com
-
Ardından, admin hesabınız için kullanacağınız şifreyi ayarlamamız gerekiyor. Şifreyi ayarlamak için, e-postanın hemen altındaki aşağıdaki satırı bulun.
INIT_SEAFILE_ADMIN_PASSWORD=asecret
Şifrenizi ayarlamak için, "asecret" kısmını web tarayıcınızı kullanarak Seafile'a erişmek için kullanmak istediğiniz şifreyle değiştirin.
INIT_SEAFILE_ADMIN_PASSWORD=randomsecurepassword
Değişikliklerinizi Kaydetme
13. Bu dosyayı doldurduktan sonra, CTRL + X, ardından Y ve son olarak ENTER tuşuna basarak kaydedip çıkabilirsiniz.
Raspberry Pi'nizde Seafile'ı Başlatma
14. Sonunda Raspberry Pi'mizde Seafile'ı başlatabileceğimiz noktaya geldik.
Yapmamız gereken tek şey aşağıdaki komutu kullanmaktır. Bu komut, Docker'a yazdığımız compose dosyasında belirtilen konteynerleri başlatmasını söyler.
Bu komutu ilk kez çalıştırdığınızda, bu süreç birkaç dakika sürebilir. Seafile, SQL veritabanı ve memcached için bir konteyner indirip kurması gerekir.
docker compose up -d
"-d" seçeneğini kullanarak, Docker'a mevcut terminal oturumundan ayrılmasını da söylüyoruz. Bu, Seafile'ın arka planda çalışmaya devam etmesini sağlar.
Seafile Web Arayüzüne Erişim
15. Artık Raspberry Pi'nizde Seafile'ı çalışır hale getirdiğimize göre, web arayüzüne erişebiliriz.
Bu arayüze erişmek için, Pi'nizin IP adresini bilmeniz gerekir. Bu IP'yi almanın en kolay yolu hostname komutunu kullanmaktır.
hostname -I
16. IP adresiniz artık elinizde olduğuna göre, web tarayıcınızda aşağıdaki adrese gidin.
Varsayılan portu "80"den değiştirmek zorunda kaldıysanız, bunu URL'nin sonuna eklemeniz gerekir.
http://<IPADRESINIZ>
17. Artık sizi Seafile için giriş ekranı karşılayacak.
Daha önce Docker compose dosyasında ayarladığınız e-posta ve şifreyi (1.) yazarak başlayın.
Bilgilerinizi doldurduktan sonra, "Login" düğmesine tıklayın (2.).

18. Artık karşılama ekranını göreceksiniz. Bu noktada, Raspberry Pi'nize Seafile'ı başarıyla kurmuş oldunuz. Ancak, Seafile'ı kullanmadan önce tamamlamanız gereken bir görev daha var.

Şifrenizi Güncelleme
19. Yapmanız gereken ilk şeylerden biri şifrenizi güncellemektir. Şu anda, Docker compose dosyasında belirtileni kullanıyorsunuz ki bu en güvenli şey değil.
Bu süreci başlatmak için, sağ üst köşedeki profilinize tıklayın (1.).
Ardından, açılır menüde "User Settings" seçeneğine tıklamak isteyeceksiniz (2.).

20. Artık kullanıcı ayarları ekranında olduğunuza göre, "Password" başlığına kaydırın ve "Update" düğmesine tıklayın.

21. Artık Raspberry Pi Seafile kurulumunuz için admin hesabınıza yeni bir şifre belirleyebilirsiniz.
Öncelikle, hesabınız için mevcut şifreyi belirtmelisiniz (1.).
Ardından, bundan sonra giriş yapmak için kullanacağınız yeni bir şifre yazın (2.).
Son olarak, bilgilerinizi tamamladıktan sonra, "Submit" düğmesine tıklayın (3.).

22. Bu noktada, Seafile hesabınız için şifrenizi başarıyla güncellediniz. Artık dosyalarınızı yeni kurulumunuza yüklemeye ve ihtiyaçlarınıza göre yapılandırmaya başlayabilirsiniz.
Sonuç
Umarız Raspberry Pi'nize Seafile'ı başarıyla kurup çalışır hale getirmişsinizdir.
Seafile, kendi kendine barındırılan iyi bir dosya barındırma çözümüdür ve daha fazla kaynak tüketen Nextcloud ve OwnCloud çözümlerine mükemmel bir alternatiftir.
Raspberry Pi'nize Seafile kurma hakkında sorularınız varsa, aşağıya yorum bırakmaktan çekinmeyin.