Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

التثبيت ​

Docker (موصى به) ​

أسرع طريقة لتشغيل Fenfa:

bash
docker run -d \
  --name fenfa \
  --restart=unless-stopped \
  -p 8000:8000 \
  -v ./data:/data \
  -v ./uploads:/app/uploads \
  -e FENFA_ADMIN_TOKEN=your-admin-token \
  -e FENFA_UPLOAD_TOKEN=your-upload-token \
  -e FENFA_PRIMARY_DOMAIN=https://your-domain.com \
  fenfa/fenfa:latest

متغيرات البيئة ​

المتغيرمطلوبالوصف
FENFA_ADMIN_TOKENنعمرمز مصادقة الإدارة
FENFA_UPLOAD_TOKENنعمرمز مصادقة رفع الملفات
FENFA_PRIMARY_DOMAINنعم لـ iOSURL العام للمنشورات وروابط التنزيل
FENFA_PORTلامنفذ HTTP (الافتراضي: 8000)
FENFA_DATA_DIRلادليل SQLite (الافتراضي: data)

أمان الرموز

غيّر دائماً الرموز الافتراضية (dev-admin-token وdev-upload-token) قبل النشر الإنتاجي. استخدم openssl rand -hex 16 لإنشاء رموز آمنة.

Docker Compose ​

أنشئ ملف docker-compose.yml:

yaml
version: "3.8"

services:
  fenfa:
    image: fenfa/fenfa:latest
    container_name: fenfa
    restart: unless-stopped
    ports:
      - "127.0.0.1:8000:8000"
    environment:
      FENFA_ADMIN_TOKEN: ${FENFA_ADMIN_TOKEN}
      FENFA_UPLOAD_TOKEN: ${FENFA_UPLOAD_TOKEN}
      FENFA_PRIMARY_DOMAIN: ${FENFA_PRIMARY_DOMAIN:-http://localhost:8000}
    volumes:
      - fenfa-data:/data
      - fenfa-uploads:/app/uploads
    healthcheck:
      test: ["CMD", "wget", "-q", "--spider", "http://localhost:8000/healthz"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 10s

volumes:
  fenfa-data:
  fenfa-uploads:

أنشئ ملف .env بجانب ملف Compose:

bash
FENFA_ADMIN_TOKEN=your-secure-admin-token
FENFA_UPLOAD_TOKEN=your-secure-upload-token
FENFA_PRIMARY_DOMAIN=https://dist.example.com

ابدأ الخدمة:

bash
docker compose up -d

البناء من المصدر ​

المتطلبات الأساسية ​

  • Go 1.21+
  • Node.js 18+ و npm
  • make (اختياري)

خطوات البناء ​

bash
# البناء بالكامل (الواجهة الأمامية + الثنائي)
make build

# أو يدوياً:

# بناء الواجهة العامة
cd web/front && npm ci && npm run build && cd ../..

# بناء لوحة الإدارة
cd web/admin && npm ci && npm run build && cd ../..

# بناء الثنائي Go (يضم الواجهة الأمامية)
go build -o fenfa ./cmd/fenfa

تشغيل الثنائي ​

bash
FENFA_ADMIN_TOKEN=admin-token \
FENFA_UPLOAD_TOKEN=upload-token \
FENFA_PRIMARY_DOMAIN=http://localhost:8000 \
./fenfa

التحقق من التثبيت ​

تحقق من أن Fenfa يعمل:

bash
curl http://localhost:8000/healthz
# {"ok": true}

افتح http://localhost:8000 للوصول إلى لوحة الإدارة.

الخطوات التالية ​

Released under the Apache-2.0 License.