Di artikel sebelumnya saya sudah share penjelasan mengenai apa itu n8n dan fungsi utamanya. Sekarang saya akan coba install dan setup platform workflow automation open-source “n8n” di Docker Engine yang berjalan di virtual machine dengan OS Ubuntu 26.04 LTS (Resolute Raccoon).
PREREQUISITES:
• Virtual Machine dengan OS Ubuntu 26.04 LTS (Resolute Raccoon)
• Hak Akses Root Penuh (Sudo Privileges)
• Docker Engine sudah terinstall di VM
• Familiar dengan Command-Line Interface Linux (CLI)
• Bisa mengoperasikan Terminal SSH, PuTTy maupun PowerShell
1. Cek Versi Docker
$ docker -v Docker version 29.4.3, build 055a478
$ docker compose version Docker Compose version v5.1.3
2. Cek UFW Firewall
Pastikan UFW Firewall dalam kondisi tidak aktif. Jika UFW aktif, cukup matikan dengan command berikut ini:
$ ufw status
Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6)
$ ufw disable Firewall stopped and disabled on system startup
3. Buat Folder Project n8n
$ mkdir -p /home/n8n $ cd /home/n8n
4. Buat File docker-compose.yml
Kemudian buat file docker-compose.yml di dalam folder n8n.
$ nano docker-compose.yml
Isikan dengan config berikut ini:
services: n8n: image: n8nio/n8n:latest container_name: n8n restart: always ports: - "5678:5678" environment: - N8N_HOST=n8n.domainkamu.com - N8N_PORT=5678 - N8N_PROTOCOL=https - NODE_ENV=production - WEBHOOK_URL=https://n8n.domainkamu.com/ - GENERIC_TIMEZONE=Asia/Jakarta volumes: - n8n_data:/home/node/.n8n volumes: n8n_data: 5. Jalankan Container n8n
$ docker compose up -d
Kemudian cek statusnya:
$ docker ps

6. Akses n8n di Web Browser via IP Server
Sementara bisa buka di:
http://IP-Server:5678
Kalau berhasil, akan muncul halaman setup akun admin.
7. Setup Domain + Reverse Proxy + SSL
Ini wajib kalau ingin jalankan n8n di ekosistem production. Gunakan web server Nginx dan Certbot untuk mendapatkan SSL gratis dari Let’s Encrypt.
• Install Nginx
$ apt install nginx -y
• Buat config serverblock baru untuk Reverse Proxy domain n8n
$ nano /etc/nginx/sites-available/n8n
Isikan dengan berikut ini:
server {
server_name n8n.domainkamu.com;
location / {
proxy_pass http://localhost: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;
}
}• Aktifkan serverblock tersebut dengan command berikut ini:
$ ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
• Test Config Nginx dan Restart
$ nginx -t $ systemctl restart nginx
• Install Certbot dan Request SSL Let’s Encrypt
$ apt install certbot python3-certbot-nginx -y
$ certbot --nginx -d n8n.domainkamu.com
8. Akses n8n via Domain
Kemudian coba akses n8n di web browser via domain Anda, misalnya https://n8n.domainkamu.com

9. Tambahkan Basic Auth (PENTING)
• Edit file docker-compose.yml:
environment: - N8N_BASIC_AUTH_ACTIVE=true - N8N_BASIC_AUTH_USER=admin - N8N_BASIC_AUTH_PASSWORD=passwordku Restart:
$ docker compose down $ docker compose up -d
10.Kalau n8n Tidak Bisa Diakses via Domain
Kemungkinan file config sudah corrupt akibat error sebelumnya. Solusi paling sering berhasil adalah sebagai berikut:
$ docker compose down $ rm -rf ~/n8n/data/* $ mkdir -p ~/n8n/data $ chown -R 1000:1000 ~/n8n/data $ docker compose up -d
Ini reset total seperti fresh install n8n.





























