# چطور پروژه پایتون را روی گردو دیپلوی کنیم؟

> پاسخ کوتاه: مخزن Git را به PaaS گردو متصل کنید یا در پوشه پروژه `gerdoo deploy` را اجرا کنید. گردو وابستگی‌ها را نصب می‌کند، برنامه را در کانتینر ایزوله اجرا می‌کند و دامنه موقت و SSL می‌دهد.

آخرین بازبینی: ۱۴۰۵/۰۶/۱۵

## پیش‌نیازها

- وابستگی‌ها را در `requirements.txt` یا `pyproject.toml` ثبت کنید.
- برنامه باید روی `0.0.0.0` و متغیر `PORT` گوش دهد.
- secretها و اطلاعات اتصال را از متغیر محیطی بخوانید.

```bash
# FastAPI
uvicorn main:app --host 0.0.0.0 --port $PORT

# Django
gunicorn config.wsgi:application --bind 0.0.0.0:$PORT
```

## استقرار از Git

1. در پنل گردو پروژه و محیط بسازید.
2. سرویس جدید ایجاد و مخزن GitHub یا GitLab و شاخه را انتخاب کنید.
3. فیلد «دستور اجرا» و در صورت نیاز «دستور ساخت» را ثبت کنید.
4. مقادیری مثل `SECRET_KEY` و `DATABASE_URL` را در بخش «متغیرها» وارد کنید.
5. استقرار را اجرا و بعد از بررسی سلامت، دامنه را در بخش «دامنه‌ها» متصل کنید.

## استقرار با Gerdoo CLI

```bash
curl -fsSL https://get.gerdoo.cloud/install.sh | sh
gerdoo login
cd my-python-project
gerdoo deploy
```

اولین deploy سرویس را ایجاد و پوشه را به آن متصل می‌کند. وضعیت و لاگ‌ها با `gerdoo status` و `gerdoo logs` در دسترس‌اند.

## داده و محیط عملیاتی

- PostgreSQL، MySQL یا Redis را از بخش «افزونه‌ها» به پروژه متصل کنید.
- فایل‌های رسانه‌ای را در بخش «ذخیره‌سازی» روی فضای ماندگار یا MinIO قرار دهید.
- migration و `collectstatic` را در «دستور ساخت» کنترل کنید.
- برای خطای شروع، در بخش «استقرارها» لاگ ساخت و در بخش «لاگ‌ها» خروجی زنده اجرا را بررسی کنید؛ «دستور اجرا» و `PORT` را هم کنترل کنید.

## منابع مرتبط

- [هاست ابری پایتون](https://gerdoo.cloud/products/python)
- [سکوی ابری گردو](https://gerdoo.cloud/products/paas)
- [مستندات PaaS](https://gerdoo.cloud/support/docs/paas)
- [Gerdoo Agents](https://gerdoo.cloud/products/agents)
