VPS-এ Agent Zero নিরাপদে self-host করার নিয়ম
Agent Zero Web UI code, browser ও shell চালায়। VPS-এ নিরাপদে চালাতে Docker সেটআপ করুন এবং port 50001-এর public exposure বন্ধ করে Web UI সুরক্ষিত রাখুন।
Agent Zero কী এবং এর ঝুঁকি কোথায়
Agent Zero হলো একটি ওপেন-সোর্স, ডকার-ফার্স্ট এজেন্ট ফ্রেমওয়ার্ক। একটি প্রাইমারি এজেন্ট কোনো কাজকে ছোট ছোট অংশে ভাগ করার জন্য সাবঅর্ডিনেট এজেন্ট তৈরি করতে পারে। এই এজেন্টগুলো Agent Zero ডকার কন্টেইনারের ভেতরেই কোড এক্সিকিউট করতে, ব্রাউজার চালাতে এবং শেল কমান্ড রান করতে সক্ষম। আপনি একটি ওয়েব ইউআই (Web UI) থেকে পুরো বিষয়টি নিয়ন্ত্রণ করেন। এটি অত্যন্ত কার্যকর এবং ব্যবহার করা বেশ আনন্দদায়ক; এমনকি ছয় ডলারের ভিপিএস-এর মতো ছোট হার্ডওয়্যারেও এটি চলতে পারে। আপনি যদি ফ্রেমওয়ার্কের পরিবর্তে মাল্টি-এজেন্ট কাঠামো খুঁজছেন, তবে একই মেশিনে দুটি Claude Code সেশন সরাসরি একে অপরের সাথে যোগাযোগ করতে পারে, যা চালানো এবং সুরক্ষিত রাখা অনেক সহজ।
এর মূল ঝুঁকি হলো ওয়েব ইউআই। এটি এমন একটি সিস্টেমের কন্ট্রোল প্যানেল যা কমান্ড রান করতে এবং ফাইল লিখতে পারে, তাই একটি উন্মুক্ত ও অথেন্টিকেশনহীন ওয়েব ইউআই সরাসরি রিমোট অ্যাক্সেসের সুযোগ তৈরি করে দেয়। বেশিরভাগ সেটআপ গাইড আপনাকে যে ফাঁদে ফেলে তা হলো: docker run উদাহরণগুলোতে কোনো নির্দিষ্ট অ্যাড্রেস উল্লেখ না করেই ইন্টারফেসটি পাবলিশ করা হয়। 2026-10-12 তারিখ পর্যন্ত, রিডমির সরাসরি কমান্ডে হোস্ট পোর্ট 80 (-p 80:80) ম্যাপ করা হয়েছে, A0 ইন্সটল লঞ্চার 5080 পোর্ট ব্যবহার করে, ভিপিএস ডেপ্লয়মেন্ট গাইড 50080 পোর্ট ব্যবহারের পরামর্শ দেয়, এবং v0.9.x রিলিজ পর্যন্ত লেখা গাইডগুলোতে 50001 পোর্ট ব্যবহার করা হয়েছে। আপনি যে পোর্টই বেছে নিন না কেন, কোনো নির্দিষ্ট অ্যাড্রেস ছাড়া ম্যাপিং করলে তা প্রতিটি নেটওয়ার্ক ইন্টারফেসে লিসেন করে। একটি পাবলিক ভিপিএস-এর ক্ষেত্রে এর অর্থ হলো, কন্টেইনারটি চালু হওয়ার সাথে সাথেই এটি পুরো ইন্টারনেট থেকে অ্যাক্সেসযোগ্য হয়ে যায়। এটি ঠিক করাই আপনার প্রথম কাজ হওয়া উচিত, শেষ কাজ নয়।
যা প্রয়োজন
আপনার একটি VPS-এ Docker ইনস্টল থাকতে হবে। একটি language model-এর API key অথবা ব্যবহার করার জন্য একটি local model থাকতে হবে। শুরু করার জন্য কয়েক গিগাবাইট RAM যথেষ্ট। Docker যেখানে চলে, Agent Zero সেখানেই চালানো যায়—ছোট VPS থেকে GPU server পর্যন্ত। Docker আপনার জন্য নতুন হলে, Docker-এর প্রাথমিক নির্দেশিকা নিচের কমান্ডগুলোর প্রয়োজনীয় বিষয়গুলো ব্যাখ্যা করে।
Docker ব্যবহার করে ইনস্টলেশন, loopback-এ আবদ্ধ
নথিভুক্ত quick start-এর জন্য একটি মাত্র docker run প্রয়োজন। অন্য সব জায়গা থেকে কপি-পেস্ট করা ভার্সন থেকে এখানে গুরুত্বপূর্ণ পরিবর্তনটি হলো সেই ঠিকানা যেখানে আপনি এটি publish করছেন। সব ইন্টারফেসে publish করবেন না, যেভাবে -p 80:80 করে থাকে। শুধুমাত্র loopback-এ publish করুন:
docker run -d --name agent-zero \
-p 127.0.0.1:5080:80 \
-v a0_usr:/a0/usr \
agent0ai/agent-zero-p 127.0.0.1:5080:80 শুধুমাত্র সার্ভারের loopback ঠিকানায় Web UI-কে bind করে, তাই এটি ইন্টারনেট থেকে সরাসরি অ্যাক্সেস করা যায় না। আপনার নিজের মেশিন থেকে একটি SSH tunnel-এর মাধ্যমে এটি অ্যাক্সেস করুন:
ssh -L 5080:127.0.0.1:5080 you@your-vpsএরপর লোকালি http://127.0.0.1:5080 ওপেন করুন, UI-তে আপনার model provider কনফিগার করুন এবং Settings-এর Authentication সেকশনে গিয়ে একটি UI login ও password সেট করুন। অফিসিয়াল ডকুমেন্টেশন অনুযায়ী, অন্য কাউকে ইনস্ট্যান্সটি ব্যবহারের সুযোগ দেওয়ার আগেই এটি করা উচিত। স্থায়ীভাবে একাধিক ব্যবহারকারীর জন্য সেটআপ করতে চাইলে, এটিকে একটি VPN বা authenticating reverse proxy-এর পেছনে রাখুন, কিন্তু কখনোই raw UI-কে সরাসরি ইন্টারনেটে উন্মুক্ত করবেন না। সার্ভারের অন্য যেকোনো টুলের ক্ষেত্রেও এই অভ্যাসটি বজায় রাখা উচিত যার ইন্টারফেস সংবেদনশীল কোনো কিছু নিয়ন্ত্রণ করে। ঠিক এভাবেই একটি self-hosted open-kritt scanner-এর UI-তেও সরাসরি port publish না করে tunnel-এর মাধ্যমে অ্যাক্সেস করা উচিত।
যেখানে অন্যান্য গাইড শেষ হয়, এবং কেন আপনার সেখানে থামানো উচিত নয়
Agent Zero কীভাবে ইনস্টল করতে হয় তা খুঁজলে আপনি প্রচুর গাইড পাবেন, যার মধ্যে হোস্টিং কোম্পানিগুলোর গাইডও রয়েছে। এগুলো আপনাকে একটি পাবলিক পোর্টে (পুরানো ভার্সনে 50001, নতুন ভার্সনে 80, 5080 বা 50080) Web UI চালু করা পর্যন্ত নিয়ে গিয়ে শেষ করে দেয়। ঠিক সেখানেই ঝুঁকির শুরু হয়, শেষ নয়। কাজ সম্পন্ন করতে দুটি বিষয় জরুরি। প্রথমত, উপরে উল্লিখিত উপায়ে UI-কে প্রাইভেট রাখুন। দ্বিতীয়ত, সার্ভারের সামনে একটি default-deny ফায়ারওয়াল রাখুন যাতে আপনার ভুলে যাওয়া কোনো সার্ভিস ইন্টারনেটে সাড়া দিতে না পারে:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enableতবে এর সীমাবদ্ধতা সম্পর্কে জানুন: UFW-এর নিয়ম কার্যকর হওয়ার আগেই Docker কন্টেইনারের পাবলিশ করা পোর্টের ট্রাফিক রাউট করে ফেলে, তাই ফায়ারওয়াল প্রতিটি ইন্টারফেসে পাবলিশ করা কন্টেইনার পোর্টকে সুরক্ষা দিতে পারে না। এজন্যই উপরে উল্লিখিত loopback bind গুরুত্বপূর্ণ, এবং how Docker ports bypass UFW লিঙ্কে এর বিস্তারিত ব্যাখ্যা দেওয়া হয়েছে। সম্পূর্ণ ধারণা পেতে the firewall basics অনুসরণ করুন এবং IPv6 gap সম্পর্কে সতর্ক থাকুন, কারণ আপনার IPv4 নিয়মগুলো কঠোর মনে হলেও ::-এ থাকা কোনো সার্ভিস IPv6-এর মাধ্যমে অ্যাক্সেসযোগ্য হতে পারে।
Container isolation এজেন্টদের সুরক্ষিত রাখে, আপনার সার্ভারকে নয়
Agent Zero-এর ডিজাইন এক ধরনের আইসোলেশনের ক্ষেত্রে সত্যিই কার্যকর: ফ্রেমওয়ার্ক এবং এর দ্বারা তৈরি প্রতিটি এজেন্ট সরাসরি আপনার হোস্টে না চলে এর নিজস্ব Docker কন্টেইনারের ভেতরে চলে। ফলে তারা যে কোড লেখে বা চালায় তা আপনার হোম ডিরেক্টরিতে না গিয়ে কন্টেইনারের ভেতরেই থাকে। এটি একটি গুরুত্বপূর্ণ সুবিধা। সাবঅর্ডিনেট এজেন্টরা প্রাইমারি এজেন্টের সাথে একই কন্টেইনার শেয়ার করে, তাই এই দেয়ালটি এজেন্ট এবং আপনার হোস্টের মাঝে, এজেন্টদের নিজেদের মাঝে নয়। এটি পড়ে সহজেই মনে হতে পারে যে "এটি স্যান্ডবক্সড, তাই আমি নিরাপদ" এবং এখানেই থেমে যাওয়া। কন্টেইনার আইসোলেশন এজেন্টদের কাজকে হোস্ট থেকে দূরে রাখে। এটি আপনার সার্ভারকে ইন্টারনেট থেকে রক্ষা করতে বা কোনো উন্মুক্ত Web UI-এর মাধ্যমে অপরিচিত কাউকে নিয়ন্ত্রণ নেওয়া থেকে আটকাতে কোনো ভূমিকা রাখে না। এই কাজগুলো হোস্টের ওপর আপনার দায়িত্ব। এজেন্ট যখন পর্যবেক্ষণের বাইরে থাকে তখন সে কতটুকু কাজ করতে পারবে তা আগেই নির্ধারণ করুন। এটি অনেকটা Claude Code-এর পারমিশন মোড-এর পেছনের সিদ্ধান্তের মতোই, যেখানে একটি আনঅ্যাটেন্ডেড সার্ভারের জন্য আপনার সামনে থাকা ল্যাপটপের চেয়েও কঠোর সেটিং প্রয়োজন হয়।
Secrets, users, এবং host
Model API key এবং অন্যান্য credentials Agent Zero-এর config বা এমন একটি environment file-এ রাখুন, যা শুধু নির্ধারিত account পড়তে পারে। এগুলো shell history এবং যেকোনো repository-এর বাইরে রাখুন। একই নীতি সার্ভারের secrets সুরক্ষাকারী অন্যান্য উপাদানের ক্ষেত্রেও প্রযোজ্য। যেমন Vaultwarden hardening মূলত তার admin token এবং backup file সুরক্ষিত রাখার ওপর নির্ভর করে, app যে encryption ইতিমধ্যে ভালোভাবে করে তার ওপর নয়। root-এর পরিবর্তে unprivileged user হিসেবে সার্ভার পরিচালনা করুন, যেমন least-privilege users-এ বলা হয়েছে। SSH-তে key-only authentication চালু করুন, SSH hardening-এর নির্দেশনা অনুসরণ করে। এরপর নিচের checklist অনুসরণ করুন, যাতে কোনো বিষয় বাদ না পড়ে।
আপনি যদি agent-গুলোর তুলনা করেন, তাহলে OpenClaw hardening guide এবং OpenHands guide-এ একই security posture অনুসরণ করা হয়েছে: control surface private রাখুন, unprivileged user হিসেবে চালান, default অবস্থায় firewall সক্রিয় রাখুন, এবং host-কে এমন একটি সিস্টেম হিসেবে বিবেচনা করুন যেখানে host-এর লেখা নয় এমন code চালানো হয়। পাঁচটি agent-এর পাশাপাশি তুলনার জন্য দেখুন 2026 সালের সেরা self-hosted AI agent।
এই ধারণাগুলোর ভিত্তি ব্যাখ্যা করা হয়েছে VPS-এ নিজের AI agent তৈরি করা-এ। Dify-ও তুলনা করার মতো আরেকটি self-hostable platform।
FAQ
Agent Zero কি নিজে হোস্ট (self-host) করা নিরাপদ?
হ্যাঁ, যদি আপনি এর Web UI ব্যক্তিগত রাখেন এবং হোস্টটিকে সুরক্ষিত (harden) করেন। Agent Zero কোড, ব্রাউজার এবং শেল চালাতে পারে এবং এটি যে কোনো হোস্ট পোর্টে প্রকাশিত Web UI থেকে নিয়ন্ত্রিত হয়। তাই ঝুঁকিটি উন্মুক্ত ইন্টারফেসের, ফ্রেমওয়ার্কটির নিজের নয়। UI-কে loopback-এ bind করুন এবং SSH বা VPN-এর মাধ্যমে এটি ব্যবহার করুন। একটি UI লগইন এবং পাসওয়ার্ড সেট করুন, একটি default-deny ফায়ারওয়াল ব্যবহার করুন এবং এটিকে unprivileged ব্যবহারকারী হিসেবে চালান।
Agent Zero কি ডিফল্টভাবে ইন্টারনেটে Web UI উন্মুক্ত করে দেয়?
নথিবদ্ধ docker run কমান্ডগুলো কোনো নির্দিষ্ট ঠিকানা ছাড়াই ইন্টারফেস প্রকাশ করে (README-তে -p 80:80 ব্যবহৃত হয়েছে)। এই ধরনের ম্যাপিং প্রতিটি নেটওয়ার্ক ইন্টারফেসে লিসেন করে, যার মানে একটি পাবলিক VPS-এ কন্টেইনার চালু হওয়ার সাথে সাথেই এটি ইন্টারনেট থেকে অ্যাক্সেসযোগ্য হয়ে যায়। UFW এটি আটকাতে পারে না, কারণ Docker প্রকাশিত পোর্টগুলোকে ফায়ারওয়ালের বাইরে দিয়ে রাউট করে। প্রকাশিত ঠিকানার সাথে 127.0.0.1 যোগ করুন যাতে UI শুধুমাত্র loopback-এ লিসেন করে, তারপর SSH টানেল বা VPN-এর মাধ্যমে এটি ব্যবহার করুন।
Agent Zero কি ছোট VPS-এ চলতে পারে?
হ্যাঁ। Docker যেখানে চলে, Agent Zero সেখানে চলতে পারে, যার মধ্যে ছোট এবং সাশ্রয়ী VPS অন্তর্ভুক্ত। তবে ভারী কাজ এবং বড় লোকাল মডেলের জন্য বেশি মেমোরি প্রয়োজন। আপনি যদি এটিকে হোস্ট করা API-এর পরিবর্তে নিজে হোস্ট করা (self-hosted) মডেলের সাথে যুক্ত করেন, তবে সার্ভারের আকার মডেলের চাহিদার ওপর ভিত্তি করে নির্ধারণ করুন, শুধু Agent Zero-এর ওপর নয়।
Agent Zero কীভাবে OpenClaw বা Hermes থেকে আলাদা?
এগুলোর মধ্যে মিল থাকলেও লক্ষ্য ভিন্ন। Agent Zero একটি Docker-কেন্দ্রিক ফ্রেমওয়ার্ক যা একটি প্রধান এজেন্টের চারপাশে তৈরি, যা Web UI থেকে নিয়ন্ত্রিত হয়ে কন্টেইনারের ভেতরেই অধীনস্থ এজেন্ট তৈরি করে। OpenClaw এবং Hermes হলো ব্যক্তিগত সহকারী যা আপনি চ্যাট অ্যাপের মাধ্যমে ব্যবহার করেন। এগুলোর সবার ক্ষেত্রেই নিরাপত্তার মূলনীতি একই: কন্ট্রোল সারফেস ব্যক্তিগত রাখুন এবং হোস্টকে সুরক্ষিত করুন।