Cara Install n8n di NAT VPS

NATVPS.idn8n adalah platform workflow automation sumber terbuka (open-source) yang memungkinkan kita menghubungkan berbagai layanan dan aplikasi untuk menjalankan proses otomatis tanpa perlu coding rumit.

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

Sebagai contoh, pada artikel ini akan menggunakan domain n8n.tutorial.mdinata.my.id untuk mengakses n8n. 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 men-deploy Status.

Pertama, Install curl menggunakan perintah:

apt update && apt install curl -y

Kemudian, jalankan script instalasi otomatis dari Docker dengan memasukkan:

Tunggu hingga proses instalasi selesai.

Install n8n

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

Buat folder baru dengan nama n8n

mkdir n8n
cd n8n/

Buat file baru dengan nama docker-compose.yml

apt install nano -y
nano docker-compose.yml

Kemudian, isikan dengan konfigurasi berikut:

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    volumes:
      - n8n_data:/home/node/.n8n
      - ./local-files:/files

volumes:
  n8n_data:

Buat file baru lagi untuk menyimpan variabel konfigurasi dengan nama .env

nano .env

isikan dengan kode berikut:

# DOMAIN_NAME and SUBDOMAIN together determine where n8n will be reachable from
# The top level domain to serve from
DOMAIN_NAME=mdinata.my.id

# The subdomain to serve from
SUBDOMAIN=n8n.tutorial

# Optional timezone to set which gets used by Cron and other scheduling nodes
# New York is the default value if not set
GENERIC_TIMEZONE=Asia/jakarta

# The email address to use for the TLS/SSL certificate creation
[email protected]
  • Ganti DOMAIN_NAME dengan domain Anda (semisal: example.com, mdinata.my.id)
  • Ganti SUBDOMAIN dengan subdomain Anda (semisal: n8n, n8n.tutorial)
  • Ganti SSL_EMAIL dengan Email Anda

Terakhir, buat direktori kosong dengan nama local-files untuk keperluan menyimpan file antara n8n dengan host machine:

mkdir local-files/

Jalankan n8n menggunakan Docker Compose:

docker compose up -d

Tunggu hingga proses deploy selesai.

Konfigurasi NGINX (Reverse Proxy)

Agar kita dapat mengakses URL melalui domain seperti server-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 Status:

nano /etc/nginx/sites-available/n8n

Kemudian tempelkan konfigurasi berikut:

# Konfigurasi NGINX untuk deploy Status di NAT VPS
# 

server {
    server_name n8n.tutorial.tutorial.mdinata.my.id;
    listen 80;

    location / {
        proxy_pass 
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
        proxy_set_header Origin $scheme://$http_host;
        proxy_cache off;
        proxy_buffering off;
    }
}

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

Aktifkan konfigurasi tersebut dengan:

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

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

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

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

Mengakses Dashboard n8n

Dashboard n8n dapat diakses melalui domain Anda sebelumnya. Contoh: https://n8n.tutorial.mdinata.my.id.

Penutup

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

Game News

Berita Olahraga

News

Berita Terkini

Berita Terbaru

Berita Teknologi

Seputar Teknologi

Drama Korea

Resep Masakan

Pendidikan

Berita Terbaru

Berita Terbaru

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

Rahasia Wirid Tasbih dan Shalat Tasbih untuk Malam 1 Muharram dari Gus Baha, Bisa untuk Penghapus Dosa

Meski Latihan Seadanya, Ini Alasan Atlet Daerah Tetap Bisa Tembus Tingkat Nasional