Mengelola Hosting n8n dengan RunCloud, Docker, dan NGINX Secara Mudah
n8n adalah platform otomatisasi open-source yang menghubungkan aplikasi dan layanan untuk menyederhanakan tugas-tugas repetitif. Mengelola infrastruktur sendiri untuk n8n memberikan kontrol penuh atas pengaturan. Panduan ini menjelaskan langkah-langkah teknis untuk menerapkan n8n menggunakan Docker, mengonfigurasinya dengan aman menggunakan NGINX dan SSL, serta memanfaatkan RunCloud untuk pengelolaan server.
Kenapa Menghosting n8n dengan RunCloud & Docker?
- Kontrol penuh – Menyimpan data dan alur kerja sesuai keinginan.
- Manajemen yang disederhanakan – RunCloud mengelola domain, SSL, dan konfigurasi NGINX.
- Pemasangan yang efisien – Docker menjaga n8n terisolasi dan memudahkan pembaruan.
- Dukungan multi-aplikasi – Menjalankan beberapa aplikasi di satu server dengan mudah.
Instruksi Langkah demi Langkah untuk Menginstal n8n
Langkah-langkah berikut akan membantu dalam membuat instance n8n di server:
Persyaratan:
- Server cloud (misalnya, DigitalOcean, Vultr) yang terhubung ke RunCloud.
- Domain atau subdomain yang diarahkan ke IP server.
Jika menggunakan integrasi Cloudflare dari RunCloud, pengaturan DNS dapat dilakukan dengan beberapa klik saat membuat aplikasi web.
Langkah 1: Buat Aplikasi Web Baru di RunCloud
RunCloud memudahkan pengelolaan nama domain, sertifikat SSL, dan backup untuk aplikasi web. Untuk memulai, buat aplikasi web khusus untuk n8n:
- Login ke dashboard RunCloud, navigasikan ke “Web Applications”, dan klik “Create Web Application”.
- Nama Aplikasi: Berikan nama deskriptif, misalnya, “n8n-app”.
- Pemilik Aplikasi Web: Pilih pengguna sistem. Disarankan untuk membuat akun pengguna baru untuk setiap aplikasi web demi keamanan.
- Nama Domain: Masukkan domain kustom untuk n8n (misalnya, n8n.example.com). Jika menggunakan integrasi Cloudflare, catatan DNS dapat diperbarui dengan satu klik.
- Versi PHP: Pilih versi PHP; n8n tidak menggunakannya secara langsung karena tercontainerisasi, tetapi RunCloud memerlukan satu untuk diatur. Pengaturan default sudah memadai.
- Stack Aplikasi Web: Pilih “Native NGINX + custom config” karena akan digunakan sebagai proxy untuk menghubungkan ke container Docker n8n.
Setelah mengonfigurasi semua pengaturan, klik “Create Web Application” untuk menerapkan aplikasi web.
SSL/TLS:
Setelah aplikasi dibuat, pergi ke bagian SSL/TLS di RunCloud. Gunakan Let’s Encrypt untuk mendapatkan sertifikat SSL gratis. Melewatkan langkah ini dapat menyebabkan kesalahan di kemudian hari.
Langkah 2: SSH ke Server dan Navigasi ke Direktori Aplikasi Web
Setelah membuat aplikasi web, hubungkan ke server melalui SSH. Jika tidak tahu cara melakukannya, baca dokumentasi tentang Cara Menghubungkan ke Server Anda melalui SSH.
Setelah terhubung, navigasikan ke direktori root aplikasi web yang baru dibuat di RunCloud menggunakan perintah ‘cd’. Ganti jalur di perintah berikut dengan jalur root aktual aplikasi web:
cd /home/runcloud/webapps/<app-name>
Langkah 3: Buat Direktori local-files
Di direktori ini, buat direktori baru yang akan dipetakan ke container Docker. Ini akan menyimpan data aplikasi web dari instance n8n. Jalankan perintah berikut untuk membuat direktori:
mkdir n8n_data
sudo chown -R 1000:1000 n8n_data
Ini akan menyimpan data n8n dan menetapkan izin kepemilikan yang benar agar dapat diakses dari container Docker.
Langkah 4: Buat Aplikasi Docker
Definisikan dan luncurkan aplikasi n8n menggunakan Docker. Untuk memulai dengan cepat, gunakan perintah Docker run berikut:
docker run -d --rm \
--name n8n \
-p 5678:5678 \
-e GENERIC_TIMEZONE="UTC" \
-e TZ="UTC" \
-e N8N_HOST="app-n8n.EXAMPLE.com" \
-e N8N_EDITOR_BASE_URL="https://app-n8n.EXAMPLE.com/" \
-e N8N_PROTOCOL="https" \
-e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
-e N8N_RUNNERS_ENABLED=true \
-e N8N_LICENSE_ACTIVATION_KEY="EXAMPLE" \
-e N8N_EMAIL_MODE="smtp" \
-e N8N_SMTP_HOST="smtp.EXAMPLE.com" \
-e N8N_SMTP_PORT="25" \
-e N8N_SMTP_USER="EXAMPLE" \
-e N8N_SMTP_PASS="EXAMPLE" \
-e N8N_SMTP_SENDER="N8N <[email protected]>" \
-e N8N_SMTP_SSL=true \
-e N8N_SMTP_STARTTLS=true \
-v ./n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n
Setelah menjalankan perintah di atas, Docker akan mengunduh dan menjalankan container yang diperlukan untuk aplikasi.
Untuk fleksibilitas lebih (pengaturan env kustom, zona waktu), gunakan Docker Compose sebagai alternatif. Lihat dokumentasi Docker n8n untuk pengaturan lanjutan.
Langkah 5: Konfigurasi NGINX Reverse Proxy melalui RunCloud
Setelah mengaktifkan container Docker, konfigurasi reverse proxy untuk mengarahkan lalu lintas ke container:
Di RunCloud, pergi ke n8n-app:
- Di bawah “NGINX Config”, klik “Create NGINX Config”.
- Pilih: Proxy – Ubah NGINX menjadi server proxy.
- Beri nama n8n-proxy.
Di kotak Konten, tempelkan konfigurasi NGINX berikut:
proxy_pass http://host:5678;
# > uncomment below line if you want to disable proxy buffering
# proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
# &