NATVPS.id – Hoodik adalah penyimpanan cloud open-source yang mengutamakan enkripsi end-to-end. Hoodik dapat di self-host pada server sendiri, dengan tujuan untuk menyediakan cloud storage yang aman, privat, dan cepat.
Artikel ini membahas mengenai langkah-langkah instalasi Hoodik di NAT VPS menggunakan Docker Compose, beserta konfigurasi NGINX untuk reverse-proxy. Artikel ini menggunakan Ubuntu 22.04 sebagai acuan, namun Anda dapat menggunakan distribusi lain seperti Debian dan CentOS.
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 Hoodik.
Sebagai contoh, pada artikel ini akan menggunakan domain hdk.tutorial.mdinata.my.id untuk mengakses Hoodik. Anda bebas mengganti domain sesuai pilihan Anda. Catat 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 pada: Penjelasan Domain Forwarding di NAT VPS.
Install Docker
Kita akan menggunakan Docker dan Docker Compose untuk deploy Hoodik.
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 Hoodik
Pertama, buat direktori baru untuk Hoodik:
mkdir /opt/hoodik cd /opt/hoodik

Kemudian, buat file Docker Compose:
apt install nano -y # Jika belum nano docker-compose.yml
Isi dengan konfigurasi berikut:
# https://natvps.id/hoodik-nat-vps
services:
postgres:
image: bitnami/postgresql:latest
restart: always
hostname: postgres
container_name: postgres
environment:
- POSTGRESQL_USERNAME=postgres
- POSTGRESQL_PASSWORD=postgres
- POSTGRESQL_DATABASE=hoodik
- POSTGRESQL_WAL_LEVEL=logical
hoodik:
environment:
- DATA_DIR=/data
- APP_URL=https://hdk.tutorial.mdinata.my.id
- SSL_CERT_FILE=/data/my-cert-file.crt.pem
- SSL_KEY_FILE=/data/my-key-file.key.pem
- DATABASE_URL=postgres://postgres:postgres@postgres:5432/hoodik
volumes:
- ./data:/data
ports:
- 4554:5443
image: hudik/hoodik:latest
Ganti hdk.tutorial.mdinata.my.id dengan domain Hoodik Anda.

Simpan file tersebut dengan Ctrl-X, y, kemudian Enter.
Terakhir, jalankan Hoodik:
docker compose up -d sleep 15 # Tunggu hingga PostgresSQL berjalan docker compose restart hoodik # Restart Hoodik
Tunggu hingga proses deploy selesai. Deploy pertama kali dapat memakan waktu beberapa menit karena harus mengunduh image Hoodik, serta mengonfigurasinya dari awal. Selain itu, Hoodik mungkin dapat berjalan terlalu awal sebelum database terinisialisasi, oleh karena itu kita perlu menunggu PostgresSQL berjalan, kemudian melakukan restart terhadap Hoodik.

Konfigurasi NGINX (Reverse Proxy)
Hoodik memerlukan koneksi terenkripsi menggunakan HTTPS demi keamanan password yang disimpan. Agar kita dapat mengakses URL dengan HTTPS melalui domain seperti https://hdk.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 Hoodik:
nano /etc/nginx/sites-available/hoodik
Kemudian tempelkan konfigurasi berikut:
# https://natvps.id/hoodik-nat-vps
server {
listen 80;
server_name hdk.tutorial.mdinata.my.id;
location / {
proxy_pass https://127.0.0.1:4554;
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 password.tutorial.mdinata.my.id dengan domain Anda.

Aktifkan konfigurasi tersebut dengan:
ln -sf /etc/nginx/sites-available/hoodik /etc/nginx/sites-enabled/ # Restart NGINX systemctl 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 hdk.tutorial.mdinata.my.id
Ganti hdk.tutorial.mdinata.my.id dengan domain Anda.

Selamat! Hoodik saat ini dapat diakses melalui koneksi aman HTTPS.
Mengakses Hoodik
Hoodik dapat diakses melalui domain Anda sebelumnya. Contoh: https://hdk.tutorial.mdinata.my.id.
Klik Create account, lalu masukkan informasi akun seperti biasa.

Anda akan diberi private key enkripsi Anda. Simpan ini, karena Anda akan membutuhkannya lain kali.
Jika sudah, Anda akan masuk ke dashboard.

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