Install Seafile Cloud Storage di NAT VPS

NATVPS.id – Seafile adalah sistem penyimpanan cloud open-source untuk sinkronisasi file, berbagi, dan kolaborasi dokumen. Seafile bisa menjadi alternatif dari layanan cloud storage seperti Google Drive atau OneDrive. Dengan Seafile, Anda punya kendali penuh terhadap data yang Anda simpan.

Artikel ini membahas mengenai langkah-langkah install Seafile di NAT VPS menggunakan Docker, beserta konfigurasi NGINX untuk reverse-proxy. Artikel ini menggunakan Ubuntu 22.04 sebagai acuan, namun Anda dapat menggunakan distribusi lain seperti Debian dan CentOS. Pastikan OS yang digunakan mendukung Docker.

Konfigurasi Port Forwarding

Mengingat kita menggunakan NAT, kita perlu menambahkan 2 konfigurasi port forwarding pada panel Virtualizor (atau panel VPS lain sesuai provider), yaitu port forwarding HTTP dan HTTPS untuk domain Seafile.

Sebagai contoh, pada artikel ini akan menggunakan domain sf.tutorial.mdinata.my.id untuk mengakses Seafile. Anda bebas mengganti domain sesuai pilihan Anda. Catat port dan domain ini, karena kita akan menggunakannya lagi pada proses instalasi.

Jangan lupa untuk menambahkan DNS record yang menuju ke IP publik NAT VPS Anda, seperti ini:

Jika bingung, silahkan membaca artikel kami mengenai domain forwarding di sini: Penjelasan Domain Forwarding di NAT VPS.

Install Docker

Kita akan menggunakan Docker dan Docker Compose untuk deploy PrivateBin.

Pertama, Install curl menggunakan perintah:

apt update && apt install curl -y

Kemudian, jalankan script instalasi otomatis dari Docker dengan memasukkan:

curl -fsSL get.docker.com | sh

Tunggu hingga proses instalasi selesai.

Install Seafile

Pertama, buat folder baru untuk Seafile.

mkdir /opt/seafile
cd /opt/seafile

Unduh konfigurasi Docker Compose serta ENV Seafile:

# Env file


# Seafile server
wget 
wget 

Konfigurasi Env dan Docker Compose default diambil dari repositori penulis, yang telah diubah untuk menjalankan Seafile tanpa Caddy, karena kita akan menggunakan NGINX sebagai reverse-proxy.

Ubah terlebih dahulu konfigurasi .env sebelum memulai Seafile:

apt install nano -y # Jika belum
nano .env

Beberapa konfigurasi yang perlu diperhatikan:

  • JWT_PRIVATE_KEY: Private key sepanjang >= 32 karakter untuk autentikasi. Untuk membuatnya, masukkan perintah pwgen -s 40 1
  • SEAFILE_SERVER_HOSTNAME: Alamat server Seafile Anda. Sesuaikan dengan domain Anda, contoh: sf.tutorial.mdinata.my.id
  • SEAFILE_SERVER_PROTOCOL: https
  • INIT_SEAFILE_ADMIN_EMAIL: Email Admin untuk login pertama. Ganti dengan Email Anda
  • INIT_SEAFILE_ADMIN_PASSWORD: Password Admin untuk login pertama
  • SEAFILE_VOLUME: Lokasi data Seafile. Sesuaikan jika perlu
  • TIME_ZONE: Timezone. Dapat diganti ke Asia/Jakarta.

Simpan file tersebut dengan Ctrl-X, y, kemudian Enter.

Terakhir, jalankan Seafile:

docker compose up -d

Tunggu hingga proses deploy selesai. Deploy pertama kali dapat memakan waktu beberapa menit karena harus mengunduh seluruh image Seafile dan mengonfigurasi container dari awal.

Jika sudah, cek log Docker Compose untuk memastikan Seafile telah sukses berjalan.

Konfigurasi NGINX (Reverse Proxy)

Agar kita dapat mengakses URL melalui domain seperti sf.tutorial.mdinata.my.id, kita dapat menggunakan reverse proxy seperti NGINX.

Pertama, install NGINX melalui perintah:

# Hapus Apache2 dan pendukungnya (biasanya terpasang secara bawaan di VPS OpenVZ)
apt purge apache2* -y

# Install NGINX
apt install nginx -y

Buat konfigurasi host baru khusus untuk Seafile:

nano /etc/nginx/sites-available/seafile

Kemudian tempelkan konfigurasi berikut:

# 

server {
    server_name sf.tutorial.mdinata.my.id;
    listen 80;
    listen [::]:80;

    location / {
        proxy_pass 
        proxy_read_timeout 310s;
        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 Connection "";
        proxy_set_header X-Forwarded-Host $server_name;
        proxy_set_header X-Forwarded-Proto https;
        proxy_http_version 1.1;

        client_max_body_size 0;
    }

    location /sdoc-server/ {
        proxy_pass         
        proxy_redirect     off;
        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-Host  $server_name;

        client_max_body_size 100m;
    }

    location /socket.io {
        proxy_pass 
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_redirect off;

        proxy_buffers 8 32k;
        proxy_buffer_size 64k;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
    }
}

Ganti sf.tutorial.mdinata.my.id dengan domain Anda.

Aktifkan konfigurasi tersebut dengan:

ln -sf /etc/nginx/sites-available/seafile /etc/nginx/sites-enabled/seafile

systemctl restart nginx # Restart NGINX

Generate Sertifikat SSL (Let’s Encrypt)

Agar domain kita dapat diakses melalui HTTPS, kita perlu membuat sertifikat SSL. Kita dapat menggunakan sertifikat SSL gratis dari Let’s Encrypt melalui Certbot.

Install Certbot dan plugin NGINX nya menggunakan perintah:

apt install python3-certbot python3-certbot-nginx

Lalu, generate sertifikat melalui Certbot dengan perintah

certbot --nginx -d sf.tutorial.mdinata.my.id

Ganti sf.tutorial.mdinata.my.id dengan domain Anda.

Selamat! Domain Anda saat ini dapat diakses melalui koneksi aman HTTPS.

Mengakses Seafile

Seafile dapat diakses melalui domain Anda sebelumnya. Contoh: https://sf.tutorial.mdinata.my.id.

Login dengan Email & password yang telah Anda atur di file ENV.

Selamat, Seafile siap digunakan!

Penutup

Demikianlah artikel ini mengenai langkah-langkah install Seafile di NAT VPS. Jika bingung atau ragu, jangan sungkan untuk bertanya di grup Telegram @IPv6Indonesia. Terima kasih!

News
Berita
News Flash
Blog
Technology
Sports
Sport
Football
Tips
Finance
Berita Terkini
Berita Terbaru
Berita Kekinian
News
Berita Terkini
Olahraga
Pasang Internet Myrepublic
Jasa Import China
Jasa Import Door to Door

Download Film

A gaming center is a dedicated space where people come together to play video games, whether on PCs, consoles, or arcade machines. These centers can offer a range of services, from casual gaming sessions to competitive tournaments.

More From Author

Makna dan Misteri Satrio Piningit dalam Pandangan Ramalan Jayabaya

Inilah Arti Quiet Covering, Istilah Viral Soal Sikap Pegawai Gen Z di Dunia Kerja