Install n8n Workflow Automation di VPS

Install n8n Workflow Automation di VPS

Bitnesia Software Mar 25, 2026 66 EN

Otomasi alur kerja (workflow automation) kini menjadi elemen krusial dalam operasional bisnis untuk meningkatkan efisiensi dan mengurangi beban kerja manual. Dengan menghubungkan berbagai aplikasi, memindahkan data, dan menjadwalkan tugas secara otomatis, tim dapat fokus pada pekerjaan strategis yang bernilai tinggi.

n8n hadir sebagai solusi otomasi yang unik dengan pendekatan source-available dan fair-code. Platform ini memberikan fleksibilitas penuh bagi pengguna untuk menjalankannya di infrastruktur sendiri (self-hosting). Hal ini menjamin kedaulatan data, keamanan, dan kustomisasi tanpa batas yang sering kali tidak dimiliki oleh platform berbasis cloud tertutup.

Artikel ini akan memandu Anda langkah demi langkah untuk menginstal n8n di VPS Ubuntu menggunakan Docker, lengkap dengan konfigurasi SSL otomatis menggunakan Traefik.

Apa itu n8n?

Mengutip dari situs resminya, n8n adalah platform otomasi alur kerja yang memungkinkan Anda menghubungkan apa saja dengan apa saja. Dengan antarmuka visual berbasis node (simpul), n8n memudahkan pengguna teknis maupun non-teknis untuk merancang logika proses yang kompleks tanpa harus menulis kode yang rumit dari awal.

Fitur Utama n8n

n8n menawarkan serangkaian fitur yang dirancang untuk skalabilitas dan fleksibilitas:

  • Visual Workflow Editor: Antarmuka drag-and-drop intuitif untuk merancang alur kerja, di mana setiap langkah direpresentasikan sebagai node.
  • Native Integrations: Mendukung lebih dari 700+ integrasi layanan populer (seperti Google Workspace, Slack, PostgreSQL, dll) siap pakai.
  • Custom Code: Fleksibilitas untuk menulis kode JavaScript atau Python sendiri di dalam workflow untuk manipulasi data tingkat lanjut.
  • Triggers & Webhooks: Menjalankan alur kerja berdasarkan waktu (cron), kejadian di aplikasi lain (webhook), atau panggilan API.
  • AI-ready: Kemampuan integrasi mendalam dengan LLM (Large Language Models) melalui LangChain untuk membangun agen AI.
  • User Management (Community Edition): Versi self-hosted mengizinkan manajemen pengguna, sehingga Anda dapat berkolaborasi dengan tim dalam satu instance.

n8n Community Edition

Versi gratis dan open-source yang dapat digunakan secara self-hosted di VPS. CE sudah menyediakan seluruh fitur inti automasi, menyimpan kredensial secara aman di server Anda sendiri, serta cocok untuk developer, freelancer, hingga organisasi kecil yang membangun automasi internal.

Persyaratan Sistem

Untuk menjalankan n8n di lingkungan produksi (self-hosted), berikut adalah spesifikasi yang direkomendasikan:

Hardware:

  • CPU: Minimal 1 vCPU (Disarankan 2 vCPU atau lebih untuk performa UI yang lancar).
  • RAM: Minimal 1 GB (Rekomendasi 2GB – 4GB untuk menghindari Out of Memory saat memproses data besar).
  • Disk: Minimal 20 GB.

Software:

  • Sistem Operasi: Linux (Ubuntu LTS sangat direkomendasikan).
  • Container Engine: Docker dan Docker Compose.
  • Akses root atau sudo

Persiapan Server

Sebelum instalasi, pastikan sistem operasi diperbarui dan Docker telah terpasang.

Update sistem:

sudo apt update && sudo apt upgrade -y 

Install Docker & Docker Compose. Gunakan skrip instalasi resmi Docker untuk memastikan versi terbaru:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh 

Cara 1: Install n8n Menggunakan Docker (Docker CLI)

Metode ini sangat cocok untuk melakukan uji coba cepat atau testing sebelum men-deploy ke lingkungan produksi. Perintah di bawah ini sudah menyertakan konfigurasi zona waktu dan fitur task runners.

Buat Volume Docker: Langkah ini penting agar data workflow dan kredensial Anda tersimpan permanen dan tidak hilang saat kontainer dimatikan.

sudo docker volume create n8n_data 

Jalankan Container n8n: Salin dan jalankan perintah berikut.

docker run -d \
  --name n8n \
  --restart unless-stopped \
  -p 127.0.0.1:5678:5678 \
  -e GENERIC_TIMEZONE="Asia/Jakarta" \
  -e TZ="Asia/Jakarta" \
  -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
  -e N8N_RUNNERS_ENABLED=true \
  -e WEBHOOK_URL="https://n8n.domainanda.com/" \
  -v n8n_data:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n 

Penjelasan Flag:

  • -d: Detached mode, menjalankan kontainer di latar belakang.
  • --restart unless-stopped: Otomatis menjalankan n8n kembali jika server reboot atau crash.
  • -e WEBHOOK_URL: Sangat Penting. Memberitahu n8n domain publiknya agar fitur Webhook Trigger berfungsi benar di balik reverse proxy.

Verifikasi apakah container n8n sudah berjalan:

sudo docker ps 

Contoh responnya:

CONTAINER ID   IMAGE                     COMMAND                  CREATED         STATUS         PORTS                                         NAMES
21126f06df8e   docker.n8n.io/n8nio/n8n   "tini -- /docker-ent..."   6 minutes ago   Up 6 minutes   0.0.0.0:5678->5678/tcp, [::]:5678->5678/tcp   n8n 

Konfigurasi Nginx Reverse Proxy

Karena n8n berjalan di localhost:5678, kita perlu Nginx untuk meneruskan trafik dari internet ke port tersebut.

Install Nginx dan certbot Let’s Encrypt:

sudo apt install nginx certbot python3-certbot-nginx -y 

Buat file konfigurasi virtual host:

sudo nano /etc/nginx/sites-available/n8n.domainanda.com.conf 

Salin konfigurasi di bawah ini. Pastikan Anda mengganti server_name dengan domain Anda sendiri. Konfigurasi ini sudah mencakup pengaturan WebSocket yang wajib untuk UI n8n.

server {
    listen 80;
    server_name n8n.domainanda.com;

    location / {
        proxy_pass http://127.0.0.1:5678;
        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_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_buffering off;
        proxy_read_timeout 300s;
    }
} 

Aktifkan konfigurasi dan restart Nginx:

sudo ln -s /etc/nginx/sites-available/n8n.domainanda.com.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx 

Langkah terakhir adalah mengamankan koneksi dengan HTTPS menggunakan sertifikat gratis dari Let’s Encrypt:

sudo certbot --non-interactive \
-m [email protected] \
--agree-tos \
--no-eff-email \
--nginx -d n8n.domainanda.com \
--redirect 

Certbot akan secara otomatis memodifikasi konfigurasi Nginx Anda untuk mengalihkan HTTP ke HTTPS.

Sekarang buka browser dan akses https://n8n.domainanda.com. Anda siap untuk membuat akun Owner dan mulai menggunakan n8n.

Cara 2: Install n8n Menggunakan Docker Compose

Untuk penggunaan jangka panjang (produksi), kita akan menggunakan Docker Compose. Dalam konfigurasi ini, kita menyertakan Traefik sebagai reverse proxy. Traefik akan menangani sertifikat SSL (HTTPS) secara otomatis melalui Let’s Encrypt dan melakukan routing ke n8n.

Buat direktori proyek:

mkdir n8n-docker
cd n8n-docker 

Buat folder untuk file lokal: Folder ini akan dipetakan ke dalam kontainer n8n agar Anda bisa membaca/tulis file lokal.

mkdir local-files 

Buat file fonfigurasi environment (.env): Kita perlu membuat file .env untuk menyimpan variabel domain dan email agar konfigurasi Docker Compose lebih rapi dan aman.

nano .env 

Isi dengan data Anda (sesuaikan nilainya):

DOMAIN_NAME=domainanda.com
SUBDOMAIN=n8n
[email protected]
GENERIC_TIMEZONE=Asia/Jakarta 

Buat File docker-compose.yml:

nano docker-compose.yml 

Masukkan konfigurasi berikut:

services:
  traefik:
    image: "traefik"
    restart: always
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
      - "--entrypoints.web.http.redirections.entrypoint.scheme=https"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true"
      - "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}"
      - "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - traefik_data:/letsencrypt
      - /var/run/docker.sock:/var/run/docker.sock:ro

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    labels:
      - traefik.enable=true
      - traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
      - traefik.http.routers.n8n.tls=true
      - traefik.http.routers.n8n.entrypoints=web,websecure
      - traefik.http.routers.n8n.tls.certresolver=mytlschallenge
      - traefik.http.middlewares.n8n.headers.SSLRedirect=true
      - traefik.http.middlewares.n8n.headers.STSSeconds=315360000
      - traefik.http.middlewares.n8n.headers.browserXSSFilter=true
      - traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
      - traefik.http.middlewares.n8n.headers.forceSTSHeader=true
      - traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
      - traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
      - traefik.http.middlewares.n8n.headers.STSPreload=true
      - traefik.http.routers.n8n.middlewares=n8n@docker
    environment:
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - N8N_RUNNERS_ENABLED=true
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
      - TZ=${GENERIC_TIMEZONE}
    volumes:
      - n8n_data:/home/node/.n8n
      - ./local-files:/files

volumes:
  n8n_data:
  traefik_data: 

Jalankan n8n: Perintah ini akan mengunduh image, membuat container, dan Traefik akan otomatis me-request sertifikat SSL untuk domain Anda. Tunggu beberapa saat (sekitar 1-2 menit) agar n8n selesai booting dan Traefik selesai memvalidasi SSL.

sudo docker compose up -d 

Verifikasi: Cek status container untuk memastikan semuanya berjalan:

sudo docker compose ps 

Contoh responnya:

NAME                   IMAGE                     COMMAND                  SERVICE   CREATED          STATUS          PORTS
n8n-docker-n8n-1       docker.n8n.io/n8nio/n8n   "tini -- /docker-ent..."   n8n       29 seconds ago   Up 28 seconds   127.0.0.1:5678->5678/tcp
n8n-docker-traefik-1   traefik                   "/entrypoint.sh --ap..."   traefik   29 seconds ago   Up 28 seconds   0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp 

Install n8n dengan menggunakan Docker compose telah selesai dan sudah bisa diakses di https://n8n.domainanda.com.

Penutup

Selamat! Anda telah berhasil membangun platform otomasi n8n di server pribadi Anda. Dengan konfigurasi di atas, n8n Anda kini dapat diakses secara aman melalui https://n8n.domainanda.com. Langkah selanjutnya adalah membuka browser, mengakses domain tersebut, dan membuat akun pemilik (Owner Account). Anda kini memiliki kendali penuh atas data dan infrastruktur otomasi perusahaan, siap untuk membuat workflow canggih tanpa batasan. Selamat berkreasi dengan n8n.

Dukung keberlanjutan tutorial open source Bitnesia melalui link di bawah ini.

Kirim Donasi

Related Posts