أوامر البنية التحتية
تدير أوامر البنية التحتية شهادات SSL وإدخالات DNS المحلية وحاويات Docker. تضمن هذه الأدوات أن بيئة التطوير المحلية تُطابق الإنتاج قدر الإمكان.
أوامر SSL
يستخدم FORGE mkcert لتوليد شهادات SSL موثوقة محلياً، مما يُمكّن HTTPS أثناء التطوير بدون تحذيرات المتصفح.
forge ssl:install
تثبيت mkcert وسلطة الشهادات المحلية (CA) الخاصة به.
forge ssl:installيُثبّت هذا الأمر mkcert عبر Homebrew (macOS) أو Chocolatey (Windows) أو مدير الحزم الخاص بنظامك (Linux)، ثم يُشغّل mkcert -install لتسجيل CA المحلية في مخزن الثقة الخاص بك.
نصيحة
تحتاج لتشغيل ssl:install مرة واحدة فقط لكل جهاز. سيُذكّرك FORGE إذا كان mkcert مفقوداً عند تشغيل forge new.
forge ssl:generate
توليد شهادات SSL لنطاق واحد أو أكثر.
forge ssl:generate [OPTIONS]| الخيار | النوع | الافتراضي | الوصف |
|---|---|---|---|
--domains | string | نطاقات المشروع | قائمة نطاقات مفصولة بفواصل لتضمينها في الشهادة. |
مثال
forge ssl:generate --domains="myapp.local,api.myapp.local,admin.myapp.local"تُوضع الملفات المُولّدة في مجلد certs/ الخاص بالمشروع:
certs/
myapp.local.pem
myapp.local-key.pemforge ssl:trust
إعادة تسجيل CA المحلية في مخزن ثقة نظامك. مفيد بعد ترقيات نظام التشغيل أو إعادة تعيين مخزن الثقة.
forge ssl:trustأوامر Hosts
يمكن لـ FORGE إدارة إدخالات /etc/hosts حتى تُحوّل النطاقات المحلية إلى 127.0.0.1 بدون DNS خارجي.
forge hosts:add
إضافة إدخال نطاق إلى /etc/hosts.
forge hosts:add [OPTIONS]| الخيار | النوع | الافتراضي | الوصف |
|---|---|---|---|
--domain | string | — | النطاق للإضافة، مثل myapp.local. |
تحذير
يتطلب هذا الأمر صلاحيات مرتفعة. سيطلب FORGE وصول sudo على macOS/Linux أو حقوق Administrator على Windows.
مثال
forge hosts:add --domain=myapp.local
forge hosts:add --domain=api.myapp.local
forge hosts:add --domain=admin.myapp.localforge hosts:list
سرد جميع الإدخالات المُدارة من FORGE حالياً في /etc/hosts.
forge hosts:listمثال على المخرجات
إدخالات hosts لـ FORGE:
127.0.0.1 myapp.local
127.0.0.1 api.myapp.local
127.0.0.1 admin.myapp.localforge hosts:remove
إزالة نطاق مُضاف سابقاً من /etc/hosts.
forge hosts:remove --domain=myapp.localأوامر Docker
يُولّد FORGE إعدادات Docker Compose بـ profiles لمجموعات خدمات مختلفة. أوامر Docker تُغلّف docker compose بافتراضيات واعية بالمشروع.
Docker Profiles
يُنظّم FORGE الخدمات في profiles Docker Compose:
| Profile | الخدمات المتضمنة |
|---|---|
db | PostgreSQL، Redis |
api | خادم Rust API |
web | واجهة Next.js الأمامية |
admin | واجهة Next.js الإدارية |
all | كل خدمة |
تسمح لك Profiles ببدء الخدمات التي تحتاجها فقط. على سبيل المثال، قد تُشغّل db في Docker بينما تُطوّر API محلياً.
forge docker:up
بدء حاويات Docker.
forge docker:up [OPTIONS]| الخيار | النوع | الافتراضي | الوصف |
|---|---|---|---|
-d | flag | false | تشغيل الحاويات في وضع منفصل (الخلفية). |
--build | flag | false | إعادة بناء الصور قبل البدء. |
--ssl | flag | false | تفعيل وكيل Nginx SSL العكسي. |
--apps | string | all | profiles مفصولة بفواصل للبدء، مثل db,api. |
أمثلة
# Start everything in the background
forge docker:up -d
# Start database only
forge docker:up -d --apps=db
# Rebuild and start with SSL
forge docker:up -d --build --sslforge docker:down
إيقاف وإزالة حاويات Docker.
forge docker:down [OPTIONS]| الخيار | النوع | الافتراضي | الوصف |
|---|---|---|---|
-v | flag | false | إزالة الـ volumes المُسماة أيضاً (بيانات قاعدة البيانات، الكاش). |
خطر
خيار -v يحذف الـ volumes الدائمة بما في ذلك مجلد بيانات PostgreSQL. ستُفقد جميع بيانات قاعدة البيانات.
forge docker:logs
عرض سجلات الحاويات.
forge docker:logs [OPTIONS] [SERVICE]| الخيار | النوع | الافتراضي | الوصف |
|---|---|---|---|
-f | flag | false | متابعة مخرجات السجل في الوقت الحقيقي. |
SERVICE | string | — | اسم خدمة اختياري لتصفية السجلات، مثل api، web، postgres. |
أمثلة
# Follow API logs
forge docker:logs -f api
# View all logs (last 100 lines)
forge docker:logsforge docker:shell
فتح shell تفاعلي داخل حاوية عاملة.
forge docker:shell <SERVICE>مثال
# Open shell in API container
forge docker:shell api
# Open psql session in database container
forge docker:shell postgresسير العمل الشائع
الإعداد المحلي لأول مرة:
forge ssl:install
forge new --name myapp
# SSL and hosts are configured automatically during project creation
forge docker:up -dإعادة التشغيل بقاعدة بيانات نظيفة:
forge docker:down -v
forge docker:up -d
forge migrate:fresh --seedإضافة نطاق محلي جديد:
forge ssl:generate --domains="myapp.local,api.myapp.local,admin.myapp.local,docs.myapp.local"
forge hosts:add --domain=docs.myapp.local
forge docker:up -d --build --sslانظر أيضاً
- أوامر المشروع —
forge newيُعدّ SSL و hosts و Docker تلقائياً - أوامر التطوير — تشغيل الخدمات محلياً أو عبر Docker
- أوامر النشر — نشر Docker و Kubernetes للإنتاج