Categories: Umum

Cara Install Beszel di NAT VPS

NATVPS.idBeszel adalah platform server monitoring ringan yang mencakup statistik Docker, histori data, dan fungsi peringatan. Beszel dapat menjadi alternatif untuk aplikasi pemantauan server seperti Nezha, Status, dan lain-lain.

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

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

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

Install Docker

Kita akan menggunakan Docker dan Docker Compose untuk deploy Beszel.

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.

Deploy Beszel

Beszel menyediakan konfigurasi Docker Compose yang siap digunakan di laman dokumentasinya, sehingga kita tidak perlu menulis file konfigurasi docker-compose.yml dari awal.

Buat direktori baru:

mkdir beszel
cd beszel/

Lalu, buat file docker-compose.yml menggunakan nano:

apt install nano -y # jika belum
nano docker-compose.yml

Kemudian, tempelkan konfigurasi berikut:

# https://natvps.id/install-beszel-nat-vps
# Reference: https://beszel.dev/guide/hub-installation

services:
  beszel:
    image: henrygd/beszel:latest
    container_name: beszel
    restart: unless-stopped
    ports:
      - 8090:8090
    volumes:
      - ./beszel_data:/beszel_data
      - ./beszel_socket:/beszel_socket

  beszel-agent:
    image: henrygd/beszel-agent:latest
    container_name: beszel-agent
    restart: unless-stopped
    network_mode: host
    volumes:
      - ./beszel_socket:/beszel_socket
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      LISTEN: /beszel_socket/beszel.sock
      # Do not remove quotes around the key
      KEY: 'UPDATE ME'

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

Terakhir, jalankan Beszel:

docker compose up -d

Tunggu hingga proses deploy selesai.

Konfigurasi NGINX (Reverse Proxy)

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

nano /etc/nginx/sites-available/beszel

Kemudian tempelkan konfigurasi berikut:

server {
        listen 80;
        server_name monitor.tutorial.mdinata.my.id;
        client_max_body_size 10M;

        location / {
                # check http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive
                proxy_set_header Connection '';
                proxy_http_version 1.1;
                proxy_read_timeout 360s;

                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;

                proxy_pass http://127.0.0.1:8090;
        }
}

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

Aktifkan konfigurasi tersebut dengan:

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

# 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 monitor.tutorial.mdinata.my.id

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

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

Mengakses Beszel

Beszel dapat diakses melalui domain Anda sebelumnya. Contoh: https://monitor.tutorial.mdinata.my.id.

Menambahkan Host Server

Untuk menambahkan host server (server tempat Beszel di-deploy) untuk di-monitor, klik Add server di pojok kanan atas.

  • Name: Nama server. Bebas
  • Host / IP: WAJIB! Untuk server dimana Beszel di-install, masukkan /beszel_socket/beszel.sock

Di atas khusus untuk server dimana Beszel di-install. Untuk server lain, silahkan gunakan IP dan port SSH

Salin Public Key karena kita akan menggunakannya. Jika sudah, klik Add system.

Kembali ke terminal, buka kembali file docker-compose.yml:

nano docker-compose.yml

Pada bagian KEY (terletak di bagian bawah), ganti UPDATE ME dengan Public Key yang tadi sudah di-salin, seperti ini:

Restart Docker Compose dengan:

docker compose down
docker compose up -d

Buka lagi Beszel, dan periksa apakah Host server berhasil ditambahkan.

Penutup

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

Hendra Manudinata

Recent Posts

Cara Install Gopeed Web Downloader di NAT VPS

NATVPS.id – Gopeed (Go Speed) adalah aplikasi pengunduh modern bersifat open-source yang yang mendukung berbagai…

9 bulan ago

Cara Streaming IPTV dengan ViniPlay + M3U

NATVPS.id – IPTV (Internet Protocol Television) adalah teknologi yang menyiarkan konten televisi, video, dan siaran…

9 bulan ago

Install Jellyfin Media Server di NAT VPS

NATVPS.id – Jellyfin adalah server media open-source yang memungkinkan Anda mengatur, melakukan streaming, dan mengelola…

9 bulan ago

Cara Install Gitea Git Server di NAT VPS

NATVPS.id – Gitea adalah sebuah layanan hosting Git (pengelola repositori kode) open-source yang dapat di…

9 bulan ago

Cara Install LibreOffice via Docker di NAT VPS

NATVPS.id – LibreOffice adalah perangkat lunak perkantoran (office) yang gratis, modern, dan open-source. LibreOffice dapat…

10 bulan ago

Install Pi-Hole + OpenVPN Server di NAT VPS

NATVPS.id – Pi-hole adalah software DNS Server yang berfokus pada pemblokiran iklan dan situs trackers.…

11 bulan ago