Skip to content

Установка 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 приветственную панель.

bash
curl -fsSL https://roqueos.com.br/install.sh | bash
powershell
irm 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 перед продолжением:

bash
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:

bash
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

bash
docker pull roqueribeiro1988/roqueos-server:latest
docker pull roqueribeiro1988/roqueos-server-ubuntu:latest

3. Создайте файл docker-compose.yml

yaml
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: bridge

4. Запустите сервер

bash
docker compose up -d

Адаптивный медиа-стриминг (HLS)

С v1.0.5 сервер автоматически определяет доступное железо и настраивает video streaming pipeline:

ПрофильCPU / RAMДоступные качестваEncoder
low≤ 2 cores или ≤ 2 GB RAM480pSoftware (libx264 ultrafast)
mid4 cores + 4 GB RAM480p + 720pSoftware или hardware
high≥ 6 cores + 8 GB RAM480p + 720p + 1080pHardware предпочтительный

Кэш HLS сегментов находится в томе roqueos-transcode-cache и персистирует между перезапусками.


AI агент — RoqueClaw (v1.0.6+)

RoqueClaw — это visual automation агент с AI, интегрированный с RoqueOS. Чтобы включить, добавьте в docker-compose.yml в секцию environment сервиса roqueos-server:

yaml
- ENABLE_ROQUECLAW=true
- OPENCLAW_IMAGE=roqueribeiro1988/roqueos-openclaw:latest

Сервер скачает image агента автоматически при первом запуске.


Обновление до новой версии

Когда новая версия публикуется на Docker Hub, можно обновиться тремя способами:

РЕКОМЕНДОВАНО

Используйте Server Admin → Версия → "Обновить сейчас" внутри RoqueOS. Ассистент определяет ваш метод установки, показывает точную команду и отслеживает restart автоматически.

bash
docker compose pull && docker compose up -d --force-recreate roqueos-server
bash
curl -fsSL https://roqueos.com.br/install.sh | bash -s -- --update
powershell
& ([scriptblock]::Create((irm https://roqueos.com.br/install.ps1))) -Update

ВАШИ ДАННЫЕ В БЕЗОПАСНОСТИ

Именованные тома Docker (roqueos-users, roqueos-shared, roqueos-db, roqueos-transcode-cache) сохраняются во время обновления. База данных, настройки и файлы не затрагиваются.


Проверка установки

bash
curl http://localhost:27021/health

Ожидаемый результат:

json
{ "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-приложения одним кликом