Hemat 15% untuk semua layanan hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode: Skills Memulai
Bagian FAQ
Linux

Tutorial Otomasi N8N untuk Ubuntu – Dari Nol hingga Flow

Kata Kunci

IstilahDefinisi Cepat
🚀 N8NPlatform otomasi alur kerja berbasis node visual untuk menghubungkan berbagai layanan eksternal.
🐳 DockerAlat kontainerisasi yang memungkinkan penyebaran dan pengelolaan aplikasi yang konsisten dan terisolasi.
🐘 PostgreSQLDatabase relasional yang kuat berfungsi sebagai penyimpanan data utama dan persisten untuk N8N.
🧩 NodeBlok fungsional tunggal dalam N8N (misalnya, pemicu data atau tindakan API) yang menjalankan tugas spesifik.
🔄 WorkflowProses otomatis yang dikonfigurasi dengan menghubungkan beberapa node bersama-sama untuk menangani urutan tugas.
💾 Docker VolumeMekanisme penyimpanan yang ditunjuk dalam Docker yang digunakan untuk menyimpan data sistem secara persisten di luar kontainer.
🔐 Environment VariableNilai konfigurasi aman (disimpan dalam file .env) yang disuntikkan dengan aman ke dalam kontainer Docker.

Mengapa otomasi penting

Automation

Tim modern tidak “menjalankan satu aplikasi” — mereka mengoperasikan rantai alat SaaS, layanan internal, penyimpanan data, dan sistem chat/alerting. Biaya kompleksitas itu muncul dengan cara yang dapat diprediksi:

  • Handoff manual dan pekerjaan berulang (copy/paste antar sistem)
  • Loop respons lambat (persetujuan, routing tiket, notifikasi insiden)
  • Hasil yang tidak konsisten (kesalahan manusia, langkah yang terlewat, pembaruan sebagian)
  • Integrasi yang rapuh (skrip satu kali tanpa visibilitas atau kepemilikan)

Otomasi adalah salah satu cara dengan leverage tertinggi untuk mengurangi gesekan tersebut. Bahkan alur kerja kecil — sinkronisasi data, validasi payload, posting notifikasi, pembaruan record — dapat berkembang menjadi kemenangan yang bermakna: waktu siklus lebih cepat, lebih sedikit kesalahan, dan operasi yang lebih konsisten. Yang penting, “otomasi” bukan hanya tentang mengurangi usaha; ini juga tentang membuat proses dapat diamati dan dapat diulang.

Laporan ini mendekati otomasi seperti infrastruktur produksi: deploy dengan bersih, kontrol konfigurasi, jaga data tetap persisten, dan verifikasi perilaku dengan alur kerja pengujian yang deterministik.

Apa itu N8N (dan mengapa itu bisa menjadi teman terbaik Anda)

N8N

N8N adalah platform otomasi workflow yang memungkinkan Anda menghubungkan layanan menggunakan editor berbasis node. Anda membangun workflow dari “node” (trigger, transformasi data, panggilan API, operasi database, notifikasi), kemudian menjalankannya secara manual, sesuai jadwal, atau melalui webhook.

Apa yang membuat n8n sangat berguna dalam konteks deployment Linux:

  • Self-hostable: Anda dapat menjalankannya di infrastruktur Anda sendiri untuk kontrol atas data dan jaringan.
  • Integrasi yang dapat diperluas: banyak node bawaan, ditambah node HTTP generik untuk apa pun yang memiliki API.
  • Ramah operasional: berjalan baik dalam container, dapat menggunakan Postgres untuk persistensi, dan mendukung konfigurasi berbasis environment.
  • Baik untuk adopsi bertahap: mulai dengan workflow sederhana, kemudian perkuat akses (reverse proxy + HTTPS) dan praktik operasional seiring penggunaan berkembang.

Dalam penilaian ini, n8n diperlakukan seperti layanan yang mungkin benar-benar Anda jalankan: pilihan deployment dan konfigurasi didokumentasikan dengan bias terhadap kejelasan, reproduksibilitas, dan “pengerasan masa depan” (tanpa over-engineering setup awal).

Self-host instance N8N Anda sendiri

Siap untuk mencoba? Pengaturan memerlukan beberapa langkah teknis, tetapi jangan khawatir — ikuti panduan ini dan Anda akan memiliki instance N8N pertama Anda yang berjalan dalam waktu singkat.

Tutorial ini menggunakan Ubuntu 22.04, berjalan di VPS yang disediakan oleh AlexHost.

Pengaturan Docker

Ada beberapa cara untuk mengatur n8n. Untuk tutorial ini, kami menggunakan Docker karena menyediakan pendekatan yang jelas dan dapat diandalkan untuk mengelola dan mengonfigurasi n8n.

Pertama, pastikan bahwa docker dan docker compose sudah terinstal di sistem Anda.

# Check for docker
docker -v

# Check for docker compose
docker compose

Jika itu mengembalikan versi, Anda sudah siap.

Jika Anda belum menginstalnya, ikuti halaman ini untuk petunjuk: panduan instalasi. Pastikan untuk memilih OS yang tepat yang Anda gunakan.

Struktur proyek

Mengorganisir file dengan benar sangat penting untuk kejelasan dan pemeliharaan jangka panjang. Menurut konvensi, layanan Docker biasanya ditempatkan di bawah direktori /opt. Di dalamnya, folder docker_services dibuat untuk menyimpan semua layanan, termasuk N8N.

# Create all the needed folders
sudo mkdir -p /opt/docker_services/n8n

# Navigate to n8n folder
cd /opt/docker_services/n8n

Menambahkan file docker compose

Untuk menjalankan instance n8n kami dan database backend-nya, kami akan menggunakan file compose.yaml. Kami memilih PostgreSQL daripada SQLite default karena menyediakan penyimpanan data yang jauh lebih kuat dan siap produksi untuk konfigurasi dan log eksekusi.

Buat file menggunakan editor teks seperti nano:

nano compose.yaml

Tempel konfigurasi berikut ke dalam file:

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    env_file:
      - .env
    volumes:
      - ./data:/home/node/.n8n
      - ./files:/files
    depends_on:
      - postgres

  postgres:
    image: postgres:15
    restart: always
    env_file:
      - .env
    volumes:
      - ./postgres-data:/var/lib/postgresql/data

Memahami konfigurasi:

KomponenDeskripsi
LayananMenjalankan dua kontainer: n8n (aplikasi utama) dan postgres:15. Menggunakan Postgres sangat disukai daripada SQLite default. n8n secara native bergantung padanya untuk memulai terlebih dahulu.
Kebijakan RestartMenggunakan restart: always sehingga kontainer secara otomatis restart saat boot sistem atau jika mereka crash.
PortMengekspos port 5678 sehingga Anda dapat mengakses antarmuka web n8n.
LingkunganKedua layanan memuat konfigurasi dari file .env bersama untuk menangani variabel seperti kredensial DB dengan aman.
VolumeMengikat direktori host lokal ke jalur kontainer untuk menjaga data tetap persisten:
./data → konfigurasi n8n (/home/node/.n8n)
./files → penyimpanan file (/files)
./postgres-data → Database (/var/lib/postgresql/data)

Sebelum memulai kontainer, Anda perlu secara eksplisit membuat direktori yang diperlukan sehingga siap dipetakan:

# Use your own path if different
cd /opt/docker_services/n8n

mkdir data files postgres-data

Kepemilikan direktori dan izin

Secara default, ketika Docker secara otomatis membuat direktori host untuk volume Anda (seperti folder data dan files kami), itu menetapkan kepemilikan kepada pengguna root. Namun, untuk alasan keamanan, kontainer n8n dengan sengaja menghilangkan hak istimewa dan berjalan sebagai pengguna non-root (khususnya, UID 1000).

Jika folder ini tetap dimiliki oleh root, n8n tidak akan dapat menyimpan konfigurasi atau file database-nya, menyebabkan kontainer crash saat startup dengan kesalahan ‘permission denied’. Untuk menghindari gesekan ini, kami secara eksplisit memberikan kepemilikan direktori ini kepada pengguna yang benar sebelum memulai layanan.

# Set ownership of the volume directories to UID/GID 1000
sudo chown -R 1000:1000 data files

Menambahkan file .env

Docker menggunakan file .env untuk meneruskan konfigurasi sistem dan rahasia ke dalam kontainer kami tanpa hardcoding mereka ke dalam compose.yaml kami.

Buat file di direktori yang sama:

nano .env

Tempel konfigurasi berikut (pastikan untuk mengganti example.com dan kata sandi database dengan nilai aman Anda sendiri):

# n8n Settings
DOMAIN_NAME=example.com
SUBDOMAIN=n8n
GENERIC_TIMEZONE=Europe/Chisinau
N8N_HOST=n8n.example.com
N8N_PROTOCOL=https
WEBHOOK_URL=https://n8n.example.com/
N8N_SECURE_COOKIE=false
NODE_ENV=production


# PostgreSQL
POSTGRES_DB=n8n
POSTGRES_USER=n8n
POSTGRES_PASSWORD=changeme123

Memahami variabel lingkungan:

VariabelDeskripsi
Domain & HostMendefinisikan DOMAIN_NAME, SUBDOMAIN, dan N8N_HOST. Ini penting untuk memetakan aplikasi n8n ke URL tertentu (seperti n8n.example.com), memungkinkan akses eksternal melalui DNS.
Zona WaktuGENERIC_TIMEZONE menetapkan zona waktu khusus untuk proses aplikasi Node.js sehingga penjadwalan dan stempel waktu log akurat untuk wilayah Anda.
Protokol & WebhookN8N_PROTOCOL dan WEBHOOK_URL mengonfigurasi bagaimana n8n berinteraksi dengan dunia luar. Ini sangat penting jika Anda mengintegrasikan layanan yang memerlukan URL callback.
Cookie AmanN8N_SECURE_COOKIE diatur ke false karena kami menjalankan tanpa proxy reverse HTTPS secara lokal secara default. Jika Anda mengonfigurasi SSL/HTTPS nanti melalui proxy eksternal, Anda dapat menghapus baris ini sehingga default ke true.
Lingkungan NodeNODE_ENV harus ketat diatur ke production. Ini mengoptimalkan server Node.js yang mendasar untuk kinerja daripada debugging, terlepas dari tahap penerapan aktual.
Kredensial DatabasePOSTGRES_DB, USER, dan PASSWORD digunakan saat startup awal untuk membuat database PostgreSQL dan mengautentikasi koneksi berikutnya. Selalu gunakan kata sandi kustom yang kuat di sini.

Simpan dan tutup file. Anda sekarang memiliki semua konfigurasi yang diperlukan untuk menjalankan stack Docker Compose Anda.

Memulai layanan docker

Navigasikan ke direktori proyek Anda dan bawa semua layanan di latar belakang.

# Use your own path if different
cd /opt/docker_services/n8n

docker compose up -d

Docker menarik gambar yang diperlukan dan memulai kontainer Anda. Setelah berjalan, n8n akan tersedia di port 5678 (default), atau di domain yang dikonfigurasi jika menggunakan proxy reverse.

Untuk mengkonfirmasi bahwa itu berfungsi dengan baik, periksa apakah kontainer n8n dan postgres terdaftar dan berjalan.

docker ps

Bekerja dengan N8N

Setelah layanan berjalan dengan sukses, akhirnya saatnya yang menarik untuk mulai menjelajahi N8N!

Akses N8N

N8N dapat diakses melalui browser web. Dalam pengaturan lokal ini, tersedia di URL berikut: http://localhost:5678.

Saat akses pertama, halaman login muncul dengan bidang umum untuk diisi.

Login page

Atur kunci lisensi

Awalnya, N8N menampilkan jendela yang menawarkan kunci lisensi gratis yang membuka fitur berbayar. Ya, Anda telah mendengarnya dengan benar: fitur berbayar gratis! Ini adalah salah satu manfaat menjalankan instance N8N yang di-host sendiri.

License key

Setelah Anda menerima kunci lisensi di email Anda, Anda dapat menavigasi ke Settings->Usage and Plan untuk mengaktifkannya.

License key activate

Membuat alur kerja pertama

Alur kerja baru dapat dibuat langsung dari halaman utama. Lihat gambar di bawah.

Create wf

Untuk kasus penggunaan eksekusi pertama, dua node akan digunakan:

  • Manual Trigger: memulai alur kerja secara manual.
  • Set Node: mendefinisikan dan bekerja dengan bidang dan nilainya.

Node Manual Trigger tidak memerlukan konfigurasi, sedangkan Set node memerlukan. Dalam kasus kami, tujuannya adalah untuk menampilkan pesan yang menyatakan ‘n8n works’ bersama dengan stempel waktu acara. Node Set oleh karena itu dikonfigurasi seperti yang ditunjukkan pada gambar di bawah.

Set node

Setelah dua node terhubung dan dikonfigurasi, kami memulai alur kerja dengan menekan tombol Execute workflow.

Success 1
Success 2

Selamat 👏, alur kerja N8N pertama Anda telah berhasil dieksekusi!

“`html

Apa selanjutnya?

Pengaturan awal ini hanyalah awal mula. Kekuatan sebenarnya dari N8N terbuka ketika Anda mulai menghubungkan alat-alat harian Anda untuk mengotomatisasi tugas-tugas berulang dan mengurangi hambatan. Misalnya, Anda dapat membuat alur kerja untuk secara otomatis menyinkronkan prospek baru dari situs web Anda ke CRM, merutekan peringatan mendesak dan kesalahan layanan kritis ke obrolan tim, atau secara berkala membuat cadangan data dari berbagai platform SaaS ke database Anda. Kemungkinan untuk mengotomatisasi operasi Anda dan menyederhanakan beban kerja harian Anda hampir tidak terbatas.

“`

Kesimpulan

Dengan menyelesaikan panduan ini, Anda telah berhasil menerapkan platform yang kuat dan self-hosted yang mampu mengubah cara Anda mengelola operasi sehari-hari. Terima kasih telah mengikuti setup ini! Saat Anda terus mengeksplorasi apa yang dapat dilakukan N8N, pastikan untuk memeriksa tutorial lain kami untuk menemukan lebih banyak alat yang menakjubkan dan berguna. Ketika Anda siap untuk scale atau mendalami proyek-proyek baru yang menarik, ingatlah bahwa AlexHost menyediakan semua infrastruktur yang robust yang Anda butuhkan untuk host layanan Anda dengan andal.