Erugo: Kendi Kendine Barındırılan Dosya Paylaşım Çözümünün Kurulumu

Bu makale, WeTransfer gibi hizmetlere açık kaynaklı, kendi kendine barındırılan ve tam kontrol sağlayan Erugo dosya transfer çözümünün nasıl kurulacağını adım adım açıklamaktadır. Güvenli ve merkezi olmayan dosya paylaşımı için idealdir.

I
IT-RD
19 görüntülenme
Erugo: Kendi Kendine Barındırılan Dosya Paylaşım Çözümünün Kurulumu

Giriş

Günümüzde birçok organizasyon, hassas verileri üçüncü taraf bulut hizmetlerine (WeTransfer, Dropbox vb.) yüklemekten kaçınmak istemektedir. Erugo, bu ihtiyaca cevap veren, açık kaynaklı, kendi kendine barındırılabilen (self-hosted) ve tam kontrol sağlayan bir dosya transfer çözümüdür. Bu makale, Erugo'yu bir sunucuya kurma sürecini detaylandırmaktadır.

Ön Gereksinimler

Erugo'nun başarılı bir şekilde kurulabilmesi için aşağıdaki bileşenlerin hazır olması gerekmektedir:

  • Linux tabanlı bir sunucu (Örn: Ubuntu 20.04/22.04).
  • Docker ve Docker Compose kurulu olmalıdır. Erugo, konteynerleştirilmiş bir yapı kullanır.
  • Sunucuda erişilebilir bir alan adı (domain) ve yapılandırılmış bir ters proxy (Nginx veya Caddy önerilir).
  • Dosyaların depolanacağı kalıcı depolama alanı.

Adım 1: Docker ve Docker Compose Kurulumu

Erugo'yu çalıştırmak için Docker ekosistemine ihtiyacımız var. Eğer henüz kurulu değilse, aşağıdaki komutlarla kurulumu tamamlayın (Ubuntu örneği):

# Docker kurulumu
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y

# Docker Compose kurulumu (V2 önerilir)
sudo apt install docker-compose-plugin -y

Adım 2: Erugo Proje Yapısının Oluşturulması

Erugo yapılandırma dosyalarını tutmak için bir dizin oluşturun ve içerisine geçin.

mkdir erugo-deployment
cd erugo-deployment

Adım 3: Docker Compose Yapılandırması (docker-compose.yml)

Erugo'nun çalışması için gerekli olan servisleri (Erugo uygulaması ve veritabanı) tanımlayan docker-compose.yml dosyasını oluşturun. Aşağıdaki örnek temel bir kurulumu göstermektedir. Kalıcı depolama için ./data dizinini kullanıyoruz.

version: '3.8'
services:
  erugo:
    image: erugodev/erugo:latest
    container_name: erugo
    restart: unless-stopped
    ports:
      - "8080:8080" # Uygulama portu
    environment:
      # Veritabanı bağlantı ayarları (PostgreSQL önerilir)
      - DATABASE_URL=postgres://erugo:securepassword@db:5432/erugo
      # Maksimum dosya boyutu (örnek: 10 GB)
      - MAX_FILE_SIZE=10737418240
      # Erişim anahtarı (güvenlik için değiştirin)
      - SECRET_KEY=supersecretkeythatmustbechanged
    volumes:
      - ./data/uploads:/app/uploads # Yüklenen dosyaların depolanacağı yer
    depends_on:
      - db

  db:
    image: postgres:14-alpine
    container_name: erugo_db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=erugo
      - POSTGRES_PASSWORD=securepassword
      - POSTGRES_DB=erugo
    volumes:
      - ./data/postgres:/var/lib/postgresql/data

volumes:
  uploads:
  postgres:
ÖNEMLİ GÜVENLİK UYARISI: SECRET_KEY, DATABASE_URL şifresi ve veritabanı kullanıcı adı/şifresi mutlaka benzersiz ve güçlü değerlerle değiştirilmelidir. Üretim ortamında bu bilgileri asla varsayılan bırakmayın.

Adım 4: Erugo'nun Başlatılması

Yapılandırma dosyasını kaydettikten sonra, Docker Compose kullanarak servisleri başlatın. İlk çalıştırmada veritabanı ve uygulama imajları indirilecektir.

docker-compose up -d

Servislerin durumunu kontrol edin:

docker-compose ps

Adım 5: Ters Proxy ve SSL Yapılandırması

Erugo varsayılan olarak 8080 portunda çalışır. Güvenlik ve erişilebilirlik için, alan adınızı (örn: transfer.alanadiniz.com) 8080 portuna yönlendiren bir ters proxy (Nginx veya Caddy) kurmalısınız. Ayrıca, tüm trafiğin HTTPS üzerinden gitmesi için Let's Encrypt SSL sertifikası yapılandırılmalıdır.

Nginx ile temel bir proxy örneği (/etc/nginx/sites-available/erugo.conf):

server {
    listen 80;
    server_name transfer.alanadiniz.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name transfer.alanadiniz.com;

    # SSL sertifika yollarını buraya ekleyin
    ssl_certificate /etc/letsencrypt/live/transfer.alanadiniz.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/transfer.alanadiniz.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:8080; # Docker host IP'si
        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 $scheme;
    }
}

Sonuç

Tüm adımlar tamamlandıktan sonra, tarayıcınız üzerinden yapılandırdığınız alan adına (örn: https://transfer.alanadiniz.com) eriştiğinizde Erugo arayüzünü görmelisiniz. Artık verilerinizi üçüncü partilere göndermeden, kendi sunucunuzda güvenle yönetebilirsiniz.

Kaynak

IT-RD