
پیش از شروع
- این راهنما را با یک پروژه آزمایشی یا منبعی که مجاز به تغییر آن هستید دنبال کنید.
- هزینه و اثر حذف یا جایگزینی داده در مرحله تأیید نهایی دوباره نمایش داده میشود.
- پس از هر تغییر، نتیجه مورد انتظار همان مرحله را در وضعیت پروژه، رخدادها یا گزارش فعالیت بررسی کنید.
GitHub و GitLab
ابتدا در تنظیمات حساب، GitHub یا GitLab را متصل کنید. سپس در ساخت اپلیکیشن حساب، repository و branch را انتخاب کنید؛ Token هرگز وارد مرورگر یا Build نمیشود. برای پروژهای که با آپلود دستی ساخته شده، از «نسخه جدید» منبع Git را انتخاب کنید؛ برای بازگشت از Git به فایل نیز همانجا آپلود دستی را بزنید. در هر دو جهت دامنه، پلن، دیسک، دیتابیس و تنظیمات پروژه حفظ میشوند. پس از ساخت، در صفحه پروژه «فعالسازی یککلیکی» را بزنید تا پاستا Webhook امن Push را روی مخزن بسازد.
Docker Image آماده
هر شش روش ساخت در ابتدای فرم کنار هم دیده میشوند. برای Docker Image میتوانید نام تقریبی را در Docker Hub جستوجو و یک نتیجه عمومی را انتخاب کنید، یا نام کامل 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 دارید، همان فایل منبع حقیقت است. پورت صریح فرمان اجرا، سپس PORT و بعد 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 دارند. network_mode با مقدار bridge یا default با یک هشدار به شبکه ایزوله پاستا تبدیل میشود؛ host path مطلق، privileged، host network، device و external volume به دلایل امنیتی پذیرفته نمیشوند.
اپ آماده n8n و Hermes Agent تلگرامی
برای n8n، نسخه رسمی ثابت، تنظیم دامنه و webhook، منطقه زمانی تهران و دیسک پایدار ۱GiB خودکار اعمال میشود. برای Hermes Agent، توکن و شناسه تلگرام، مدل شروع و سقف روزانه را انتخاب میکنید و پاستا کلید مخصوص پروژه، بات خصوصی و فضای پایدار حافظه و مهارتها را میسازد. پاسخ مدل برای کلید خودکار Hermes ابتدا کامل دریافت و سپس با قرارداد سازگار تحویل میشود تا قطع استریم، پاسخ ابزارمحور را نیمهکاره نگذارد. Client ID رسمی Hermes Remote اختیاری است و میتوانید آن را هنگام ساخت یا بعداً در متغیرهای محیطی پروژه اضافه کنید؛ تا آن زمان فقط بات تلگرام فعال میماند. هر دو اپ برای اجرای پایدار حداقل ۱GiB RAM میخواهند و تکنمونهاند.
اپهای آماده مرحله اول
Gitea، changedetection.io، Directus، Metabase و Umami از کاتالوگ اپهای آماده قابل نصباند. Gitea، Directus، Metabase و Umami بهجای کانتینر دیتابیس داخل پروژه، PostgreSQL مدیریتشده خصوصی دریافت میکنند؛ پاستا Host، نام دیتابیس، کاربر و رمز را خودکار و فقط از طریق Secret به اپ میدهد. داده Gitea، فایلهای Directus و تنظیمات changedetection.io نیز روی دیسک پایدار نگهداری میشوند. برای Directus باید پیش از استقرار ایمیل و رمز مدیر حداقل ۱۲ نویسهای وارد کنید. در Gitea نسخه نخست دسترسی Git روی HTTPS دارد و SSH غیرفعال است. پس از اولین ورود Umami رمز پیشفرض مدیر را فوراً تغییر دهید.
اپهای آماده جدید
Vaultwarden و Nextcloud پس از قبولی سلامت عمومی، PostgreSQL خصوصی، دیسک پایدار و پاکسازی منابع در ماتریس پروداکشن با وضعیت آماده ارائه میشوند. Mattermost و Odoo هنوز در مرحله Beta هستند و Matomo نیز آماده استقرار پایدار است. Jitsi برای تماس پایدار یک IP عمومی UDP اختصاصی دارد که هزینه ثابت آن ۴۰۰٬۰۰۰ تومان در ماه، جدا از منابع سرویس و حتی در حالت PAYG، پیش از پرداخت نمایش داده میشود. Sentry و Madmail تا آمادهشدن پروفایل منابع چندسرویسی و شبکه TCP ایمیل فقط با وضعیت نیازمند زیرساخت نمایش داده میشوند و API اجازه استقرار ناقص آنها را نمیدهد.
کاتالوگ اپهای آماده
شروع سریع، 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 به Runtime اعلام میشود. اگر برنامه در لاگ فقط یک پورت متفاوت و روشن اعلام کند، پاستا پیش از timeout تنظیم Service و Health Check را یکبار اصلاح میکند. در موارد دیگر مقدار Port یا Start Command را در تنظیمات پیشرفته وارد کنید؛ برنامه باید روی 0.0.0.0 گوش دهد.
فرمان پیش از انتشار
برای کارهایی مثل migration دیتابیس، فرمان را در «تنظیمات پیشرفته» وارد کنید. پاستا آن را با Image و متغیرهای محیطی همان نسخه، پیش از جابهجایی ترافیک اجرا میکند. اگر فرمان ناموفق باشد نسخه جدید منتشر نمیشود و نسخه فعال قبلی بدون قطعی باقی میماند؛ خروجی کامل فرمان در لاگ همان استقرار قابل مشاهده است.
کش و سرعت Build
Imageهای پایه ابتدا از pull-through cache داخلی پاستا خوانده میشوند؛ cache در صورت نبود Image آن را از mirror داخل ایران دریافت و برای Buildهای بعدی نگهداری میکند. میرورهای پاستا داخل ایران مستقیم استفاده میشوند و فقط مبداهای خارجی از مسیر خروجی مناسب عبور میکنند. لایه وابستگیهای هر پروژه نیز جداگانه در Registry ذخیره میشود. lockfile را همراه پروژه بفرستید تا نصب وابستگی تکرارپذیر باشد.