مستنداتPaasta Docsورود به کنسول
Paasta CLI

استقرار از ترمینال، بدون پیش‌نیاز

راهنمای قدم‌به‌قدم نصب، ورود، انتشار پروژه و اتوماسیون؛ مناسب کاربری که فقط می‌خواهد اپ ساخته‌شده را آنلاین کند.

۰۱

شروع سریع

سه دستور تا اولین استقرار

۱

CLI را نصب کنید

Linux و macOS:

curl -fsSL https://console.paasta.cloud/install.sh | sh

Windows PowerShell:

irm https://console.paasta.cloud/install.ps1 | iex
برای root مسیر /usr/local/bin/paasta استفاده می‌شود. در Windows، PATH همان لحظه و برای ترمینال‌های بعدی تنظیم می‌شود.
۲

وارد حساب شوید

paasta login

مرورگر باز می‌شود. اگر باز نشد، URL کامل نمایش‌داده‌شده را کپی کنید؛ کد تأیید از قبل داخل لینک است.

۳

پروژه را منتشر کنید

cd YOUR_PROJECT
paasta deploy

نام، پلن، شیوه پرداخت و ناحیه به‌صورت مرحله‌ای پرسیده می‌شود؛ سپس لاگ Build تا آماده‌شدن دامنه نمایش داده می‌شود.

۰۲

ورود امن

مرورگر برای انسان، API Key برای اتوماسیون

ورود با مرورگر

دستور زیر یک درخواست ده‌دقیقه‌ای می‌سازد. CLI هم مرورگر را باز می‌کند و هم URL کامل را نشان می‌دهد:

paasta login

Copy and open this complete link:
https://console.paasta.cloud/cli/authorize?code=ABCD-2345
  1. لینک را باز کنید.
  2. اگر وارد حساب نیستید، وارد یا ثبت‌نام کنید.
  3. «تأیید و اتصال CLI» را بزنید.
  4. ترمینال خودکار ورود موفق را اعلام می‌کند.

ورود با API Key

برای GitHub Actions، GitLab CI، سرور Build یا هر محیط بدون مرورگر:

paasta login --api-key paasta_YOUR_TOKEN

روش پیشنهادی برای جلوگیری از ثبت Token در history:

export PAASTA_API_KEY='paasta_YOUR_TOKEN'
paasta login --api-key

CLI ابتدا Key را با API اعتبارسنجی و فقط در صورت معتبر بودن با دسترسی فایل 0600 ذخیره می‌کند.

ساخت و مدیریت API Token ←
۰۳

روش‌های استقرار

سورس، Dockerfile، Compose، Image یا Git

پوشه فعلی

paasta deploy

فریم‌ورک، Dockerfile یا compose.yaml خودکار تشخیص داده می‌شود.

پوشه دیگر

paasta deploy ./my-project --name my-app

نام پروژه فقط حروف انگلیسی، عدد و خط تیره دارد.

Docker Image

paasta deploy --image nginx:1.27-alpine --name web --port 80

Image عمومی در Registry پاستا Cache می‌شود.

Git repository

paasta deploy --git https://github.com/acme/app.git --name app --ref main

برای monorepo از --root apps/web استفاده کنید.

استقرار غیرتعاملی

مناسب CI/CD؛ شناسه پلن و ناحیه را با paasta context --json یا paasta plan list پیدا کنید.

paasta deploy . \
  --name my-app \
  --plan PLAN_ID \
  --region CLUSTER_ID \
  --billing payg \
  --yes
AI

اتصال Claude Code، Codex و Cursor

همان CLI، به‌عنوان پل امن MCP

راه‌اندازی پیشنهادی

cd YOUR_PROJECT
paasta setup agent

تنظیمات MCP و Skill راهنمای پاستا به پروژه اضافه می‌شود؛ سایر Serverهای موجود حفظ می‌شوند و Token در فایل پروژه قرار نمی‌گیرد. Agent را Reload کنید و بنویسید «این پروژه را روی پاستا دیپلوی کن».

تنظیم یک ابزار مشخص

paasta setup agent --agent claude-code
paasta setup agent --agent codex
paasta setup agent --agent cursor

فرمان paasta mcp به‌صورت خودکار توسط Agent اجرا می‌شود و از نشست ذخیره‌شده CLI استفاده می‌کند.

۰۴

مرجع دستورها

عملیات روزمره پروژه از یک نقطه

paasta whoamiنمایش حساب، فضای کاری و موجودی
paasta projectsفهرست پروژه‌ها، وضعیت و دامنه
paasta status NAMEجزئیات یک پروژه
paasta git NAME --jsonمخزن، Branch، ریشه پروژه و وضعیت Auto Deploy بدون نمایش Secret
paasta git connections --jsonاتصال‌های GitHub و GitLab موجود برای حساب فعال
paasta git repositories CONNECTION_ID --jsonمخزن‌های عمومی و خصوصی قابل دسترس از اتصال انتخاب‌شده
paasta git branches CONNECTION_ID REPOSITORY --jsonBranchهای یک مخزن بدون دریافت یا نمایش Token
paasta git auto-deploy NAME --enabled true|false --yesفعال یا غیرفعال‌کردن استقرار خودکار با تأیید صریح
paasta team --jsonفهرست اعضا، دعوت‌های در انتظار و شناسه پروژه‌های فضای کاری
paasta team invite EMAIL --role developer --projects ID,ID --yesدعوت عضو با نقش و دسترسی پروژه‌های مشخص
paasta team member update USER_ID --role viewer --projects ID,ID --yesتغییر نقش و دسترسی پروژه‌های عضو
paasta team member remove USER_ID --yesحذف عضو با تأیید صریح
paasta team invitation cancel ID --yesلغو دعوت در انتظار
paasta deployments NAME --jsonفهرست ۳۰ استقرار اخیر و نسخه فعال Production
paasta deployment status|logs BUILD_IDوضعیت و لاگ Build مشخص
paasta deployment retry BUILD_ID --yesتلاش مجدد نسخه ناموفق با ورودی معتبر قبلی
paasta deployment rollback NAME --build BUILD_ID --yesفعال‌کردن نسخه موفق قبلی در Production
paasta previews NAME --jsonفهرست محیط‌های موقت پروژه
paasta preview create NAME SLUG --hours 24 --yesساخت محیط موقت از آخرین نسخه موفق
paasta preview promote|delete NAME ID --yesانتشار Preview در Production یا حذف آن
paasta processes NAME --jsonفهرست Worker، Cron و Jobهای پروژه
paasta process create NAME --type worker|cron|job ... --yesساخت فرایند پس از نمایش هزینه پلن
paasta process update NAME ID --status active|paused --yesویرایش وضعیت، فرمان یا زمان‌بندی
paasta process start|stop NAME ID --yesفعال‌کردن یا توقف فرایند
paasta process run NAME ID --yesاجرای یک Job فعال و دریافت شناسه اجرا
paasta process logs NAME ID --jsonدریافت آخرین لاگ و وضعیت اجرا
paasta process delete NAME ID --yesحذف فرایند و بازگشت اعتبار ماهانه استفاده‌نشده
paasta availability NAME --jsonمشاهده Autoscaling، HA، بازه نمونه و قیمت پلن
paasta availability set NAME --autoscaling true --min 2 --max 3 --cpu 70 --ha true --yesتنظیم مقیاس و دسترس‌پذیری پس از نمایش هزینه ظرفیت
paasta alerts NAME --jsonفهرست قواعد هشدار CPU و حافظه پروژه
paasta alert set NAME --service app --metric cpu --threshold 80 --duration 10 --severity warning --yesساخت یا به‌روزرسانی هشدار منابع با تأیید صریح
paasta alert delete NAME --id ID --yesحذف قاعده هشدار و رفع هشدار فعال وابسته
paasta monitor NAME --jsonوضعیت Uptime، آخرین پاسخ، دسترس‌پذیری ۲۴ ساعت و بررسی‌های اخیر
paasta monitor set NAME --enabled true --path /health --failures 3 --yesتنظیم مسیر سلامت و تعداد خطاهای متوالی پیش از هشدار
paasta logs NAME -fدنبال‌کردن زنده لاگ اجرا
paasta env NAME listفهرست کلیدهای محیطی با مقدار مخفی
paasta env NAME set KEY=VALUEافزودن یا تغییر متغیر محیطی
paasta plan listمشاهده شناسه و قیمت پلن‌ها
paasta plan set NAME PLAN_IDتغییر پلن پروژه
paasta scale NAME 2تغییر تعداد نمونه‌های اجرا
paasta start|stop|restart NAMEکنترل اجرای پروژه
paasta volumesفهرست دیسک‌های پایدار
paasta volume resize ID SIZEافزایش امن ظرفیت دیسک به گیگابایت
paasta volume backup|snapshot IDساخت بکاپ مستقل یا Snapshot بومی
paasta volume files ID --path /فهرست فایل‌ها و پوشه‌های دیسک
paasta volume file download ID /remote/file --output FILEدانلود اتمیک بدون جایگزینی ناخواسته فایل محلی
paasta volume file upload ID FILE --path /remote/file --yesآپلود ادامه‌پذیر فایل بدون سقف ثابت و با مسیر امن
paasta volume file mkdir|rename|delete ... --yesساخت پوشه، تغییرنام یا حذف با تأیید صریح
paasta backups --jsonفهرست یکپارچه بکاپ‌ها و Snapshotها
paasta backup download ID --output FILEدانلود جریانی بکاپ بدون جایگزینی ناخواسته فایل
paasta backup|snapshot restore ID --yesبازیابی صریح پس از توقف پروژه
paasta backup|snapshot delete ID --yesحذف صریح نسخه محافظتی
paasta databasesفهرست دیتابیس‌ها
paasta database access ID --jsonفهرست Credentialها، اتصال‌ها و پروژه‌های مجاز بدون نمایش رمز
paasta database credential create ID --database NAME --username NAME --yesساخت دیتابیس منطقی و کاربر با رمز خودکار و پنهان
paasta database credential reveal ID CREDENTIAL_ID --show-secretنمایش صریح مشخصات اتصال همراه ثبت در گزارش فعالیت
paasta database credential rotate|delete ID CREDENTIAL_ID --yesتعویض رمز یا حذف دسترسی با تأیید صریح
paasta database connection create ID CREDENTIAL_ID --project PROJECT_ID --yesتزریق اتصال امن به پروژه همان ناحیه
paasta database connection delete ID CONNECTION_ID --yesقطع اتصال پروژه بدون نمایش یا کپی رمز
paasta database backups ID --jsonفهرست بکاپ‌ها و وضعیت آزمون یا بازیابی
paasta database backup download DB_ID BACKUP_ID --output FILEدانلود امن و جریانی بکاپ دیتابیس
paasta database backup verify DB_ID BACKUP_IDاجرای آزمون واقعی صحت بکاپ
paasta database backup restore|delete DB_ID BACKUP_ID --yesبازیابی یا حذف بکاپ با تأیید صریح
paasta database policy ID --schedule daily --retention 7تنظیم برنامه و تعداد نسخه‌های نگه‌داری
paasta database pitr enable|disable ID --yesکنترل صریح بازیابی نقطه‌ای PostgreSQL
paasta database recover ID --at RFC3339 --yesبازیابی PostgreSQL تا زمان مشخص
paasta notifications --jsonکانال‌ها، مسیر هشدارها و ۵۰ تحویل اخیر
paasta notification preference set uptime --email false --sms false --yesتنظیم مستقل ایمیل و پیامک هر نوع هشدار
paasta notification channel create --name NAME --kind email --destination EMAIL --yesساخت کانال ایمیل یا پیامک
paasta notification channel create --name NAME --kind webhook --url URL --secret-file FILE --yesساخت Webhook بدون قرارگرفتن signing secret در history شل
paasta notification channel enable|disable|test|delete ID --yesکنترل، آزمون یا حذف کانال با تأیید صریح
paasta support tickets --jsonفهرست تیکت‌های خصوصی همان فضای کاری
paasta support ticket NUMBER --jsonجزئیات تیکت با همان شماره‌ای که در فهرست می‌بینید و تمام پاسخ‌ها بدون نمایش ایمیل فرستندگان
paasta support create --subject TEXT --body-file FILE --attachment FILE --yesساخت تیکت با خواندن متن خصوصی از فایل و پیوست حداکثر ۵ مگابایت
paasta support reply NUMBER --body-file FILE --attachment FILE --yesارسال پاسخ و پیوست بدون قرارگرفتن متن در history شل
paasta support close NUMBER --yesبستن تیکت با تأیید صریح
paasta support attachment TICKET_ID MESSAGE_ID --output FILEدانلود اتمیک پیوست بدون جایگزینی ناخواسته فایل محلی
paasta cdn sites|plans --jsonفهرست دامنه‌های CDN، مصرف، پلن‌ها و قیمت ماهانه
paasta cdn site ID --jsonجزئیات زنده DNS، مبدا، سلامت و فایروال یک دامنه
paasta cdn scan DOMAIN --jsonاسکن محدودشده رکوردهای عمومی پیش از انتقال DNS
paasta cdn create DOMAIN --origin HOST --plan ID --yesساخت CDN پس از نمایش هزینه ماهانه و تأیید صریح
paasta cdn cancel|renew|delete ID --yesلغو پایان دوره، فعال‌سازی تمدید یا حذف فوری بدون بازپرداخت
paasta cdn plan ID --plan PLAN_ID --yesارتقای پلن پس از نمایش حداکثر هزینه فوری
paasta cdn records ID --jsonفهرست رکوردهای DNS دامنه
paasta cdn record add|update|delete ID ... --yesمدیریت رکورد DNS با اعتبارسنجی نوع، TTL و عبور از CDN
paasta cdn origin IDمشاهده سرورهای مبدا و Health Check
paasta cdn origin set ID --file origin.json --yesثبت تنظیمات مبدا از فایل JSON محدودشده
paasta cdn purge ID --paths /,/assets/* --yesپاک‌سازی مسیرهای کش از سهمیه ماهانه
paasta cdn feature ID --name tls --enabled true --yesکنترل TLS، WAF یا حالت توسعه طبق قابلیت پلن
paasta cdn firewall ID --jsonفهرست قوانین فایروال و ترتیب اجرای آن‌ها
paasta cdn firewall add|update ID --file rule.json --yesساخت یا ویرایش قانون از فایل JSON محدودشده
paasta cdn firewall toggle|move|delete ID ... --yesکنترل وضعیت، اولویت یا حذف قانون با تأیید صریح
paasta domains --jsonفهرست دامنه‌های ثبت‌شده، انقضا و آخرین سفارش فضای کاری
paasta domains NAMEفهرست دامنه‌های متصل به پروژه
paasta domain quote example.com --operation register --years 1استعلام موجودبودن و قیمت قطعی پیش از سفارش
paasta domain register example.com --years 1 --operation-key UUID --yesثبت دامنه با کلید عملیات قابل تکرار بدون شارژ دوباره
paasta domain transfer example.com --auth-code-file FILE --operation-key UUID --yesانتقال دامنه بدون ثبت کد انتقال در history ترمینال
paasta domain renew|restore DOMAIN_ID --years 1 --operation-key UUID --yesتمدید یا بازیابی دامنه پس از نمایش هزینه
paasta domain nameservers DOMAIN_ID --set NS1,NS2 --yesتغییر Nameserver و بررسی نتیجه در سرویس ثبت
paasta domain auto-renew|transfer-lock DOMAIN_ID ... --yesکنترل تمدید خودکار یا قفل انتقال
paasta domain transfer-code DOMAIN_ID --show-secret --yesدریافت صریح کد انتقال با خروجی بدون cache
paasta topup AMOUNTبازکردن پرداخت افزایش اعتبار
paasta updateبررسی، دانلود امن و نصب آخرین نسخه CLI
paasta api METHOD /api/PATHدسترسی مستقیم به عملیات API دارای scope
paasta delete NAME --yesحذف کامل پروژه با تأیید صریح

گزینه‌های لاگ

paasta logs my-app --tail 500 --since 7200
paasta logs my-app --follow

--tail تعداد خطوط و --since بازه زمانی برحسب ثانیه است. -f معادل --follow است.

خروجی مناسب اسکریپت

paasta projects --json
paasta deployments my-app --json
paasta processes my-app --json

--json برای پردازش در ابزارهایی مثل jq مناسب است.

به‌روزرسانی CLI

paasta update

از نسخه ۰.۲۰.۱ به بعد، جایگزینی فایل در Windows تا آزادشدن executable دوباره تلاش می‌شود. اگر هنوز نسخه ۰.۲۰.۰ دارید، یک بار irm https://console.paasta.cloud/install.ps1 | iex را در PowerShell اجرا و ترمینال را دوباره باز کنید. باینری پیش از نصب با SHA-256 بررسی می‌شود.

پوشش کامل API

paasta api GET /api/projects
paasta api PATCH /api/volumes/VOLUME_ID --data '{"size_gb":20}'

تا زمانی که برای یک قابلیت دستور اختصاصی اضافه شود، این فرمان همه endpointهای مجاز با scope توکن را در دسترس قرار می‌دهد.

۰۵

CI/CD

Deploy امن و بدون مرورگر

GitHub Actions

- name: Deploy to Paasta
  env:
    PAASTA_API_KEY: ${{ secrets.PAASTA_API_KEY }}
  run: |
    curl -fsSL https://console.paasta.cloud/install.sh | sh
    paasta login --api-key
    paasta deploy . --name my-app --plan $PAASTA_PLAN_ID --region $PAASTA_REGION_ID --billing payg --yes

GitLab CI

deploy:
  stage: deploy
  script:
    - curl -fsSL https://console.paasta.cloud/install.sh | sh
    - paasta login --api-key
    - paasta deploy . --name my-app --plan $PAASTA_PLAN_ID --region $PAASTA_REGION_ID --billing payg --yes
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
۰۶

رفع اشکال سریع

پیام‌های رایج و راه‌حل مستقیم

paasta: command not found

در نصب root فایل باید در /usr/local/bin/paasta باشد. برای نصب محلی، ترمینال تازه باز کنید یا مسیر کاملی که نصب‌کننده در خط «Run now» نشان داده اجرا کنید.

مرورگر باز نشد

URL کامل /cli/authorize?code=... را از ترمینال کپی و در هر مرورگری باز کنید. کد جداگانه هم برای بررسی نمایش داده می‌شود.

API Key پذیرفته نشد

انقضا، لغوشدن Token و scopeها را در API Token بررسی کنید. برای Deploy دسترسی deployments:write لازم است.

Build شکست خورد

با paasta deployment logs BUILD_ID لاگ همان Build و با paasta logs PROJECT لاگ Runtime را بررسی کنید. اگر ورودی قبلی هنوز معتبر است، paasta deployment retry BUILD_ID --yes تلاش تازه‌ای می‌سازد و شناسه قابل پیگیری را برمی‌گرداند.