−25%

روی پرداخت سالانه Windows، تا ۳۱ اکتبر. مشاهده پلن‌ها

EQVPS
شروع کنید

سرور VPS برای Activepieces: اتوماسیون روی سرور خود

‏Activepieces، سازندهٔ اتوماسیون متن‌باز، را روی سرور خودتان اجرا کنید: بدون هزینه برای هر تسک، وب‌هوک روی دامنهٔ شما. نصب آزموده و تلهٔ URL.

سرویس‌های اتوماسیون میزبانی‌شده برای هر تسک پول می‌گیرند و کنتور حتی روی چیزهایی که اصلاً کار نیستند هم می‌چرخد. جریان کاری که هر پنج دقیقه یک فید را چک می‌کند، پیش از آنکه کار مفیدی بکند ماهانه ۸۶۴۰ اجرا می‌شود. همان جریان را روی سرور خودتان اجرا کنید تا صورت‌حساب فقط خود سرور باشد.

‏Activepieces یک سازندهٔ اتوماسیون متن‌باز است: تریگرها، گام‌ها، انشعاب‌ها، چند صد یکپارچه‌سازی آماده و گام‌های کد برای وقتی که آماده‌ها کافی نیستند. نسخهٔ community مجوز MIT دارد و روی یک سرور کوچک با Docker Compose بی‌دردسر اجرا می‌شود.

کدام پلن

آن را روی یک سرور آزمایشی نصب کردیم و اندازه گرفتیم. فایل compose پیش‌فرض اپ و پنج worker را بالا می‌آورد: همراه با Postgres و Redis حدود ۲٫۶ تا ۳ گیگابایت RAM. با یک worker به حدود ۱٫۶ گیگابایت می‌رسد.

چه اجرا می‌کنیدپلن
چند جریان کار شخصی، یک workerMicro-IP: ۲ vCPU، ۲ گیگابایت، ۲۵ گیگابایت (۱۰ دلار در ماه)، swap اضافه کنید
چیدمان پیش‌فرض: پنج worker، جریان‌های تیمی، وب‌هوکSmall-IP: ۴ vCPU، ۴ گیگابایت، ۳۵ گیگابایت (۱۶ دلار در ماه)
اجراهای هم‌زمان زیاد، گام‌های کد سنگینMedium-IP: ۶ vCPU، ۶ گیگابایت، ۴۵ گیگابایت (۲۰ دلار در ماه)

پلنی با IPv4 اختصاصی بگیرید. وب‌هوک‌ها دلیل اصلی میزبانی این ابزار توسط خودتان هستند و سرویس‌هایی که آن‌ها را صدا می‌زنند باید به پورت‌های 80 و 443 برسند؛ در پلن‌های NAT از بیرون فقط پورت SSH در دسترس است. موقعیت‌ها آلمان و فنلاند هستند و موجودی هنگام سفارش دیده می‌شود. می‌توانید با رمزارز پرداخت کنید، بدون KYC.

نصب

اول یک دامنه — مثلاً flows.example.com — را به سرور اشاره دهید. سپس با root روی Ubuntu 24.04 یا Debian 12:

curl -fsSL https://get.docker.com | sh
git clone --depth 1 https://github.com/activepieces/activepieces.git
cd activepieces
sh tools/deploy.sh

اسکریپت deploy.sh فایل .env.example را به .env کپی می‌کند و رازهای تصادفی را پر می‌کند. پیش از اولین اجرا دو خط در .env و یک خط در فایل compose را تغییر دهید:

sed -i 's|^AP_FRONTEND_URL=.*|AP_FRONTEND_URL=https://flows.example.com|; s|^AP_TELEMETRY_ENABLED=.*|AP_TELEMETRY_ENABLED=false|' .env
sed -i "s|- '8080:80'|- '127.0.0.1:8080:80'|" docker-compose.yml

خط اول است که اهمیت دارد. ‏AP_FRONTEND_URL فقط برای لینک‌های رابط کاربری نیست: workerها از طریق آن به اپ وصل می‌شوند. اگر روی http://localhost:8080 بماند، هر کانتینر worker اپ را درون خودش جست‌وجو می‌کند، پیدایش نمی‌کند و جریان‌های کار شما هرگز منتشر نمی‌شوند. دقیقاً همین برای ما پیش آمد: «Socket.IO connection error» در لاگ‌های worker، یک درخواست انتشار که گیر کرد و وب‌هوک‌هایی که ۴۰۴ می‌دادند. با دامنهٔ واقعی، همان جریان منتشر شد و وب‌هوک اجرا شد.

دستور sed روی docker-compose.yml پورت 8080 را روی localhost نگه می‌دارد. پورت‌هایی که Docker منتشر می‌کند از کنار ufw رد می‌شوند، پس بدون آن اپ کنار HTTPS شما روی یک پورت خام باز می‌ماند.

روی Micro-IP تعداد worker را هم به یک برسانید:

sed -i 's/replicas: 5/replicas: 1/' docker-compose.yml

حالا HTTPS و اجرا:

apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
flows.example.com {
    reverse_proxy 127.0.0.1:8080
}
EOF
systemctl reload caddy
ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw enable
docker compose -p activepieces up -d

نیم دقیقه صبر کنید، https://flows.example.com را باز کنید و فوراً حساب خود را بسازید. اولین کسی که ثبت‌نام کند مالک پلتفرم است؛ بعد از آن ثبت‌نام فقط با دعوت است.

بررسی کنید که وب‌هوک‌ها کار می‌کنند

یک جریان کار با تریگر Webhook (Catch Webhook) بسازید، یک گام دلخواه اضافه کنید و منتشرش کنید. پنل تریگر آدرس URL را نشان می‌دهد. یک رویداد آزمایشی به آن بفرستید:

curl -X POST https://flows.example.com/api/v1/webhooks/YOUR_FLOW_ID \
  -H 'content-type: application/json' \
  -d '{"event":"payment.paid","amount":16}'

باید پاسخ 200 بگیرید و اجرا در Runs به‌عنوان موفق دیده شود. اگر به‌جای آن ۴۰۴ گرفتید، برگردید و AP_FRONTEND_URL را بررسی کنید.

برای روزهای بعد

  • به‌روزرسانی‌ها. فایل compose یک نسخهٔ دقیق را ثابت می‌کند (هنگام نوشتن 0.92.2). برچسب را در docker-compose.yml عوض کنید، سپس docker compose -p activepieces pull && docker compose -p activepieces up -d. اول نگاهی به یادداشت‌های انتشار بیندازید؛ ابزارهای اتوماسیون عاشق تغییر نام چیزها هستند.
  • پشتیبان‌گیری. جریان‌های کار، اتصال‌ها و تاریخچهٔ اجرا در volume پایگاه Postgres است. طبق برنامه از آن dump بگیرید و نسخه را بیرون از سرور نگه دارید — اتصال‌ها توکن‌های API شما برای سرویس‌های دیگر را در خود دارند.
  • گام‌های کد در sandbox اجرا نمی‌شوند در این چیدمان (AP_EXECUTION_MODE=UNSANDBOXED). سرور مال شماست و جریان‌های کار هم، پس قابل قبول است. از لحظه‌ای که اجازه دهید افرادی که به آن‌ها اعتماد ندارید جریان کار بسازند، دیگر قابل قبول نیست.

اگر n8n را می‌شناسید، ایده همان است — سرور VPS برای n8n را ببینید. ویرایشگری را انتخاب کنید که در آن راحت‌تر فکر می‌کنید؛ هر دو روی همین پلن‌ها خوب کار می‌کنند.

مرتبط

آماده استقرار؟ با رمزارز بپرداز، بدون KYC — در حدود یک دقیقه فعال می‌شود.

← همین حالا مستقر کن

سؤالات متداول

‏Activepieces چقدر RAM لازم دارد؟

فایل docker-compose.yml پیش‌فرض اپ و پنج worker را بالا می‌آورد؛ روی سرور آزمایشی ما همراه با Postgres و Redis حدود ۲٫۶ تا ۳ گیگابایت شد. با یک worker حدود ۱٫۶ گیگابایت. پلن Small-IP (۴ گیگابایت) چیدمان پیش‌فرض را با فضای اضافه اجرا می‌کند؛ Micro-IP (۲ گیگابایت) فقط با یک worker و یک فایل swap کار می‌کند.

جریان کارم منتشر نمی‌شود و وب‌هوک ۴۰۴ می‌دهد. مشکل چیست؟

مقدار AP_FRONTEND_URL را بررسی کنید. workerها از همین آدرس به اپ وصل می‌شوند و اگر روی http://localhost:8080 مانده باشد، «localhost» داخل کانتینر worker خود worker است. نمی‌توانند وصل شوند، انتشار گیر می‌کند و وب‌هوک‌ها ۴۰۴ برمی‌گردانند. پیش از اولین اجرا دامنهٔ واقعی خود را با https:// بنویسید.

آیا به IP اختصاصی نیاز دارم؟

بله، اگر از وب‌هوک استفاده می‌کنید — که بیشتر افراد می‌کنند. سرویس‌هایی که جریان‌های کار شما را صدا می‌زنند باید به پورت‌های 80 و 443 دامنهٔ شما برسند و پلن NAT از بیرون فقط پورت SSH شما را می‌پذیرد.

آیا هر کسی می‌تواند در نمونهٔ من ثبت‌نام کند؟

فقط نفر اول. در آزمایش ما اولین ثبت‌نام انجام شد و دومی پاسخ «User is not invited to the platform» گرفت: بعد از اولین حساب، ثبت‌نام فقط با دعوت ممکن است. پس به محض بالا آمدن سایت، پیش از آنکه کس دیگری به صفحه برسد، حساب خودتان را بسازید.

آیا گام‌های کد ایزوله اجرا می‌شوند؟

به‌طور پیش‌فرض نه: چیدمان compose گام‌های کد را با AP_EXECUTION_MODE=UNSANDBOXED مستقیماً داخل worker اجرا می‌کند. تا وقتی فقط شما و افراد مورد اعتمادتان جریان کار می‌سازید، مشکلی نیست. در این چیدمان به غریبه‌ها دسترسی ویرایشگر ندهید.

نظرات

هنوز نظری نیست. اولین نفر باشید.

یک نظر بگذارید

نظرات پیش از نمایش بررسی می‌شوند.