VPS-এ Agent Zero সেটআপ করার নিয়ম
Agent Zero-এর Web UI সরাসরি প্রকাশ করা বিপজ্জনক। VPS-এ এটি নিরাপদে চালানোর জন্য Docker এবং port 50001 সুরক্ষিত করার সঠিক পদ্ধতিটি এখানে জানুন।
Agent Zero কী এবং এর ঝুঁকি কোথায়
Agent Zero হলো একটি open-source, Docker-first agent framework। একটি primary agent একাধিক subordinate agent তৈরি করতে পারে, যার প্রতিটি একটি আলাদা isolated Docker container-এ চলে। প্রতিটি agent কোড এক্সিকিউট করতে পারে, browser চালাতে পারে এবং shell command চালাতে পারে। আপনি একটি Web UI থেকে পুরো সিস্টেমটি নিয়ন্ত্রণ করতে পারেন। এটি অত্যন্ত কার্যকর এবং ব্যবহার করা সহজ, এমনকি এটি মাত্র ছয় ডলারের VPS-এও চলতে পারে।
এর ঝুঁকি হলো Web UI। এটি এমন একটি সিস্টেমের control panel যা command চালায় এবং ফাইল লিখে রাখে। তাই একটি exposed এবং unauthenticated Web UI সরাসরি রিমোট অ্যাক্সেস বা foothold প্রদান করে। বেশিরভাগ setup guide-এ একটি বড় ভুল আছে: standard docker run প্রতিটি network interface-এ port 50001-এ interface-টি প্রকাশ (publish) করে। পাবলিক VPS-এর ক্ষেত্রে এর মানে হলো container শুরু হওয়ার সাথে সাথেই এটি পুরো ইন্টারনেট থেকে অ্যাক্সেস করা সম্ভব। এই সমস্যাটি সমাধান করা আপনার প্রথম কাজ হওয়া উচিত।
আপনার যা প্রয়োজন
আপনার একটি VPS প্রয়োজন যেখানে Docker ইনস্টল করা আছে, একটি language model-এর জন্য API key অথবা একটি local model, এবং শুরুতে কয়েক GB RAM প্রয়োজন। Agent Zero যেখানে Docker চলে সেখানেই চলে, ছোট VPS থেকে শুরু করে GPU server পর্যন্ত। আপনি যদি Docker সম্পর্কে নতুন হন, তবে the Docker basics guide নিচের command গুলোর ধারণা প্রদান করবে।
Docker দিয়ে ইনস্টল করুন, loopback-এর সাথে bind করে
ডকুমেন্টেড quick start হলো একটি মাত্র docker run। অন্যান্য জায়গায় পাওয়া copy-paste ভার্সন থেকে গুরুত্বপূর্ণ পরিবর্তন হলো আপনি কোন অ্যাড্রেসটি publish করবেন। port 50001-এ প্রতিটি interface-এ publish করবেন না। 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 Web UI-কে শুধুমাত্র সার্ভারের loopback address-এর সাথে bind করে, ফলে এটি ইন্টারনেট থেকে অ্যাক্সেস করা যায় না। আপনার নিজের মেশিন থেকে SSH tunnel ব্যবহার করে এটি অ্যাক্সেস করুন:
ssh -L 5080:127.0.0.1:5080 you@your-vpsএরপর লোকালি http://127.0.0.1:5080 ওপেন করুন এবং UI-তে আপনার model provider কনফিগার করুন। স্থায়ীভাবে মাল্টি-ইউজার সেটআপের জন্য, এটি একটি VPN বা authenticating reverse proxy-এর পেছনে রাখুন, কিন্তু কখনোই raw UI সরাসরি ইন্টারনেটে প্রকাশ করবেন না।
অন্যান্য গাইড যেখানে শেষ হয়, এবং কেন আপনার তা করা উচিত নয়
Agent Zero ইনস্টল করার উপায় খুঁজলে আপনি অনেক গাইড পাবেন, এমনকি hosting company গুলোর গাইডও পাবেন। সেগুলো আপনাকে port 50001-এ একটি running Web UI পর্যন্ত নিয়ে যাবে এবং সেখানেই শেষ হবে। ঝুঁকি সেখানেই শুরু হয়, শেষ হয় না। দুটি কাজ সম্পন্ন করা প্রয়োজন। প্রথমত, উপরে যেভাবে বলা হয়েছে সেভাবে UI প্রাইভেট রাখুন। দ্বিতীয়ত, সার্ভারের সামনে একটি default-deny firewall রাখুন যাতে কোনো ভুলবশত কোনো container বা ভুলবশত কোনো port এক্সপোজ হয়ে না যায়:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enableসম্পূর্ণ ধারণা পেতে the firewall basics অনুসরণ করুন, এবং IPv6 gap সম্পর্কে সতর্ক থাকুন, কারণ ::-এ থাকা একটি সার্ভিস IPv6 দিয়ে অ্যাক্সেস করা সম্ভব হতে পারে এমনকি আপনার IPv4 rules কঠোর থাকলেও।
Container isolation এজেন্টদের রক্ষা করে, আপনার সার্ভার নয়
Agent Zero-এর ডিজাইন এক ধরণের isolation-এর জন্য অত্যন্ত ভালো: subordinate agent গুলো আলাদা container-এ চলে, তাই তারা একে অপরের থেকে বিচ্ছিন্ন থাকে। এটি একটি ভালো দিক। কিন্তু এটিকে "এটি sandboxed, তাই আমি নিরাপদ" হিসেবে ভুল করা উচিত নয়। Container isolation এজেন্টদের একে অপরের থেকে রক্ষা করে। এটি আপনার সার্ভারকে ইন্টারনেট থেকে রক্ষা করতে বা একটি exposed Web UI-কে অপরিচিত কারো হাতে নিয়ন্ত্রণ তুলে দেওয়া থেকে আটকাতে পারে না। হোস্ট হিসেবে এগুলো আপনার দায়িত্ব।
Secrets, users, এবং host
Model API key এবং অন্যান্য credentials Agent Zero-এর config অথবা একটি environment file-এ রাখুন যা শুধুমাত্র সঠিক অ্যাকাউন্ট পড়তে পারে। এগুলো আপনার shell history এবং কোনো repository থেকে দূরে রাখুন। least-privilege users অনুযায়ী root-এর পরিবর্তে একজন unprivileged user হিসেবে সার্ভার পরিচালনা করুন, এবং SSH hardening এর মতো SSH-কে key-only authentication-এ নিয়ে যান। এরপর নিচের checklist অনুসরণ করুন যাতে কোনো কিছু বাদ না পড়ে।
আপনি যদি বিভিন্ন agent তুলনা করেন, তবে OpenClaw hardening guide এবং the OpenHands guide একই ধরণের security posture অনুসরণ করে: control surface প্রাইভেট রাখা, unprivileged user হিসেবে চালানো, ডিফল্টভাবে firewall ব্যবহার করা, এবং হোস্টটিকে এমন একটি সিস্টেম হিসেবে দেখা যা নিজে লেখা হয়নি এমন কোড চালায়। পাঁচটি agent-এর তুলনামূলক ভিউ দেখতে the best self-hosted AI agents in 2026 দেখুন।
এসবকিছুর মূল ধারণা building your own AI agent on a VPS-এ রয়েছে, এবং Dify হলো আরেকটি self-hostable platform যা তুলনা করার মতো।
FAQ
Agent Zero কি self-host করা নিরাপদ?
হ্যাঁ, যদি আপনি এর Web UI প্রাইভেট রাখেন এবং host-টি harden করেন। Agent Zero কোড, browser এবং shell চালায় এবং এটি ডিফল্টভাবে port 50001-এ একটি Web UI থেকে নিয়ন্ত্রিত হয়। তাই ঝুঁকিটি হলো একটি exposed interface, framework নিজে নয়। UI-কে loopback-এ bind করুন এবং SSH বা VPN দিয়ে অ্যাক্সেস করুন, সামনে একটি default-deny firewall রাখুন এবং এটি unprivileged user হিসেবে চালান।
Agent Zero কি ডিফল্টভাবে ইন্টারনেটে Web UI প্রকাশ করে?
Standard docker run প্রতিটি network interface-এ port 50001-এ interface-টি প্রকাশ করে, যার মানে পাবলিক VPS-এ container শুরু হওয়ার সাথে সাথেই এটি ইন্টারনেট থেকে অ্যাক্সেস করা সম্ভব। প্রকাশিত অ্যাড্রেস পরিবর্তন করে 127.0.0.1 করুন যাতে UI শুধুমাত্র loopback-এ চলে, তারপর SSH tunnel বা VPN-এর মাধ্যমে এটি অ্যাক্সেস করুন।
Agent Zero কি ছোট VPS-এ চলতে পারে?
হ্যাঁ। Agent Zero যেখানে Docker চলে সেখানেই চলে, যার মধ্যে ছোট এবং সাশ্রয়ী VPS অন্তর্ভুক্ত। তবে ভারী কাজ এবং বড় local model-এর জন্য বেশি memory প্রয়োজন। আপনি যদি hosted API-এর পরিবর্তে self-hosted model ব্যবহার করেন, তবে শুধুমাত্র Agent Zero-এর জন্য নয়, model-এর জন্য সার্ভারের সাইজ নির্ধারণ করুন।
Agent Zero, OpenClaw বা Hermes থেকে কীভাবে আলাদা?
এদের কাজের ক্ষেত্র মিলে যায় কিন্তু লক্ষ্য ভিন্ন। Agent Zero হলো একটি Docker-first framework যা একটি primary agent-এর চারপাশে তৈরি করা হয়েছে যা isolated container-এ subordinate agent তৈরি করে এবং Web UI থেকে নিয়ন্ত্রিত হয়। OpenClaw এবং Hermes হলো পার্সোনাল অ্যাসিস্ট্যান্ট যা আপনি chat app-এর মাধ্যমে ব্যবহার করেন। সবার জন্যই security posture একই: control surface প্রাইভেট রাখা এবং host-টি harden করা।