Cara Install Paperless-Ngx di NAT VPS


NATVPS.idPaperless-Ngxadalah aplikasi manajemen dokumen untuk menyimpan, membaca, dan mengelompokkan dokumen secara digital. Paperless-Ngx dapat digunakan untuk mempermudah dalam penyimpanan berkas dokumen dari hasil scan ataupun dokumen digital.

Artikel ini membahas mengenai langkah-langkah install Paperless-Ngx 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 Paperless-Ngx.

Sebagai contoh, pada artikel ini akan menggunakan domain document.tutorial.mdinata.my.id untuk mengakses Paperless-Ngx. Anda bebas mengganti domain sesuai pilihan Anda. Catat port dan domain ini, karena kita akan menggunakannya lagi pada proses deploy.

blank

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

blank

Install Docker

Kita akan menggunakan Docker dan Docker Compose untuk deploy Paperless-Ngx.

Pertama, Install curl menggunakan perintah:

apt update && apt install curl -y

blank

Kemudian, jalankan script instalasi otomatis dari Docker dengan memasukkan:

curl -fsSL get.docker.com | sh

Tunggu hingga proses instalasi selesai.

blank

Install Paperless-Ngx

Paperless-Ngx menyediakan konfigurasi Docker Compose yang siap digunakan di repositorinya, sehingga kita tidak perlu membuat file konfigurasi docker-compose.yml dari awal.

Pertama, install Git dan clone repositori Paperless-Ngx.

mkdir paperless-ngx
 cd paperless-ngx/

blank

Unduh file konfigurasi yang diperlukan, yaitu:

  1. Docker Compose:
    curl -Lo docker-compose.yml
  2. Environment untuk Docker Compose:
    curl -LO
  3. Environment variables:
    curl -LO

blank

Kemudian, buka file docker-compose.env:

nano docker-compose.env

Ganti isi dari PAPERLESS_URL dengan domain Paperless-Ngx Anda, contoh: https://document.tutorial.mdinata.my.id.

blank

Simpan file tersebut.

Konfigurasi lainnya tidak perlu diubah, namun Anda bebas mengubahnya jika perlu.

Jalankan Paperless-Ngx:

docker compose up -d

blank

Tunggu hingga proses deploy selesai. Deploy pertama kali dapat memakan waktu beberapa menit karena harus mengunduh seluruh image Paperless-Ngx dari awal.

Konfigurasi NGINX (Reverse Proxy)

Agar kita dapat mengakses URL melalui domain seperti document.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

blank

Buat konfigurasi host baru khusus untuk Paperless-Ngx:

nano /etc/nginx/sites-available/paperless-ngx

Kemudian tempelkan konfigurasi berikut:

# # Reference: 
 server {
 listen 80;
 listen [::]:80;
 server_name document.tutorial.mdinata.my.id;
 
 location / {
 proxy_pass 
 # These configuration options are required for WebSockets to work.
 proxy_http_version 1.1;
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "upgrade";
 
 proxy_redirect off;
 proxy_set_header Host $host:$server_port;
 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;
 proxy_set_header X-Forwarded-Proto $scheme;
 add_header Referrer-Policy "strict-origin-when-cross-origin";
 }
 }

Sesuaikan document.tutorial.mdinata.my.id dengan domain Anda.

blank

Aktifkan konfigurasi tersebut dengan:

ln -sf /etc/nginx/sites-available/paperless-ngx /etc/nginx/sites-enabled/paperless-ngx
 
 # Restart NGINX
 systemctl restart nginx

blank

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

blank

Lalu, generate sertifikat melalui Certbot dengan perintah

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

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

blank

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

Mengakses Dashboard Paperless-Ngx

Paperless-Ngx dapat diakses melalui domain Anda sebelumnya. Contoh: https://document.tutorial.mdinata.my.id.

blank

blank

Penutup

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



Hiburan

Berita Olahraga

News

Berita Terkini

Berita Terbaru

Berita Teknologi

Seputar Teknologi

Drama Korea

Resep Masakan

Pendidikan

Berita Terbaru

Berita Terbaru

Berita Terbaru

Lifestyle

Leave a Reply

Your email address will not be published. Required fields are marked *