पाठ 22 / 25
Docker Compose के साथ Self-Hosting
n8n को server पर persistent डेटा, database और सही environment variables के साथ चलाएँ।
Production को क्या चाहिए
डेमो से आगे हर चीज़ के लिए n8n को persistent volume, भारी उपयोग के लिए डिफ़ॉल्ट SQLite की जगह PostgreSQL database, सार्वजनिक WEBHOOK_URL और timezone सेट, reverse proxy से HTTPS, और स्थिर N8N_ENCRYPTION_KEY के साथ चलाएँ। ऊँचे volume के लिए n8n में अलग workers वाला queue mode है। मौजूदा settings के लिए हमेशा आधिकारिक hosting docs देखें।
लैपटॉप से server तक
n8n को persistent storage और HTTPS के साथ चलाएँ, और workflows को कोड की तरह सँभालें।
न्यूनतम Compose फ़ाइल
असली secrets .env फ़ाइल में रखें जो commit न हो। Variable नाम लिखते समय के n8n docs से हैं; अपने version के लिए जाँचें।
services:
n8n:
image: docker.n8n.io/n8nio/n8n
ports: ["5678:5678"]
environment:
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
- WEBHOOK_URL=https://n8n.example.com/
- GENERIC_TIMEZONE=Asia/Kolkata
volumes:
- n8n_data:/home/node/.n8n
restart: unless-stopped
volumes:
n8n_data:Proxy के पीछे WEBHOOK_URL सेट करें
Reverse proxy के पीछे n8n को अपना सार्वजनिक पता नहीं पता होता। WEBHOOK_URL के बिना उसके दिखाए webhook URLs ग़लत होते हैं, और बाहरी services ऐसे पतों को बुलाएँगी जो मौजूद नहीं।
त्वरित जाँच: Reverse proxy के पीछे n8n हो तो WEBHOOK_URL क्यों सेट करें?
- यह सिर्फ़ दिखावटी है
- Database तेज़ करने के लिए
- Authentication बंद करने के लिए
- ताकि बने webhook URLs सही सार्वजनिक पते का उपयोग करें
Answer
ताकि बने webhook URLs सही सार्वजनिक पते का उपयोग करें — Proxy के पीछे n8n अपना बाहरी पता अनुमान नहीं लगा सकता, इसलिए आप उसे बताते हैं।