n8n সেই ধরনের টুল যা আপনি হালকাভাবে ব্যবহার শুরু করেন ও তারপর নীরবে আপনার অর্ধেক অপারেশন এর মধ্য দিয়ে route করেন। যে বিন্দুতে "এটি কারো cloud seat-এ চলছে, per execution মিটার-করা, আমার API key তাদের সার্ভারে বসে থেকে" কম দারুণ লাগতে শুরু করে। সেলফ-হোস্টিং তিনটিই ঠিক করে — flat খরচ, কোনো execution cap নেই, ও আপনার key আপনার মালিকানার একটি বক্সে থাকে। Docker দিয়ে এটি একটি পনেরো-মিনিটের কাজ।
এর আসলে কত সার্ভার দরকার
আগে সৎ সংখ্যা, যাতে আপনি বেশি বা কম না-কেনেন:
- ~2 GB RAM sweet spot — n8n plus এর Postgres database plus স্বাভাবিক workflow এখানে আরামে বসে।
- 1 GB কাজ করে যদি আপনার workflow হালকা হয়, কিন্তু বড় run-এ আপনি এটি লক্ষ্য করবেন।
- 4 GB যদি আপনি ভারী parallel execution করেন বা বড় payload ঠেলেন।
n8n বিশ্রামে CPU-ক্ষুধার্ত নয়; এটি run-এর সময় spike করে। বেশিরভাগ সেটআপের জন্য একটি 2-core বক্স ঠিক। (sizing গাইড-এ workload-এর সাথে spec মেলানো নিয়ে আরও।)
Docker সেটআপ
একটি তাজা Ubuntu/Debian বক্সে, Docker ইনস্টল করুন:
curl -fsSL https://get.docker.com | sudo sh
একটি ফোল্ডার ও একটি docker-compose.yml বানান — একটি স্থায়ী volume ও Postgres সহ n8n:
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "127.0.0.1:5678:5678"
environment:
- N8N_HOST=n8n.yourdomain.com
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://n8n.yourdomain.com/
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=db
- DB_POSTGRESDB_PASSWORD=change-me
volumes:
- ./n8n-data:/home/node/.n8n
depends_on: [db]
db:
image: postgres:16
restart: always
environment:
- POSTGRES_PASSWORD=change-me
- POSTGRES_DB=n8n
volumes:
- ./db-data:/var/lib/postgresql/data
sudo docker compose up -d
দুটি জিনিস উল্লেখের যোগ্য: volume (n8n-data, db-data)-ই আপনার workflow-কে restart ও আপগ্রেড-জুড়ে জীবিত রাখে — এগুলো এড়াবেন না। আর n8n 0.0.0.0 নয়, 127.0.0.1-এ bind করা — এটি সরাসরি ইন্টারনেটে উন্মুক্ত নয়। সেটি ইচ্ছাকৃত; পরের ধাপ access নিরাপদে সামলায়।
Access: HTTPS বা একটি tunnel
- পাবলিক URL (OAuth node ও webhook-এর জন্য দরকার): সার্ভারে একটি subdomain তাক করুন ও
127.0.0.1:5678-র সামনে একটি reverse proxy চালান (Caddy সবচেয়ে কম-শ্রমের — স্বয়ংক্রিয় HTTPS)। এখানেই একটি dedicated-IP প্ল্যান মানায়, যেহেতু আপনি পোর্ট ও DNS নিয়ন্ত্রণ করেন। - শুধু নিজের জন্য, কোনো ডোমেইন নয়: proxy এড়িয়ে যান ও একটি SSH tunnel-এর মাধ্যমে এতে পৌঁছান —
ssh -L 5678:127.0.0.1:5678 user@server, তারপরlocalhost:5678খুলুন। একটি NAT VPS-এ ভালোই কাজ করে।
এটি লক করুন ও চালু রাখুন
n8n আপনার API key ও credential ধরে, তাই বক্সটি আঁটসাঁট হতে হবে: আসল credential রাখার আগে security checklist করুন (SSH key, firewall, কোনো password login নয়)। compose ফাইলের restart: always ইতিমধ্যেই মানে Docker একটি ক্র্যাশ বা reboot-এর পরে n8n ফিরিয়ে আনে — সেটি আপনার uptime সামলানো।
এটি কি সার্থক?
ভলিউম নিয়ে নিজের সাথে সৎ হন। আপনি অবিরাম automation চালালে, সেলফ-হোস্টিং খরচে জেতে (flat বনাম per-execution) ও যেকোনো workflow/run সীমা সরায়। আপনি মাসে কয়েকটি flow ট্রিগার করলে, একটি hosted seat কম ঝামেলা। কিন্তু নিয়ন্ত্রণের যুক্তি যাই হোক দাঁড়িয়ে থাকে: আপনার workflow, আপনার ডেটা, আপনার key — আপনার সার্ভারে, ভাড়া-করা নয়। n8n নিয়ে গুরুতর হওয়া বেশিরভাগ মানুষের জন্য, সেটাই নির্ধারক ফ্যাক্টর।
একটি 2 GB বক্স, একটি compose ফাইল, একটি ডোমেইন (বা একটি tunnel), আর আপনি নিজের automation hub চালাচ্ছেন — no KYC-তে ক্রিপ্টোতে পরিশোধযোগ্য, মিনিটে live।
তৈরি সেটআপ: n8n-এর জন্য VPS দেখুন — সুপারিশকৃত প্ল্যান ও এক-মিনিটের ক্রিপ্টো deploy।
মন্তব্য
এখনো কোনো মন্তব্য নেই। প্রথম হোন।