๐ณ Day 1 โ Self-Hosting n8n dengan Docker & Ollama Lokal โ
Week 3 ยท Day 1 ยท 6 Video Topik: Cloud vs Self-Hosted, Instalasi Docker Desktop, Menjalankan n8n di Container, AI Agent Pertama di Self-Hosted, Integrasi Ollama untuk Model AI Lokal
๐ Daftar Isi โ
- Cloud vs Self-Hosted: Perbandingan
- Instalasi Docker Desktop
- Menjalankan n8n di Docker Container
- AI Agent Pertama di Self-Hosted
- Integrasi Ollama: AI Sepenuhnya Lokal
- Catatan OAuth untuk Self-Hosted
๐ Cloud vs Self-Hosted: Perbandingan โ
Week 3 dimulai dengan keputusan penting bagi setiap pengguna n8n: tetap di cloud atau pindah ke self-hosted? Ini adalah "fork in the road" โ sebuah persimpangan yang menentukan arah perjalanan Anda selanjutnya.
Tabel Perbandingan โ
| Aspek | โ๏ธ n8n Cloud | ๐ Self-Hosted |
|---|---|---|
| Setup | Sangat mudah, langsung pakai | Memerlukan instalasi Docker |
| Biaya | Langganan ~$20/bulan | Gratis (fair code license) |
| Webhook | Otomatis tersedia | Perlu konfigurasi tambahan (ngrok, dll.) |
| OAuth | One-click simplified | Full OAuth2 setup (manual GCP, dll.) |
| Kontrol | Terbatas pada fitur cloud | Kontrol penuh atas environment |
| Privasi | Data di server n8n | Data 100% di mesin Anda |
| Maintenance | Ditangani n8n | Tanggung jawab Anda sendiri |
Opsi Self-Hosted โ
Self-hosted tidak berarti harus di komputer lokal saja. Ada dua jalur:
Self-Hosted
โโโ ๐ป Lokal (komputer Anda sendiri)
โ โโโ Ideal untuk: belajar, eksperimen, privasi
โโโ โ๏ธ Deploy ke Cloud Server
โโโ AWS
โโโ Google Cloud Platform
โโโ Microsoft Azure
โโโ Ideal untuk: production, skalabilitas๐ก Rekomendasi Instruktur: Orang teknis sebaiknya mencoba instalasi lokal. Yang fokus pada penggunaan komersial bisa tetap di cloud.
๐ฅ๏ธ Instalasi Docker Desktop โ
Docker diibaratkan sebagai "komputer di dalam kotak" โ sebuah cara untuk menjalankan aplikasi dalam lingkungan terisolasi yang disebut container.
Konsep Dasar Docker โ
| Istilah | Penjelasan |
|---|---|
| Container | Instance berjalan dari sebuah image โ seperti VM ringan |
| Image | Template/blueprint untuk membuat container |
| Volume | Penyimpanan persisten yang tetap ada meski container dihapus |
| Port Mapping | Menghubungkan port di host ke port di container |
Langkah Instalasi โ
- Download Docker Desktop dari docker.com
- PC/Windows: Pastikan WSL2 (Windows Subsystem for Linux 2) sudah terinstal
- Mac: Download versi sesuai chip (Intel atau Apple Silicon)
- Install & restart komputer jika diminta
- Buka Docker Desktop โ pastikan muncul UI dengan tab: Containers, Images, Volumes
โ ๏ธ Catatan Windows: WSL2 sangat direkomendasikan untuk performa optimal. Docker Desktop akan memandu instalasinya jika belum ada.
๐ Menjalankan n8n di Docker Container โ
Step 1: Buat Docker Volume โ
docker volume create n8n_dataVolume ini menyimpan data n8n secara persisten โ workflow, credentials, dan settings Anda tidak hilang meski container di-restart.
Step 2: Jalankan Container n8n โ
docker run \
--name n8n \
-p 5678:5678 \
-e GENERIC_TIMEZONE=Asia/Jakarta \
-e TZ=Asia/Jakarta \
-v n8n_data:/home/node \
docker.n8n.io/n8nio/n8nPenjelasan Setiap Flag โ
| Flag | Fungsi |
|---|---|
--name n8n | Memberi nama container "n8n" |
-p 5678:5678 | Map port 5678 host โ port 5678 container |
-e GENERIC_TIMEZONE | Set timezone untuk scheduling workflow |
-e TZ | Set timezone sistem container |
-v n8n_data:/home/node | Mount volume untuk data persisten |
docker.n8n.io/n8nio/n8n | Image resmi n8n dari registry Docker |
Diagram Arsitektur โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Komputer Anda (Host) โ
โ โ
โ Browser โ http://localhost:5678 โ
โ โ โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Docker Container: n8n โ โ
โ โ โ โ
โ โ n8n App (:5678) โ โ
โ โ โ โ โ
โ โ โผ โ โ
โ โ /home/node โโโโ Volume โโโโโโ โโโ n8n_data
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโStep 3: Setup Owner Account โ
- Buka browser โ
http://localhost:5678 - Abaikan peringatan "Python 3 missing" (ini normal dan disengaja)
- Buat Owner Account (email + password)
- Aktivasi free license key yang ditawarkan
- n8n self-hosted Anda siap digunakan! ๐
๐ค AI Agent Pertama di Self-Hosted โ
Langkah pertama membuktikan bahwa n8n self-hosted sama powerfull-nya dengan versi cloud: membangun AI Agent sederhana.
Konfigurasi โ
| Komponen | Detail |
|---|---|
| LLM Provider | OpenRouter |
| Model Utama | DeepSeek v3.2 |
| Model Cadangan | GPT-4o (via OpenRouter) |
| Memory | Simple Memory |
| Tool | MarketStack (data pasar saham) |
Temuan Penting โ
DeepSeek melalui OpenRouter terkadang tidak reliabel untuk tool calling โ model kadang gagal memanggil tool dengan benar. Solusinya: beralih ke GPT-4o (model open-source dari OpenAI via OpenRouter) yang lebih stabil untuk use case ini.
๐ก Pelajaran: Selalu uji beberapa model untuk task spesifik. Model yang lebih murah belum tentu cocok untuk semua kebutuhan, terutama tool calling yang membutuhkan presisi tinggi.
๐ฆ Integrasi Ollama: AI Sepenuhnya Lokal โ
Ini adalah bagian yang paling menarik โ menjalankan AI 100% lokal tanpa internet, tanpa API key, tanpa biaya per-token!
Apa itu Ollama? โ
Ollama adalah platform untuk menjalankan Large Language Model secara lokal di komputer Anda. Model diunduh sekali, lalu berjalan sepenuhnya offline.
Langkah Integrasi โ
1. Install Ollama โ
Download dari ollama.com dan install.
2. Restart Container n8n dengan Flag Tambahan โ
docker run \
--name n8n \
-p 5678:5678 \
--add-host=host.docker.internal:host-gateway \
-e GENERIC_TIMEZONE=Asia/Jakarta \
-v n8n_data:/home/node \
docker.n8n.io/n8nio/n8nโ ๏ธ Flag krusial:
--add-host=host.docker.internal:host-gatewayโ flag ini memungkinkan container Docker berkomunikasi dengan aplikasi yang berjalan di host (komputer Anda), termasuk Ollama.
3. Konfigurasi di n8n โ
| Setting | Nilai |
|---|---|
| Credential Type | Ollama Chat Model |
| Base URL | http://host.docker.internal:11434 |
| Model | Mistral 3 (atau model lain yang tersedia) |
Diagram Koneksi Docker โ Ollama โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Komputer Anda (Host) โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Ollama Server โ โ
โ โ :11434 โ โ
โ โ [Mistral 3] โ โ
โ โโโโโโโโโโฌโโโโโโโโโโโโ โ
โ โ โ
โ host.docker.internal โ
โ โ โ
โ โโโโโโโโโโผโโโโโโโโโโโโ โ
โ โ Docker: n8n โ โ
โ โ :5678 โ โ
โ โ AI Agent โโโ Ollama Chat โ
โ โโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโHasil โ
AI Agent berjalan sepenuhnya lokal โ Mistral 3 di Ollama memproses semua request tanpa koneksi internet. Ini ideal untuk:
- ๐ Privasi maksimal โ data tidak pernah meninggalkan komputer Anda
- ๐ฐ Biaya nol โ tidak ada biaya per-token
- ๐ Offline capable โ bekerja tanpa internet setelah model diunduh
Opsi Deployment Ollama โ
Ollama
โโโ ๐ฅ๏ธ Di Host Machine (seperti yang kita lakukan)
โ โโโ Akses via host.docker.internal
โโโ ๐ณ Di Docker Compose (bersama n8n)
โโโ Lebih portable, satu command untuk semuanya๐ Catatan OAuth untuk Self-Hosted โ
Video terakhir di hari ini memberikan preview penting: di self-hosted, OAuth tidak semudah di cloud.
| Fitur | Cloud | Self-Hosted |
|---|---|---|
| Google Sheets OAuth | One-click โ | Full OAuth2 setup โ |
| Gmail OAuth | One-click โ | Full OAuth2 setup โ |
| Google Drive OAuth | One-click โ | Full OAuth2 setup โ |
Di cloud, n8n sudah menyiapkan OAuth2 application sehingga pengguna tinggal klik "Connect with Google". Di self-hosted, Anda harus:
- Buat project di Google Cloud Console
- Enable API yang diperlukan
- Konfigurasi OAuth consent screen
- Buat OAuth2 credentials
- Copy redirect URI dari n8n
- Masukkan Client ID + Client Secret
Detail lengkap tentang proses ini akan dibahas di Day 2.
๐ Tabel Terminologi โ
| Istilah | Definisi |
|---|---|
| Docker | Platform untuk menjalankan aplikasi dalam container terisolasi |
| Container | Instance berjalan dari image โ lingkungan aplikasi terisolasi |
| Image | Blueprint/template untuk membuat container |
| Volume | Storage persisten yang hidup di luar siklus container |
| Port Mapping | Meneruskan traffic dari port host ke port container |
| WSL2 | Windows Subsystem for Linux 2 โ menjalankan Linux di Windows |
| Ollama | Platform untuk menjalankan LLM secara lokal |
| host.docker.internal | DNS khusus untuk mengakses host dari dalam container |
| OpenRouter | Gateway API yang menyediakan akses ke berbagai model LLM |
| Fair Code License | Lisensi n8n โ gratis untuk self-hosted dengan batasan tertentu |
๐ Pencapaian Day 1 โ
โ
Memahami trade-off Cloud vs Self-Hosted
โ
Menginstal Docker Desktop
โ
Menjalankan n8n di Docker container
โ
Membuat owner account di self-hosted n8n
โ
Membangun AI Agent dengan OpenRouter + DeepSeek
โ
Mengintegrasikan Ollama untuk AI sepenuhnya lokal
โ
Memahami flag --add-host untuk koneksi Docker โ Host๐ฏ Progres Keseluruhan: Memasuki Week 3 โ fase Amplify! Self-hosted n8n membuka kemungkinan baru: kontrol penuh, privasi data, dan AI lokal tanpa biaya API.