تکناو
TEKNAV

نرم‌افزار

اجرای OpenClaw روی Docker و VPS: راهنمای کامل سلف‌هاستینگ و Allowlist

راهنمای جامع سلف‌هاستینگ OpenClaw روی VPS: از نصب Docker تا تنظیم Allowlist، مدیریت API key و تضمین امنیت در محیط تولید.

اجرای یک عامل هوش مصنوعی سلف‌هاستد روی VPS شاید در ظاهر پیچیده به نظر برسد، اما با راهنمای درست می‌توانید در کمتر از دو ساعت یک دستیار AI شخصی داشته باشید که کاملاً تحت کنترل شماست — با امنیت SSL، سیستم allowlist، و هزینه‌ای کمتر از یک فنجان قهوه در روز.

پاسخ کوتاه: OpenClaw یک عامل هوش مصنوعی متن‌باز و سلف‌هاستد است که با نصب Docker روی VPS و پیکربندی nginx به عنوان reverse proxy راه‌اندازی می‌شود. با یک VPS ارزان، تنظیم SSL با Let's Encrypt و پیکربندی allowlist.json برای محدودسازی دسترسی، دستیار AI شخصی خواهید داشت که از تلگرام یا سیگنال قابل استفاده است و داده‌هایتان کاملاً تحت کنترل شما می‌ماند.
راه‌اندازی OpenClaw روی VPS با Docker و nginx
پیکربندی Docker Compose برای OpenClaw روی یک VPS لینوکسی — nginx به عنوان reverse proxy جلوی OpenClaw قرار می‌گیرد و Let's Encrypt SSL رایگان فراهم می‌کند.

۱. انتخاب VPS مناسب: مشخصات و هزینه

اولین تصمیم — و مهم‌ترین آن — انتخاب سرور مجازی مناسب است. OpenClaw به خودی خود سبک است، اما اگر بخواهید مدل زبانی محلی هم اجرا کنید، نیازمندی‌ها بالاتر می‌روند.

پیکربندی حداقلی (بدون مدل محلی): اگر از API خارجی مثل OpenAI یا Groq استفاده می‌کنید، یک VPS با ۲ vCPU و ۴ گیگابایت RAM کافی است. OpenClaw در حالت API محور، مصرف CPU و RAM بسیار پایینی دارد — بیشتر وقت منتظر پاسخ API می‌ماند.

پیکربندی توصیه‌شده (با مدل محلی): اگر می‌خواهید Ollama با یک مدل ۷ تا ۸ میلیارد پارامتری اجرا کنید، به حداقل ۸ گیگابایت RAM نیاز دارید. ۱۶ گیگابایت ایده‌آل است تا سیستم‌عامل و سایر سرویس‌ها هم به‌راحتی اجرا شوند. GPU؟ برای استنتاج روی CPU هم نتیجه قابل‌قبولی خواهید داشت، اگرچه کندتر است.

مقایسه ارائه‌دهندگان VPS (ژوئن ۲۰۲۶):
Hetzner CX21 — ۲ vCPU، ۴GB RAM: ~€4.9/ماه | اروپا | بهترین قیمت/عملکرد
Hetzner CX31 — ۲ vCPU، ۸GB RAM: ~€8.9/ماه | توصیه‌شده برای مدل محلی سبک
Contabo VPS S — ۴ vCPU، ۸GB RAM: ~€5.9/ماه | آلمان | ارزان‌تر برای RAM بالاتر
DigitalOcean Droplet — ۲ vCPU، ۴GB RAM: ~$24/ماه | گران‌تر اما رابط کاربری بهتر
توجه: برای کاربران ایرانی، Hetzner و Contabo معمولاً دسترسی آسان‌تری دارند.

توزیع لینوکس توصیه‌شده: Ubuntu 24.04 LTS. پشتیبانی طولانی‌مدت، مستندات فراوان، و Docker به‌خوبی روی آن کار می‌کند. Debian 12 هم گزینه خوبی است اگر ترجیح می‌دهید سیستم سبک‌تری داشته باشید.

قبل از هر کاری، یک کاربر غیر root بسازید و SSH key authentication تنظیم کنید. هرگز با کاربر root روی سرور production کار نکنید:

نکته: قبل از نصب هر چیزی، ufw allow 22/tcp و ufw allow 80/tcp و ufw allow 443/tcp را اجرا کنید و سپس ufw enable. firewall را فعال کنید — پورت‌های غیرضروری را ببندید. پورت OpenClaw (پیش‌فرض 3100) را هرگز مستقیماً به اینترنت expose نکنید؛ فقط از طریق nginx در دسترس باشد.

۲. نصب Docker و پیکربندی اولیه

Docker Engine را از مخزن رسمی نصب کنید — از بسته‌های توزیع استفاده نکنید چون معمولاً نسخه‌های قدیمی‌تری هستند:

بعد از نصب، مخزن OpenClaw را clone کنید:

git clone https://github.com/steinberger-labs/openclaw.git /opt/openclaw

وارد پوشه شوید و فایل محیط را بسازید:

cd /opt/openclaw && cp .env.example .env

فایل .env را با یک ویرایشگر متن باز کنید و متغیرهای اصلی را تنظیم کنید:

NODE_ENV=production — حتماً روی production تنظیم کنید تا لاگ‌های debug غیرفعال شوند.

SECRET_KEY — یک رشته تصادفی ۳۲+ کاراکتری برای امضای session‌ها. از openssl rand -hex 32 استفاده کنید.

MODEL_PROVIDER — مقدار ollama برای مدل محلی یا openai، anthropic، groq برای API خارجی.

RATE_LIMIT_PER_HOUR — حداکثر تعداد درخواست در ساعت برای هر کاربر. پیش‌فرض ۵۰ توصیه می‌شود.

فایل docker-compose.yml پیش‌فرض OpenClaw شامل سرویس‌های openclaw (سرویس اصلی)، nginx (reverse proxy)، و اگر مدل محلی می‌خواهید، ollama است. برای امنیت بیشتر، سرویس openclaw را با یک کاربر غیر root اجرا کنید: در docker-compose.yml، زیر سرویس openclaw اضافه کنید: user: "1001:1001".

۳. راه‌اندازی nginx و SSL

nginx به عنوان reverse proxy جلوی OpenClaw قرار می‌گیرد و دو کار اصلی انجام می‌دهد: ترمینیشن SSL و محافظت از پورت داخلی OpenClaw.

ابتدا یک domain تهیه کنید. اگر می‌خواهید هزینه را کم نگه دارید، یک subdomain رایگان از سرویس‌هایی مثل DuckDNS کافی است، اما داشتن یک دامنه واقعی برای SSL و credibility بهتر است.

بعد از اینکه DNS دامنه‌تان به IP سرور اشاره کرد، Certbot را نصب کنید:

apt install certbot python3-certbot-nginx

در فایل nginx.conf داخل پیکربندی Docker، server name و proxy_pass را تنظیم کنید. سپس Let's Encrypt را اجرا کنید:

certbot --nginx -d yourdomain.com

Certbot به صورت خودکار گواهینامه صادر می‌کند، فایل nginx.conf را ویرایش می‌کند تا HTTPS فعال شود، و یک cron job برای تجدید خودکار می‌سازد. بعد از این، ترافیک HTTP به صورت خودکار به HTTPS redirect می‌شود.

نکته: در پیکربندی nginx، حتماً header‌های امنیتی اضافه کنید: add_header X-Frame-Options DENY; و add_header X-Content-Type-Options nosniff; و add_header Strict-Transport-Security "max-age=31536000";. این header‌ها لایه امنیتی اضافه‌ای در برابر حملات رایج فراهم می‌کنند.

۴. پیکربندی allowlist و امنیت

یکی از مهم‌ترین تنظیمات امنیتی OpenClaw، فایل allowlist.json است. این فایل مشخص می‌کند چه کسانی مجاز به ارتباط با عامل شما هستند.

بدون allowlist، هر کسی که شماره تلگرام یا آدرس سیگنال ربات شما را داشته باشد می‌تواند با آن ارتباط برقرار کند. این برای استفاده شخصی قابل‌قبول نیست — به‌خصوص اگر عامل شما به فایل‌های حساس یا سرویس‌های مهم دسترسی دارد.

ساختار allowlist.json به این صورت است: یک شیء JSON که کلیدهای آن نام پیام‌رسان هستند (telegram، signal، slack) و مقادیر آن‌ها آرایه‌ای از شناسه‌های مجاز. برای تلگرام، user ID عددی کاربر (نه username) را وارد کنید. برای سیگنال، شماره تلفن با فرمت بین‌المللی. برای Slack، user ID که با حرف U شروع می‌شود.

مثال allowlist.json:
{"telegram": ["123456789", "987654321"], "signal": ["+989121234567"], "slack": ["U01ABC123"]}
برای پیدا کردن Telegram User ID خود: ربات @userinfobot را پیدا کنید و یک پیام ارسال کنید — ID عددی شما را برمی‌گرداند.

علاوه بر allowlist، چند تنظیم امنیتی دیگر را حتماً پیکربندی کنید:

MAX_MESSAGE_LENGTH: حداکثر طول پیام ورودی. پیام‌های خیلی طولانی می‌توانند نشانه‌ای از prompt injection باشند. مقدار پیش‌فرض ۲۰۰۰ کاراکتر معقول است.

SKILL_TIMEOUT_MS: حداکثر زمان اجرای یک مهارت در میلی‌ثانیه. از اجرای نامحدود جلوگیری می‌کند. ۳۰۰۰۰ (۳۰ ثانیه) برای اکثر مهارت‌ها کافی است.

SANDBOX_UNTRUSTED: اگر روی true تنظیم شود، مهارت‌هایی که محتوای خارجی پردازش می‌کنند در یک حالت محدودتر اجرا می‌شوند.

۵. اتصال به تلگرام/سیگنال

برای تلگرام، ابتدا یک ربات بسازید. @BotFather در تلگرام را پیدا کنید، دستور /newbot را ارسال کنید، یک نام و username انتخاب کنید. BotFather یک Token API به شما می‌دهد — این را در فایل .env در متغیر TELEGRAM_BOT_TOKEN کپی کنید.

یک تنظیم مهم: حتماً Privacy Mode ربات را در BotFather با دستور /setprivacy روی DISABLED تنظیم کنید اگر می‌خواهید ربات پیام‌های گروهی را هم ببیند. اما برای استفاده شخصی که فقط چت خصوصی دارید، این نیاز نیست.

برای سیگنال، فرآیند کمی پیچیده‌تر است. OpenClaw از signal-cli استفاده می‌کند که نیازمند ثبت یک شماره تلفن در سیستم سیگنال است. در Docker Compose، یک سرویس signal-cli وجود دارد. پس از راه‌اندازی، باید شماره را از طریق captcha یا SMS تأیید کنید. دستورالعمل دقیق در مستندات OpenClaw موجود است.

پس از پیکربندی:

docker compose up -d

و لاگ‌ها را بررسی کنید:

docker compose logs -f openclaw

اگر همه چیز درست باشد، خط OpenClaw ready — connected to [channel] and [model] را خواهید دید.

«هزینه کل زیرساخت سلف‌هاستد من: ۴.۹ یورو ماهانه برای VPS + ۱۲ یورو سالانه برای دامنه. در عوض، یک دستیار AI که ایمیل‌هایم را پردازش می‌کند، جلساتم را یادداشت می‌کند، و هرگز داده‌هایم را به هیچ شرکت خارجی‌ای نمی‌فرستد.» — کامنت کاربر در Hacker News، مه ۲۰۲۶

۶. نظارت و نگهداری

یک سرویس production بدون نظارت مثل ماشینی است که بدون داشبورد رانندگی می‌کنید. OpenClaw چند مکانیزم نظارت داخلی دارد:

Health Check Endpoint: آدرس /health یک JSON ساده برمی‌گرداند که وضعیت سرویس، اتصال به مدل، و اتصال به پیام‌رسان‌ها را نشان می‌دهد. می‌توانید از UptimeRobot یا Better Uptime برای پینگ کردن این endpoint هر ۵ دقیقه یک‌بار استفاده کنید و alert ایمیل یا SMS دریافت کنید.

Prometheus Metrics: اگر METRICS_ENABLED=true تنظیم کنید، OpenClaw metrics را روی /metrics expose می‌کند — تعداد پیام‌های پردازش‌شده، زمان پاسخ مدل، تعداد خطاها، و استفاده از مهارت‌های مختلف.

Grafana Dashboard: یک فایل dashboard آماده در مخزن OpenClaw موجود است که می‌توانید مستقیماً در Grafana import کنید. Grafana + Prometheus با هم یک سیستم نظارت کامل فراهم می‌کنند.

نکته: استراتژی پشتیبان‌گیری: سه فایل اصلی را backup کنید: .env (اعتبارنامه‌ها)، allowlist.json (کاربران مجاز)، و پوشه skills/ (مهارت‌های سفارشی‌تان). این سه فایل کل پیکربندی شخصی شما هستند. آن‌ها را در یک مخزن git خصوصی ذخیره کنید. در صورت نیاز به migration به سرور جدید، تنها با این فایل‌ها می‌توانید سرویس را در چند دقیقه بازیابی کنید.

به‌روزرسانی OpenClaw: به صورت منظم (پیشنهاد: ماهانه) آخرین تغییرات را pull کنید و container را rebuild کنید:

cd /opt/openclaw && git pull && docker compose up -d --build

قبل از هر به‌روزرسانی، changelog را بررسی کنید تا از تغییرات breaking آگاه باشید.

مقایسه پیکربندی‌های VPS برای سلف‌هاستینگ OpenClaw

انتخاب VPS مناسب تأثیر مستقیمی بر عملکرد و هزینه سلف‌هاستینگ OpenClaw دارد. بسته به اینکه از API خارجی استفاده می‌کنید یا مدل محلی اجرا می‌کنید، نیازمندی‌های سخت‌افزاری متفاوت خواهد بود.

جدول زیر مقایسه‌ای از ارائه‌دهندگان مختلف VPS و پیکربندی‌های پیشنهادی برای سناریوهای مختلف ارائه می‌دهد:

ارائه‌دهندهمدلvCPU/RAMهزینه ماهانهمناسب برای
HetznerCX21۲ vCPU / ۴GB€۴.۹استفاده با API خارجی
HetznerCX31۲ vCPU / ۸GB€۸.۹مدل محلی سبک
ContaboVPS S۴ vCPU / ۸GB€۵.۹RAM بالا با هزینه کم
DigitalOceanDroplet۲ vCPU / ۴GB~$۲۴رابط کاربری ساده
AWSLightsail۲ vCPU / ۴GB~$۲۰اکوسیستم AWS

توصیه می‌شود برای شروع از Hetzner CX21 با API خارجی استفاده کنید و در صورت نیاز به مدل محلی، به CX31 ارتقا دهید. نکته مهم این است که OpenClaw در حالت API محور مصرف CPU و RAM پایینی دارد و بیشتر زمان در انتظار پاسخ API خارجی می‌ماند. برای کاربران ایرانی، Hetzner و Contabo معمولاً دسترسی ساده‌تری دارند و از نظر قیمت نیز مقرون‌به‌صرفه هستند. انتخاب توزیع لینوکس Ubuntu 24.04 LTS توصیه می‌شود چون Docker به‌خوبی روی آن کار می‌کند و مستندات فراوانی برای عیب‌یابی در دسترس است.

نتیجه‌گیری: سرمایه‌گذاری کمتر از یک قهوه در روز

اجرای OpenClaw روی VPS پنج مرحله دارد: تهیه سرور، نصب Docker، پیکربندی nginx و SSL، تنظیم allowlist، و اتصال به پیام‌رسان. هر مرحله مستقیم است و با مستندات OpenClaw می‌توانید آن را دنبال کنید.

نتیجه: یک دستیار هوش مصنوعی که ۲۴/۷ در دسترس است، در پیام‌رسانی که هر روز استفاده می‌کنید پاسخ می‌دهد، کاملاً پیکربندی‌پذیر است، و داده‌هایتان روی سخت‌افزاری است که کنترل آن را دارید. هزینه: کمتر از €۵ در ماه. ارزش: تسلط کامل بر ابزار هوش مصنوعی شخصی‌تان.

کسانی که امروز این زیرساخت را می‌سازند، فردا در موقعیتی هستند که می‌توانند مهارت‌های OpenClaw را برای نیازهای خاص خودشان و کسب‌وکارشان بسازند — بدون وابستگی به هیچ پلتفرم مرکزی‌ای. این آزادی، ارزش یادگیری ۲ ساعت تنظیمات را دارد.

پرسش‌های پرتکرار

OpenClaw چیست و چرا باید آن را سلف‌هاست کرد؟

OpenClaw یک عامل هوش مصنوعی متن‌باز است که می‌توان آن را روی سرور شخصی اجرا کرد. سلف‌هاستینگ به شما کنترل کامل بر داده‌ها، امنیت و پیکربندی می‌دهد و برخلاف سرویس‌های ابری، اطلاعات شما هرگز به شرکت‌های خارجی ارسال نمی‌شود. همچنین با هزینه ماهانه کمتر از ۵ یورو، بسیار مقرون‌به‌صرفه است.

چگونه OpenClaw را روی VPS نصب کنیم؟

ابتدا یک VPS با حداقل ۲ vCPU و ۴ گیگابایت RAM تهیه کنید و Ubuntu 24.04 LTS نصب کنید. سپس Docker Engine را از مخزن رسمی نصب کرده، مخزن OpenClaw را کلون کنید، فایل .env را با تنظیمات API key و مدل پیکربندی کنید، nginx را به عنوان reverse proxy تنظیم کرده و SSL را با Certbot فعال نمایید. در نهایت با docker compose up -d سرویس را راه‌اندازی کنید.

تفاوت OpenClaw با ChatGPT و Claude چیست؟

OpenClaw یک عامل هوش مصنوعی سلف‌هاستد است در حالی که ChatGPT و Claude سرویس‌های ابری بسته هستند. OpenClaw روی سرور شما اجرا می‌شود و می‌تواند از API همان مدل‌ها (OpenAI، Anthropic، Groq) استفاده کند، اما کنترل کامل زیرساخت، داده‌ها و مهارت‌ها در دست شماست. همچنین OpenClaw قابلیت اتصال به پیام‌رسان‌هایی مثل تلگرام و سیگنال را دارد.

allowlist.json در OpenClaw چیست و چرا مهم است؟

فایل allowlist.json مشخص می‌کند چه کاربرانی مجاز به ارتباط با عامل OpenClaw شما هستند. بدون این فایل، هر کسی که شناسه ربات تلگرام یا سیگنال شما را داشته باشد می‌تواند به آن دسترسی پیدا کند. با تنظیم این فایل، فقط کاربران مشخص‌شده با User ID عددی تلگرام یا شماره سیگنال می‌توانند از عامل استفاده کنند که برای امنیت در محیط production ضروری است.

هزینه راه‌اندازی OpenClaw سلف‌هاستد چقدر است؟

هزینه اصلی شامل VPS ماهانه (حدود ۴.۹ تا ۸.۹ یورو برای Hetzner) و دامنه سالانه (حدود ۱۲ یورو) می‌شود. اگر از API خارجی مانند OpenAI استفاده کنید، هزینه مصرف API نیز اضافه می‌شود. مجموعاً با کمتر از ۱۰ یورو در ماه می‌توانید یک دستیار AI شخصی ۲۴/۷ داشته باشید که کاملاً تحت کنترل شماست.