© 2026 Basis Pengetahuan Cloudkilat. Hak Cipta Dilindungi.

|
>
>
  1. Beranda
  2. Aplikasi
  3. Workflow Automation
  4. Panduan Instalasi n8n di Ubuntu 24.04 dengan Docker

Panduan Instalasi n8n di Ubuntu 24.04 dengan Docker

Panduan instalasi n8n di VPS Ubuntu 24.04 via Docker. Termasuk setup-nya menggunakan PostgreSQL dan keamanan HTTPS dengan NGINX & Let's Encrypt untuk kontrol penuh atas otomatisasi alur kerja milikmu.

Waktu baca: 5 menit • Lihat progres baca di bar atas
Oleh Fadli Muhammad Habibi
Dipublikasikan 10 November 2025
vpsn8nworkflow-automationautomation

A. Pendahuluan

n8n (dibaca “en-eight-en”) merupakan open-source workflow automation tool yang memungkinkan kamu untuk membuat automasi dan integrasi antara berbagai aplikasi dan layanan dengan cara yang mudah dan visual, tanpa banyak menulis kode.

Baca Juga: Apa Itu n8n? Solusi Workflow Automation Open Source

Dengan melakukan self-hosting n8n di VPS, kamu akan memiliki kendali penuh terhadap data, privasi, dan alur kerja tanpa adanya batasan. Dengan menjalankan n8n di infrastruktur kamu sendiri, kamu bisa menghindari ketergantungan pada penyedia layanan dan menyesuaikan lingkungan sesuai kebutuhan.

Panduan ini ditujukan untuk membantu kamu menginstal n8n melalui sistem operasi Ubuntu 24.04 menggunakan Docker. Di panduan ini juga, kita akan menggunakan Docker Compose untuk mengelola n8n, termasuk pembuatan, konfigurasi, dan pemeliharaan container.


B. Prasyarat

Sebelum memulai, pastikan hal-hal berikut sudah dipenuhi:

  • VPS dengan OS Ubuntu 24.04

  • Akses root atau user dengan hak sudo

  • Port 5678 terbuka di firewall

  • Koneksi internet aktif untuk mengunduh paket-paket yang dibutuhkan

  • Domain untuk pengaksesan n8n via HTTPS, misalnya: n8n.yourdomain.com

  • Sistem sudah di-update untuk menghindari konflik dependensi:

    sudo apt update && sudo apt upgrade -y
    

C. Instalasi n8n dengan Docker Compose

Metode ini sangat direkomendasikan karena proses instalasi yang sederhana, mudah dipelihara, serta minim risiko konflik dependensi dengan aplikasi lain di server.

  1. Instal Docker & dependensi
    Untuk menginstall Docker, silakan merujuk pada basis pengetahuan kami tentang instalasi Docker di Ubuntu: Cara Instal Docker di Ubuntu

  2. Selanjutnya, buat folder dan file konfigurasi Docker Compose untuk n8n:

sudo mkdir ~/n8n && cd ~/n8n
sudo nano docker-compose.yml
  1. Salin konfigurasi Docker Compose berikut:
services:
  db: 
    image: postgres:17.5
    restart: unless-stopped
    environment:
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=n8npass
      - POSTGRES_DB=n8n
    volumes:
      - postgres_data:/var/lib/postgresql/data

  n8n:
    image: n8nio/n8n
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=db
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=n8npass
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=strongpass
      - N8N_HOST=n8n.yourdomain.com
      - WEBHOOK_URL=https://n8n.yourdomain.com 
    depends_on:
      - db
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  postgres_data:
  n8n_data:

Berikut adalah poin-poin paling penting yang wajib kamu perhatikan:

  • Ganti Kredensial: Wajib ubah semua username dan password default (POSTGRES_PASSWORD, N8N_BASIC_AUTH_USER, N8N_BASIC_AUTH_PASSWORD) dengan milikmu sendiri yang kuat.
  • Siapkan Domain: Pastikan domain atau subdomain kamu (misalnya n8n.yourdomain.com) sudah diarahkan ke IP server. Nilai ini harus diisi di variabel N8N_HOST dan WEBHOOK_URL.
  • Gunakan File .env: Untuk keamanan, kamu bisa membuat file terpisah bernama .env untuk menyimpan semua kredensial dan domain kamu, agar tidak ditulis langsung di file docker-compose.yml.
  • Data Aman di Volume: Semua workflow dan data kamu tersimpan di volume postgres_data dan n8n_data. Jangan pernah menghapus volume ini kecuali kamu ingin kehilangan semua data secara permanen.
  • Versi Database: Konfigurasi ini menggunakan PostgreSQL versi 17.5. Kamu bisa menggunakan versi lain yang didukung oleh n8n, namun pastikan untuk memeriksa kompatibilitasnya terlebih dahulu.
  • Versi Aplikasi n8n: image: n8nio/n8n akan selalu memakai versi terbaru (latest). Jika kamu ingin menggunakan versi spesifik untuk stabilitas, ganti menjadi n8nio/n8n:1.2.3 (ganti 1.2.3 dengan nomor versi yang diinginkan).
  1. Selanjutnya, jalankan Docker Compose n8n tersebut dan verifikasi instalasi:
docker compose up -d
  1. Secara default, n8n berjalan pada port 5678. Kamu sekarang bisa mengaksesnya di browser dengan:
http://ip-server-mu:5678

Ketika mengakses n8n menggunakan IP Address atau domain yang tidak menggunakan HTTPS, kamu mungkin akan menjumpai error seperti gambar berikut:

error_n8n_akses_http.png

Gambar 1: Error Akses n8n via HTTP

Hal ini terjadi karena n8n menggunakan secure cookie secara default, yang memerlukan HTTPS. Untuk mengatasi kendala ini akan kita bahas pada langkah pembuatan sertifikat SSL.


D. Mengamankan n8n dengan HTTPS

Untuk melindungi website n8n milikmu dan memastikan koneksi yang terenkripsi, kita akan mengaktifkan SSL (HTTPS) menggunakan Let’s Encrypt dan NGINX sebagai reverse proxy. Langkah ini sangat penting jika kamu menggunakan domain kustom dan untuk mengatasi error secure cookie.

  1. Instal NGINX & Certbot:
sudo apt update && sudo apt install nginx certbot python3-certbot-nginx -y
  1. Aktifkan dan mulai service NGINX:
sudo systemctl enable nginx && sudo systemctl start nginx
  1. Buat konfigurasi server block NGINX untuk n8n:
sudo nano /etc/nginx/sites-available/n8n

Isi dengan:

server {
    server_name n8n.yourdomain.com;

    location / {
        add_header Content-Security-Policy "default-src https: data: 'unsafe-inline' 'unsafe-eval'; connect-src https: wss:;";
        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_set_header X-Forwarded-Host $host;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_redirect off;
        proxy_cache_bypass $http_upgrade;
   }
    listen 80;
}
  1. Aktifkan konfigurasi dan restart NGINX:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo systemctl restart nginx
  1. Buat sertifikat SSL gratis untuk domain n8n milikmu:
sudo certbot --nginx -d n8n.yourdomain.com
  1. Setup auto-renewal sertifikat menggunakan cronjob:
sudo crontab -e

Pilih nano jika diminta memilih editor.

Tambahkan:

0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"

Sertifikat Let’s Encrypt akan berakhir setiap 90 hari secara default. Dengan menjalankan cron job ini, Certbot akan memperbarui sertifikat SSL milikmu secara otomatis.


E. Kesimpulan

Instalasi n8n menggunakan Docker Compose di VPS Ubuntu 24.04 telah selesai. Untuk mengonfirmasi bahwa n8n sudah menggunakan HTTPS, buka web browser dan masukkan nama domain kamu dalam format https://n8n.yourdomain.com.

Apabila kamu melihat tampilan n8n tanpa peringatan SSL, artinya proses install n8n telah berhasil. Dengan konfigurasi ini, kamu memiliki platform automasi yang andal, aman, dan siap digunakan untuk mengintegrasikan berbagai alur kerja milikmu.


Referensi Resmi

  • Dokumentasi n8n
  • n8n GitHub

Butuh bantuan lebih lanjut?

Jangan ragu untuk menghubungi tim support kami jika Anda memiliki pertanyaan atau masalah terkait layanan CloudKilat.

Hubungi Kami