تثبيت RoqueOS Server
حوّل RoqueOS إلى منصة self-hosted قوية لحوسبة السحابة. ثبّت مع Docker وأطلق طرفية Linux، متصفح بعيد، App Store Docker، مدير الملفات وأكثر بكثير.
المتطلبات المسبقة
المتطلبات المسبقة
ستحتاج إلى جهاز يعمل بـ Linux (Ubuntu/Debian موصى به) أو macOS/Windows مع Docker و Docker Compose مثبتين.
ليس لديك Docker؟ ثبّت Docker Engine قبل المتابعة.
التثبيت الموصى به (سطر واحد)
الطريقة السريعة — install.sh (Linux/macOS) و install.ps1 (Windows) يتولون كل شيء: pulls images، يولدون secrets تشفيرية، يكوّنون volumes، يشغّلون الحاويات ويعرضون لوحة admin الترحيب.
curl -fsSL https://roqueos.com.br/install.sh | bashirm https://roqueos.com.br/install.ps1 | iexفي ~2 دقيقة يعمل الخادم على http://localhost:27021. التفاصيل الكاملة للأعلام (--update، --with-roqueclaw، --with-android-gaming، التراجع التلقائي): مثبت Linux/macOS أو Windows.
💡 الخطوة التالية
بعد تشغيل الخادم، اربطه بـ RoqueOS web الخاص بك عبر Add Server Wizard. أو إذا كنت تريد اختبار Server Mode دون تثبيت أي شيء، استخدم خادم العرض التوضيحي العام الذي يأتي مكوَّنًا مسبقًا.
التثبيت اليدوي (متقدم — fallback)
متقدم
يوجد هذا القسم للسيناريوهات التي لا يغطيها السطر الواحد أعلاه (مثلاً: شبكة بدون وصول إلى GitHub Container Registry، سياسة الشركة التي تحجب curl | bash، بيئة air-gapped). لـ 99٪ من المستخدمين، استخدم السطر الواحد أعلاه الذي يؤتمت كل ما يتم وصفه هنا.
التعليمات اليدوية هنا قد تصبح قديمة — install.sh هو مصدر الحقيقة للتدفق الصحيح.
لمن يفضل إدارة الحاويات بنفسه.
1. أنشئ مفاتيح الأمان
يتطلب الخادم ثلاثة مفاتيح تشفيرية في production. أنشئها مع Node.js قبل المتابعة:
node -e "console.log('JWT_SECRET=' + require('crypto').randomBytes(32).toString('hex'))"
node -e "console.log('ENCRYPTION_KEY=' + require('crypto').randomBytes(32).toString('hex'))"
node -e "console.log('GUACAMOLE_CRYPT_KEY=' + require('crypto').randomBytes(16).toString('hex'))"أو، إذا كنت تفضل OpenSSL:
echo "JWT_SECRET=$(openssl rand -hex 32)"
echo "ENCRYPTION_KEY=$(openssl rand -hex 32)"
echo "GUACAMOLE_CRYPT_KEY=$(openssl rand -hex 16)"انسخ القيم الثلاث واستبدل COLE_AQUI في ملف docker-compose.yml التالي.
احفظ مفاتيحك
فقدان JWT_SECRET أو ENCRYPTION_KEY في production يتطلب إعادة إنشاء جميع API Keys وإعادة توصيل frontend. خزّنها في password manager أو ملف .env خارج version control.
ملاحظة تقنية — GUACAMOLE_CRYPT_KEY
يستخدم Remote Desktop AES-256-CBC، الذي يتطلب 32 بايتًا بالضبط. الأمر randomBytes(16) يولد 16 بايتًا عشوائية ممثلة بـ 32 حرفًا hex — والذي يعادل 32 بايتًا بالضبط في UTF-8. استخدم دائمًا randomBytes(16) لهذا المفتاح المحدد.
2. نزل الـ images من DockerHub
docker pull roqueribeiro1988/roqueos-server:latest
docker pull roqueribeiro1988/roqueos-server-ubuntu:latest3. أنشئ ملف docker-compose.yml
version: '3.8'
services:
roqueos-server:
image: roqueribeiro1988/roqueos-server:latest
container_name: roqueos-server
restart: unless-stopped
ports:
- '27021:27021'
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- roqueos-users:/data/roqueos/users
- roqueos-shared:/data/roqueos/shared
- roqueos-db:/app/data
- roqueos-transcode-cache:/app/transcode-cache
cap_add:
- SYS_ADMIN
shm_size: 1gb
environment:
- TZ=America/Sao_Paulo
- NODE_ENV=production
- JWT_SECRET=COLE_AQUI
- ENCRYPTION_KEY=COLE_AQUI
- GUACAMOLE_CRYPT_KEY=COLE_AQUI
- UBUNTU_IMAGE=roqueribeiro1988/roqueos-server-ubuntu:latest
- GUACD_HOST=guacd
- GUACD_PORT=4822
networks:
- roqueos-network
guacd:
image: guacamole/guacd:1.6.0
container_name: roqueos-guacd
restart: unless-stopped
networks:
- roqueos-network
volumes:
roqueos-users:
roqueos-shared:
roqueos-db:
roqueos-transcode-cache:
networks:
roqueos-network:
driver: bridge4. ابدأ تشغيل الخادم
docker compose up -dبث الوسائط التكيفي (HLS)
ابتداءً من v1.0.5، يكتشف الخادم تلقائيًا الأجهزة المتاحة ويكوّن خط أنابيب بث الفيديو:
| الملف الشخصي | CPU / RAM | الجودات المتاحة | Encoder |
|---|---|---|---|
| low | ≤ 2 cores أو ≤ 2 GB RAM | 480p | Software (libx264 ultrafast) |
| mid | 4 cores + 4 GB RAM | 480p + 720p | Software أو hardware |
| high | ≥ 6 cores + 8 GB RAM | 480p + 720p + 1080p | Hardware مفضل |
ذاكرة التخزين المؤقت لأجزاء HLS موجودة في vol roqueos-transcode-cache وتستمر بين إعادات التشغيل.
وكيل AI — RoqueClaw (v1.0.6+)
RoqueClaw هو وكيل أتمتة مرئي بـ AI متكامل مع RoqueOS. لتمكينه، أضف في docker-compose.yml في قسم environment لخدمة roqueos-server:
- ENABLE_ROQUECLAW=true
- OPENCLAW_IMAGE=roqueribeiro1988/roqueos-openclaw:latestسيقوم الخادم بتنزيل image الوكيل تلقائيًا عند أول تشغيل.
التحديث إلى إصدار جديد
عند نشر إصدار جديد على Docker Hub، يمكنك التحديث بثلاث طرق:
موصى به
استخدم Server Admin ← الإصدار ← "تحديث الآن" داخل RoqueOS. يكتشف المساعد طريقة التثبيت، يعرض الأمر بالضبط ويتتبع إعادة التشغيل تلقائيًا.
docker compose pull && docker compose up -d --force-recreate roqueos-servercurl -fsSL https://roqueos.com.br/install.sh | bash -s -- --update& ([scriptblock]::Create((irm https://roqueos.com.br/install.ps1))) -Updateبياناتك آمنة
يتم الحفاظ على volumes المسماة في Docker (roqueos-users، roqueos-shared، roqueos-db، roqueos-transcode-cache) أثناء التحديث. قاعدة البيانات، التكوينات والملفات لا تتأثر.
التحقق من التثبيت
curl http://localhost:27021/healthالنتيجة المتوقعة:
{ "status": "ok", "timestamp": "2026-03-05T00:00:00.000Z", "version": "2.1.0" }لوحة الإدارة
بعد التثبيت، تتوفر لوحة الإدارة في:
http://localhost:27021/apiالخطوات التالية
- VPS & Cloud — ثبّت على خادم بعيد للوصول 24/7
- Volumes (الأقراص) — اربط المجلدات المحلية في مدير الملفات
- App Store Docker — ثبّت تطبيقات Docker بنقرة واحدة