GitHub و GitLab
ابتدا در تنظیمات حساب، GitHub یا GitLab را متصل کنید. سپس در ساخت اپلیکیشن حساب، repository و branch را انتخاب کنید؛ Token هرگز وارد مرورگر یا Build نمیشود. برای monorepo مسیر نسبی پروژه را مشخص کنید. پس از ساخت، در صفحه پروژه «فعالسازی یککلیکی» را بزنید تا پاستا Webhook امن Push را روی مخزن بسازد. اگر نقش یا دسترسی حساب کافی نباشد، URL و Secret فقط همانبار برای ثبت دستی نمایش داده میشوند. روش URL و Access Token دستی نیز برای CI یا شرایط خاص باقی مانده است.
Docker Image آماده
روش Docker Image را انتخاب و نام کامل Image و نسخه را وارد کنید؛ مثل nginx:1.27-alpine یا ghcr.io/owner/app:v1. پورت داخلی اپلیکیشن را مشخص کنید. Image عمومی از Registry دریافت و در Registry داخلی پاستا Cache میشود. دامنه، HTTPS، Health Check، پلن، دیسک و دیتابیس مانند سایر پروژهها در دسترساند. برای امنیت، Registry داخلی و آدرسهای دلخواه پشتیبانی نمیشوند؛ Image خصوصی را فعلاً از Dockerfile یا Compose بسازید.
Paasta CLI
CLI پاستا یک فایل اجرایی مستقل برای Windows، Linux و macOS است و به Node.js یا پیشنیاز دیگری نیاز ندارد. paasta login مرورگر را باز میکند و پس از تأیید حساب، ورود خودکار انجام میشود. paasta deploy پلن، شیوه پرداخت و ناحیه را تعاملی میپرسد؛ سپس سورس را بدون .git، node_modules، فایلهای env و کلیدهای خصوصی بستهبندی میکند و لاگ کامل Inspect، Build، Push و Deploy را زنده نشان میدهد. دستورهای projects، status، logs -f، env، plan، scale، start، stop، restart، volume، database، domain، topup و delete نیز در دسترساند. برای اسکریپت و CI از --yes و --json استفاده کنید.
تشخیص خودکار
برای Node.js، Next.js، Nuxt، SvelteKit، NestJS، React/Vue/Vite/Angular، Bun، Deno، FastAPI، Django، Flask، Streamlit، Gradio، Python، Laravel/PHP، Go، Java/Maven، Gradle، .NET، Rails/Ruby، Rust و سایت Static فایل ساخت تولید میشود.
Dockerfile
اگر Dockerfile دارید، همان فایل منبع حقیقت است. آخرین EXPOSE معتبر بهعنوان پورت پیشفرض خوانده میشود؛ در تنظیمات پیشرفته میتوانید آن را تغییر دهید.
Docker Compose چندسرویسی
Compose را میتوانید داخل ZIP بفرستید، از Git دریافت کنید یا مستقیماً در Compose Editor بنویسید. تا ۱۶ سرویس و ۱۰ دیسک پشتیبانی میشود. build، image، context، dockerfile، build args، ports، environment، env_file، command، entrypoint، healthcheck، configs و volume خوانده میشوند. فایلهای config به ConfigMap امن و مسیرهای داده نسبی به دیسک مدیریتشده تبدیل میشوند. PostgreSQL، MySQL، MongoDB و Redis شناساییشده به دیتابیس مدیریتشده پاستا تبدیل میشوند؛ پیش از پرداخت میتوانید نسخه، پلن CPU/RAM، نوع و حجم دیسک و پرداخت ماهانه یا ساعتی هر دیتابیس را جداگانه انتخاب کنید. آدرس و رمز اتصال خودکار در سرویسهای وابسته قرار میگیرد و اسکریپتهای اولیه دیتابیس نیز حفظ میشوند. همه کانتینرهای اپ یک بودجه مشترک CPU و RAM دارند؛ host path مطلق، privileged، host network، device و external volume به دلایل امنیتی پذیرفته نمیشوند.
اپ آماده n8n
از کاتالوگ، n8n را انتخاب کنید. نسخه رسمی ثابت، تنظیم دامنه و webhook، منطقه زمانی تهران و دیسک پایدار ۱GiB خودکار اعمال میشود. برای راهاندازی پایدار حداقل ۱GiB RAM لازم است و این الگو بهدلیل SQLite و دیسک RWO تکنمونه است.
کاتالوگ اپهای آماده
شروع سریع، WordPress، n8n، Uptime Kuma، Rocket.Chat و GitLab CE از مسیر «اپهای آماده» قابل نصباند. پیش از پرداخت، پاستا حداقل RAM، دیسک، دیتابیس و هزینه را نشان میدهد و منابع لازم را خودکار انتخاب میکند. Rocket.Chat همراه MongoDB تکگرهای Replica Set داخل همان اپ نصب میشود. GitLab CE یک نصب تکنودی آزمایشی برای تیم کوچک است، حداقل ۴GiB RAM و ۲۰GiB دیسک میخواهد و Runner آن باید جداگانه اضافه شود. رمز اولیه root در متغیر محیطی GITLAB_ROOT_PASSWORD ساخته میشود و قبل از استقرار قابل تغییر است.
پورت و فرمان اجرا
پورت از manifest، Dockerfile یا پیشفرض استک تشخیص داده میشود. فقط اگر تشخیص صحیح نیست مقدار Port یا Start Command را در تنظیمات پیشرفته وارد کنید؛ برنامه باید روی 0.0.0.0 گوش دهد.
فرمان پیش از انتشار
برای کارهایی مثل migration دیتابیس، فرمان را در «تنظیمات پیشرفته» وارد کنید. پاستا آن را با Image و متغیرهای محیطی همان نسخه، پیش از جابهجایی ترافیک اجرا میکند. اگر فرمان ناموفق باشد نسخه جدید منتشر نمیشود و نسخه فعال قبلی بدون قطعی باقی میماند؛ خروجی کامل فرمان در لاگ همان استقرار قابل مشاهده است.
کش و سرعت Build
Imageهای پایه ابتدا از pull-through cache داخلی پاستا خوانده میشوند؛ cache در صورت نبود Image آن را از mirror داخل ایران دریافت و برای Buildهای بعدی نگهداری میکند. لایه وابستگیهای هر پروژه نیز جداگانه در Registry ذخیره میشود. lockfile را همراه پروژه بفرستید تا نصب وابستگی تکرارپذیر باشد.