112b1968094166a046da862bfa29163353f21548
دلدل (dating-app)
پوشهی مادر پروژه؛ همهی بخشها بهصورت ریپوی گیت جدا زیر همین پوشهان:
dating-app/
├── backend/ بکاند Go (ریپوی گیت جدا)
├── admin/ پنل ادمین Next.js (ریپوی گیت جدا)
├── web/ وباپ Next.js (ریپوی گیت جدا)
├── twa/ پروژهی اندروید TWA (بدون گیت)
├── docker-compose.yml
└── .env.example
اجرا روی سرور
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) استفاده میشه.
Description
Languages
TypeScript
60.3%
Go
35.8%
CSS
2.3%
JavaScript
0.7%
Java
0.5%
Other
0.4%