- docker-compose.yml همه مقادیر محرمانه را با ${VAR:?} از .env میخواند — بدون .env استک بالا نمیآید
- docker-compose.prod.yml: ورودی 443 + ریدایرکت HTTP به HTTPS + گواهی Let's Encrypt و قواعد Host برای همه روترها
- healthcheck بکاند (api/health) و فرانت (wget) + سوار کردن frontend/dist در بکاند برای تزریق متا + روتر سئو (robots/sitemap/blog/projects) با اولویت 50
- سرویس mc با پروفایل tools + scripts/backup.sh (pg_dump + آینه MinIO با نگهداری ۱۴ روزه)
- .env.example ریشه + بروزرسانی READMEها
24 lines
1.1 KiB
Bash
24 lines
1.1 KiB
Bash
# کپی کنید: cp .env.example .env — و همه مقادیر change-me را عوض کنید.
|
|
# docker compose بهطور خودکار این فایل را میخواند؛ بدون آن استک بالا نمیآید.
|
|
|
|
# --- رمزهای اصلی (اجباری) ---
|
|
# تولید کلید تصادفی: python -c "import secrets; print(secrets.token_urlsafe(48))"
|
|
SECRET_KEY=change-me-to-a-long-random-string
|
|
POSTGRES_PASSWORD=change-me-db-password
|
|
MINIO_ROOT_USER=aramesh
|
|
MINIO_ROOT_PASSWORD=change-me-minio-password
|
|
ADMIN_USERNAME=admin
|
|
ADMIN_PASSWORD=change-me-admin-password
|
|
|
|
# --- اختیاری ---
|
|
# پورت ورود Traefik در توسعه (پیشفرض 5173)
|
|
TRAEFIK_HTTP_PORT=5173
|
|
# نشانی عمومی سایت برای sitemap و آدرس مطلق OG — در تولید مثل https://aramesh.example
|
|
SITE_URL=
|
|
# آدرسهای مجاز CORS (لیست JSON) — پیشفرض فقط لوکالهاست
|
|
# CORS_ORIGINS=["http://localhost:5173"]
|
|
|
|
# --- فقط برای docker-compose.prod.yml (حالت تولید با TLS) ---
|
|
# DOMAIN=aramesh.example
|
|
# ACME_EMAIL=admin@aramesh.example
|