Files
chat_room/README.md
T

34 lines
2.0 KiB
Markdown
Raw Normal View History

# دلدل (dating-app)
پوشه‌ی مادر پروژه؛ همه‌ی بخش‌ها به‌صورت ریپوی گیت جدا زیر همین پوشه‌ان:
```
dating-app/
├── backend/ بک‌اند Go (ریپوی گیت جدا)
├── admin/ پنل ادمین Next.js (ریپوی گیت جدا)
├── web/ وب‌اپ Next.js (ریپوی گیت جدا)
├── twa/ پروژه‌ی اندروید TWA (بدون گیت)
├── docker-compose.yml
└── .env.example
```
## اجرا روی سرور
```bash
cp .env.example .env # مقادیر رو با دامنه/رمزهای واقعی پر کن
docker compose up -d --build
```
این کار ۴ کانتینر بالا می‌آره: `postgres`, `backend`, `web`, `admin`.
کامپوز هیچ وب‌سروری بالا نمی‌آره؛ ریورس‌پروکسی و ساب‌دامین‌ها با nginx خودت روی هاست ست می‌شن. چون کانتینر nginx روی همون شبکه‌ی داکری این کامپوز نشسته، می‌تونه مستقیم با نام کانتینر بهشون proxy_pass بده (به‌جای پورت هاست):
| دامنه | proxy_pass به |
|---|---|
| `brainito.ir` | `http://dating-app-backend-1:8080` |
| `app.brainito.ir` | `http://dating-app-web-1:3000` |
| `panel.brainito.ir` | `http://dating-app-admin-1:3000` |
(نام کانتینرها بر اساس `name: dating-app` توی کامپوز و پیشوند سرویس ساخته می‌شن؛ اگه پروژه رو با نام دیگه‌ای بالا بیاری این نام‌ها عوض می‌شن.)
سکرت‌های اختصاصی بک‌اند (JWT، DB و...) توی `backend/.env` می‌مونن و از اونجا با `env_file` به سرویس `backend` پاس داده می‌شن؛ `.env` ریشه فقط برای متغیرهای مشترک کامپوز (پورت‌ها، اطلاعات پستگرس، آدرس عمومی API) استفاده می‌شه.