Установка RoqueOS Server
Превратите RoqueOS в мощную self-hosted платформу cloud computing. Установите с Docker и разблокируйте Linux-терминал, удалённый браузер, App Store Docker, файловый менеджер и многое другое.
Предварительные требования
ПРЕДВАРИТЕЛЬНЫЕ ТРЕБОВАНИЯ
Вам понадобится машина с Linux (рекомендуется Ubuntu/Debian) или macOS/Windows с установленными Docker и Docker Compose.
Нет Docker? Установите Docker Engine перед продолжением.
Рекомендуемая установка (однострочник)
Быстрый способ — install.sh (Linux/macOS) и install.ps1 (Windows) обрабатывают всё: pull images, генерируют криптографические secrets, настраивают тома, поднимают контейнеры и показывают 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 — это источник истины правильного flow.
Для тех, кто предпочитает управлять контейнерами самостоятельно.
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 и переподключения фронтенда. Храните их в менеджере паролей или в .env файле вне version control.
ТЕХНИЧЕСКАЯ ЗАМЕТКА — GUACAMOLE_CRYPT_KEY
Remote Desktop использует AES-256-CBC, которому нужно ровно 32 байта. Команда randomBytes(16) генерирует 16 случайных байтов, представленных как 32 hex-символа — что в UTF-8 эквивалентно ровно 32 байтам. Всегда используйте 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 сервер автоматически определяет доступное железо и настраивает video streaming pipeline:
| Профиль | 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 сегментов находится в томе roqueos-transcode-cache и персистирует между перезапусками.
AI агент — RoqueClaw (v1.0.6+)
RoqueClaw — это visual automation агент с AI, интегрированный с RoqueOS. Чтобы включить, добавьте в docker-compose.yml в секцию environment сервиса roqueos-server:
- ENABLE_ROQUECLAW=true
- OPENCLAW_IMAGE=roqueribeiro1988/roqueos-openclaw:latestСервер скачает image агента автоматически при первом запуске.
Обновление до новой версии
Когда новая версия публикуется на Docker Hub, можно обновиться тремя способами:
РЕКОМЕНДОВАНО
Используйте Server Admin → Версия → "Обновить сейчас" внутри RoqueOS. Ассистент определяет ваш метод установки, показывает точную команду и отслеживает restart автоматически.
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ВАШИ ДАННЫЕ В БЕЗОПАСНОСТИ
Именованные тома 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
- Тома (Диски) — замапить локальные папки в файловом менеджере
- App Store Docker — установить Docker-приложения одним кликом