Hosting
Oracle Cloud
یک OpenClaw Gateway پایدار را بدون هزینه روی سطح ARM Always Free در Oracle Cloud اجرا کنید (تا 4 OCPU، 24 گیگابایت RAM، 200 گیگابایت فضای ذخیرهسازی).
پیشنیازها
- حساب Oracle Cloud (ثبتنام) -- اگر به مشکل خوردید، راهنمای ثبتنام جامعه کاربری را ببینید
- حساب Tailscale (رایگان در tailscale.com)
- یک جفت کلید SSH
- حدود 30 دقیقه
راهاندازی
ساخت یک نمونه OCI
- وارد Oracle Cloud Console شوید.
- به Compute > Instances > Create Instance بروید.
- پیکربندی کنید:
- نام:
openclaw - ایمیج: Ubuntu 24.04 (aarch64)
- شکل:
VM.Standard.A1.Flex(Ampere ARM) - OCPUها: 2 (یا تا 4)
- حافظه: 12 گیگابایت (یا تا 24 گیگابایت)
- حجم بوت: 50 گیگابایت (تا 200 گیگابایت رایگان)
- کلید SSH: کلید عمومی خود را اضافه کنید
- نام:
- روی Create کلیک کنید و نشانی IP عمومی را یادداشت کنید.
اتصال و بهروزرسانی سیستم
ssh ubuntu@YOUR_PUBLIC_IP
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential
build-essential برای کامپایل ARM بعضی وابستگیها لازم است.
پیکربندی کاربر و نام میزبان
sudo hostnamectl set-hostname openclaw
sudo passwd ubuntu
sudo loginctl enable-linger ubuntu
فعال کردن linger باعث میشود سرویسهای کاربر پس از خروج همچنان اجرا شوند.
نصب Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh --hostname=openclaw
از این به بعد، از طریق Tailscale وصل شوید: ssh ubuntu@openclaw.
نصب OpenClaw
curl -fsSL https://openclaw.ai/install.sh | bash
source ~/.bashrc
وقتی پیام "How do you want to hatch your bot?" نمایش داده شد، Do this later را انتخاب کنید.
پیکربندی Gateway
برای دسترسی راه دور امن، از احراز هویت توکنی همراه با Tailscale Serve استفاده کنید.
openclaw config set gateway.bind loopback
openclaw config set gateway.auth.mode token
openclaw doctor --generate-gateway-token
openclaw config set gateway.tailscale.mode serve
openclaw config set gateway.trustedProxies '["127.0.0.1"]'
systemctl --user restart openclaw-gateway.service
gateway.trustedProxies=["127.0.0.1"] در اینجا فقط برای مدیریت IP فورواردشده/کلاینت محلی پراکسی Tailscale Serve محلی است. این نه gateway.auth.mode: "trusted-proxy" است. مسیرهای نمایشگر diff در این راهاندازی رفتار fail-closed را حفظ میکنند: درخواستهای خام نمایشگر از 127.0.0.1 بدون هدرهای پراکسی فورواردشده میتوانند Diff not found برگردانند. برای پیوستها از mode=file / mode=both استفاده کنید، یا اگر به پیوندهای نمایشگر قابلاشتراکگذاری نیاز دارید، نمایشگرهای راه دور را آگاهانه فعال کنید و plugins.entries.diffs.config.viewerBaseUrl را تنظیم کنید (یا یک baseUrl پراکسی پاس بدهید).
قفل کردن امنیت VCN
همه ترافیک بهجز Tailscale را در لبه شبکه مسدود کنید:
- در OCI Console به Networking > Virtual Cloud Networks بروید.
- روی VCN خود کلیک کنید، سپس Security Lists > Default Security List را انتخاب کنید.
- همه قوانین ingress را بهجز
0.0.0.0/0 UDP 41641(Tailscale) حذف کنید. - قوانین egress پیشفرض را نگه دارید (اجازه همه خروجیها).
این کار SSH روی پورت 22، HTTP، HTTPS و هر چیز دیگر را در لبه شبکه مسدود میکند. از این نقطه به بعد فقط میتوانید از طریق Tailscale وصل شوید.
راستیآزمایی
openclaw --version
systemctl --user status openclaw-gateway.service
tailscale serve status
curl http://localhost:18789
از هر دستگاهی در tailnet خود به Control UI دسترسی پیدا کنید:
https://openclaw.<tailnet-name>.ts.net/
<tailnet-name> را با نام tailnet خود جایگزین کنید (در tailscale status قابل مشاهده است).
راستیآزمایی وضعیت امنیتی
با قفل شدن VCN (فقط UDP 41641 باز است) و bind شدن Gateway به loopback، ترافیک عمومی در لبه شبکه مسدود میشود و دسترسی مدیریتی فقط از طریق tailnet امکانپذیر است. این موضوع نیاز به چند مرحله سنتی سختسازی VPS را حذف میکند:
| مرحله سنتی | لازم است؟ | چرا |
|---|---|---|
| فایروال UFW | خیر | VCN پیش از رسیدن ترافیک به نمونه، آن را مسدود میکند. |
| fail2ban | خیر | پورت 22 در VCN مسدود است؛ سطح حمله brute-force وجود ندارد. |
| سختسازی sshd | خیر | Tailscale SSH از sshd استفاده نمیکند. |
| غیرفعال کردن ورود root | خیر | Tailscale با هویت tailnet احراز هویت میکند، نه کاربران سیستم. |
| احراز هویت فقط با کلید SSH | خیر | همان مورد — هویت tailnet جایگزین کلیدهای SSH سیستم میشود. |
| سختسازی IPv6 | معمولا خیر | به تنظیمات VCN/زیرشبکه بستگی دارد؛ بررسی کنید واقعا چه چیزی اختصاص یافته/در معرض قرار گرفته است. |
همچنان توصیه میشود:
chmod 700 ~/.openclawبرای محدود کردن مجوزهای فایلهای اعتبارنامه.openclaw security auditبرای بررسی وضعیت مختص OpenClaw.- اجرای منظم
sudo apt update && sudo apt upgradeبرای وصلههای سیستمعامل. - مرور دورهای دستگاهها در کنسول ادمین Tailscale.
دستورهای سریع راستیآزمایی:
# Confirm no public ports are listening
sudo ss -tlnp | grep -v '127.0.0.1\|::1'
# Verify Tailscale SSH is active
tailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH active"
# Optional: disable sshd entirely once Tailscale SSH is confirmed working
sudo systemctl disable --now ssh
نکات ARM
سطح Always Free از نوع ARM (aarch64) است. بیشتر قابلیتهای OpenClaw بهخوبی کار میکنند؛ تعداد کمی از باینریهای native به بیلدهای ARM نیاز دارند:
- Node.js، Telegram، WhatsApp (Baileys): JavaScript خالص، بدون مشکل.
- بیشتر بستههای npm دارای کد native: آرتیفکتهای ازپیشساخته
linux-arm64موجود است. - کمککنندههای اختیاری CLI (مثلا باینریهای Go/Rust که توسط skills ارسال میشوند): پیش از نصب، وجود انتشار
aarch64/linux-arm64را بررسی کنید.
معماری را با uname -m راستیآزمایی کنید (باید aarch64 چاپ کند). برای باینریهایی که بیلد ARM ندارند، از سورس نصب کنید یا از آنها صرفنظر کنید.
پایداری و پشتیبانگیری
وضعیت OpenClaw زیر این مسیرها قرار دارد:
~/.openclaw/—openclaw.json، auth-profiles.jsonبرای هر agent، وضعیت کانال/ارائهدهنده، و دادههای نشست.~/.openclaw/workspace/— فضای کاری agent (SOUL.md، حافظه، آرتیفکتها).
اینها پس از راهاندازی مجدد باقی میمانند. برای گرفتن یک اسنپشات قابلانتقال:
openclaw backup create
جایگزین: تونل SSH
اگر Tailscale Serve کار نمیکند، از یک تونل SSH از ماشین محلی خود استفاده کنید:
ssh -L 18789:127.0.0.1:18789 ubuntu@openclaw
سپس http://localhost:18789 را باز کنید.
عیبیابی
ساخت نمونه شکست میخورد ("Out of capacity") -- نمونههای ARM سطح رایگان محبوب هستند. یک دامنه دسترسپذیری دیگر را امتحان کنید یا در ساعتهای کمترافیک دوباره تلاش کنید.
Tailscale وصل نمیشود -- برای احراز هویت دوباره، sudo tailscale up --ssh --hostname=openclaw --reset را اجرا کنید.
Gateway شروع نمیشود -- openclaw doctor --non-interactive را اجرا کنید و لاگها را با journalctl --user -u openclaw-gateway.service -n 50 بررسی کنید.
مشکلات باینری ARM -- بیشتر بستههای npm روی ARM64 کار میکنند. برای باینریهای native، دنبال انتشارهای linux-arm64 یا aarch64 بگردید. معماری را با uname -m راستیآزمایی کنید.
گامهای بعدی
- کانالها -- اتصال Telegram، WhatsApp، Discord و موارد بیشتر
- پیکربندی Gateway -- همه گزینههای پیکربندی
- بهروزرسانی -- OpenClaw را بهروز نگه دارید