From 1fb5d57da11bd59f6fcdb34efcf6abb63654406d Mon Sep 17 00:00:00 2001 From: MMD Date: Sat, 12 Sep 2026 10:52:34 +0330 Subject: [PATCH] =?UTF-8?q?=D9=85=D8=B3=D8=AA=D9=86=D8=AF=D8=A7=D8=AA:=20?= =?UTF-8?q?=D8=B1=D8=A7=D9=87=E2=80=8C=D8=A7=D9=86=D8=AF=D8=A7=D8=B2=DB=8C?= =?UTF-8?q?=20=D8=B1=D9=88=D8=B4=D9=86=20=D8=A8=D8=B1=D8=A7=DB=8C=20=D8=AA?= =?UTF-8?q?=D8=A7=D8=B2=D9=87=E2=80=8C=D9=88=D8=A7=D8=B1=D8=AF=D9=87=D8=A7?= =?UTF-8?q?=20=D8=AF=D8=B1=20README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - مرحله npm run build فرانت‌اند (لازم برای اولین اجرا) اضافه شد - اشاره به seed شدن خودکار تصاویر از seed-media در بیلد تازه - یادآوری اینکه هیچ فایل رمزدار در گیت نیست و فقط .env.example کپی شود --- README.md | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0a77754..7c24c5e 100644 --- a/README.md +++ b/README.md @@ -40,18 +40,28 @@ Traefik (پورت ۵۱۷۳ — تنها نقطه ورود) ## اجرا با Docker (ساده‌ترین راه) +پیش‌نیاز: Docker Desktop. بیلد فرانت‌اند روی هاست انجام می‌شود (کانتینر فقط فایل‌های +`dist/` را سرو می‌کند)، پس اولین بار باید یک‌بار `npm run build` بزنید: + ```bash -cp .env.example .env # مقادیر change-me را عوض کنید — بدون .env استک بالا نمی‌آید -docker compose up --build +cp .env.example .env # مقادیر change-me را عوض کنید — بدون .env استک بالا نمی‌آید +cd frontend && npm install && npm run build && cd .. +docker compose up -d --build ``` -- سایت: http://localhost:5173 (از طریق Traefik) +سایت: http://localhost:5173 — ورود مدیریت: `/admin/login` (کاربر/رمز از `ADMIN_*` در `.env`) + - مستندات API: http://localhost:8001/docs (با `docker-compose.override.yml` محلی) -- کنسول MinIO: http://localhost:9001 — کاربر/رمز از متغیرهای `MINIO_ROOT_*` در compose +- کنسول MinIO: http://localhost:9001 — کاربر/رمز از متغیرهای `MINIO_ROOT_*` در `.env` - دیتابیس PostgreSQL و آبجکت‌استور MinIO هر دو در کانتینر جدا با volume دائمی - بک‌اند هنگام شروع، خودش جداول را می‌سازد و **فقط جدول‌های خالی** را seed می‌کند — ارتقای نسخه داده‌های فعلی را از بین نمی‌برد -- در اولین اجرا، سرویس `minio-setup` باکت `aramesh-media` را می‌سازد و خواندن عمومی را فعال می‌کند +- در اولین اجرا، سرویس `minio-setup` باکت `aramesh-media` را می‌سازد، خواندن عمومی را + فعال می‌کند و تصاویر داخل `seed-media/` را در باکت می‌ریزد — پس یک کلون تازه هم + همان تصاویر سایت را دارد + +> نکته برای تازه‌واردها: هیچ فایل رمزدار در گیت نیست. فقط `.env.example` را کپی کنید؛ +> فایل‌های `.env`/`env` در `.gitignore` هستند و هرگز commit نشوند. ## انتشار واقعی (TLS)