Seafile Nedir?
Seafile, bulut tabanlı dosya paylaşımı ve senkronizasyonu sağlayan bir platformdur. Bu platform, dosyalarınızı depolayabileceğiniz, senkronize edebileceğiniz ve paylaşabileceğiniz özel bir bulut hizmeti sunar. Seafile, kolay ve özelleştirilebilir olması nedeniyle hem bireysel kullanıcılar hem de işletmeler için kullanışlıdır.

Seafile ile çeşitli cihazlarınız üzerinde dosya ve klasörlerinizi kolayca senkronize edebilirsiniz. Bu sayede dünyanın herhangi bir yerinden dosya ve klasörlerinize tüm cihazınız üzerinden erişebilirsiniz.

Seafile, dosyalarınıza erişim izinlerini belirleme ve paylaştığınız dosyaları kolayca yönetme imkanı sunar. Dosyalarınızı istediğiniz kullanıcılar ile paylaşarak ortak çalışmalarınızı yapabilir ve projelerinizi daha hızlı bir şekilde geliştirebilirsiniz.

Seafile Community versiyonunu kendi sunucunuz üzerine kurarak ücretsiz bir şekilde verilerinizi tamamen kendi kontrolünüz altında tutabilirsiniz.

Seafile Kurulumu:
Kurulum desteğiyle Bulut Sunucu paketlerimizi incelemek için tıklayınSunucunuz üzerine Seafile kurulumunu yapabilmek için birkaç seneğimiz bulunuyor. Bu seçenekleri aşağıda görebilirsiniz.
- SQLite ile kurulum (Seafile tarafından artık desteklenmemektedir.)
- MySQL ile kurulum
- Docker ile kurulum
Sunucu tarafında pek deneyimli değilseniz MySQL üzerinden kurulum yapmak zor olabilir. Bu nedenle Seafile kurulumunu Docker ile yapmak daha sağlıklı ve kolay olacaktır.
Bu makalemizde Ubuntu 22.04 sürümü üzerine Docker Compose ile Seafile kurulumunu gerçekleştireceğiz.
Docker Compose kurulumu yapılması sonrasında aşağıdaki adımları takip ederek kuruluma başlayabiliriz.
1) Seafile’a ait docker-compose.yml dosyamızı sunucumuza yükleyelim
wget https://manual.seafile.com/docker/docker-compose.yml
2) Nano editörü docker-compose.yml dosyamızı açalım
nano docker-compose.yml
3) Dosya içerisinde güncellenmesi gereken alanları kendi bilgilerimizle güncelleyelim ve dosyamızı kayıt edelim
Güncellenmesi Gereken Alanlar:
MYSQL_ROOT_PASSWD = Güçlü bir şifre belirleyin. Güçlü şifre üretmek için buraya tıklayın
DB_ROOT_PASSWD = Yukarıdaki değerde belirlediğiniz şifrenin aynısını girmelisiniz
SEAFILE_ADMIN_EMAIL = Yönetici e-posta adresi girin
SEAFILE_ADMIN_PASSWORD = Yönetici için güçlü bir şifre belirleyin
SEAFILE_SERVER_HOSTNAME = Alan adı veya IP adresi girin
Örnek Dosya İçeriği:
services:
db:
image: mariadb:10.11
container_name: seafile-mysql
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=B7kVfR4dcF
- MYSQL_LOG_CONSOLE=true
volumes:
- /opt/seafile-mysql/db:/var/lib/mysql
networks:
- seafile-net
memcached:
image: memcached:1.6.18
container_name: seafile-memcached
restart: unless-stopped
entrypoint: memcached -m 256
networks:
- seafile-net
seafile:
image: seafileltd/seafile-mc:latest
container_name: seafile
restart: unless-stopped
ports:
- "80:80"
- "443:443" # Eger HTTPS kullanmayacaksanız bu satırın başına # ekleyerek devre dışı bırakın
volumes:
- /opt/seafile-data:/shared
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=B7kVfR4dcF
- TIME_ZONE=Europe/Istanbul
- [email protected]
- SEAFILE_ADMIN_PASSWORD=NhWasqJYX3
- SEAFILE_SERVER_LETSENCRYPT=true
- SEAFILE_SERVER_HOSTNAME=depo.domainadresiniz.com
depends_on:
- db
- memcached
networks:
- seafile-net
networks:
seafile-net:
4) Son olarak docker-compose.yml dosyamızı ayağa kaldıralım
docker-compose up -d
Seafile kurulumumuz tamamlandı. Tarayıcınız üzerinden https://alan adınız veya IP adresiniz şeklinde giriş yaparak sunucunuza erişebilirsiniz.
Ve karşınızda oturum ekranı:

5) SMTP Mail Gönderimi Ayarları (İsteğe Bağlı)
nano uygulamasıyla aşağıdaki dosyayı düzenleyelim.
nano /opt/seafile-data/seafile/conf/seahub_settings.py
Bu dosya yoluna giriş yaparak dosyanın en altına paylaşmış olduğum kodu ekleyip doldurmanız halinde SMTP mail gönderimi sağlıklı bir şekilde çalışacaktır.
EMAIL_USE_TLS=True EMAIL_HOST="smtp.mailsunucusu.com" EMAIL_HOST_USER="smtp_kullanici_adi" EMAIL_HOST_PASSWORD="XXXXXXXXX" EMAIL_PORT=587 DEFAULT_FROM_EMAIL="[email protected]" SERVER_EMAIL="[email protected]"
Ardından docker servisini restart edelim.
systemctl restart docker
6) Otomatik Silme Ayarı (İsteğe Bağlı)
Seafile’ın güzel özelliklerinden biri de bir kütüphane içerisinde eskiyen dosyaların belirli gün sonra silinmesine imkan sağlamasıdır. Aşağıda örnek ekran görüntülerini görebilirsiniz. Yalnız bu ayarın açılması için konfigürasyona bir müdahalede bulunacağız.

nano uygulamasıyla aşağıdaki dosyayı düzenleyelim.
nano /opt/seafile-data/seafile/conf/seafevents.conf
Bu dosya yoluna giriş yaparak dosyanın en altına paylaşmış olduğum kodu ekleyin.
[AUTO DELETION] enabled = true interval = 3600
Ardından docker servisini restart edelim.
systemctl restart docker




