Перейти к содержанию

Обзор развертывания Kasm Workspaces на сервере

Предпосылки и предварительные требования

Параметр Требование Примечание
ОС Ubuntu 22.04 LTS (Jammy) или RHEL 9 Для Debian‑подобных систем используется пакет docker-ce версии 5:28.5.2‑1ubuntu.22.04jammy
Доступ root или пользователь с правами sudo Для установки пакетов и запуска контейнеров требуются привилегии
Сеть Внешний доступ к домену, который будет использоваться в качестве публичного имени Пример: kasm.example.com
Службы systemd Для управления Docker и сервисами Kasm
Память минимум 8 ГБ RAM В задаче установки указано --swap-size 8192 (8 ГБ)

Перед началом убедитесь, что система обновлена и не содержит конфликтующих версий Docker.

Структура файлов и каталогов

После завершения развертывания на машине появятся следующие каталоги и файлы:

/opt/kasm
/opt/kasm/current
/opt/kasm/current/certs
/etc/letsencrypt
/data
/data/kasm
/data/kasm/profiles
  • /opt/kasm/current – рабочая директория, содержащая исполняемые файлы и конфигурацию Kasm.
  • /opt/kasm/current/certs – сертификаты для внутреннего Nginx.
  • /etc/letsencrypt – места, где хранится сертификат Let's Encrypt.
  • /data/kasm – том, привязанный к контейнеру (для RHEL).
  • /data/kasm/profiles – папка для пользовательских профилей (привязана к контейнеру).

Права доступа и безопасность

Путь Права Утилита
/opt/kasm/current 750 root:kasm (папка kasm создаётся в процессе установки)
/opt/kasm/current/certs 640 root:kasm
/etc/letsencrypt 750 root:ssl-cert
/data/kasm 755 root:root
/data/kasm/profiles 755 root:root
Docker daemon 644 /etc/docker/daemon.json
Docker containers privileged: yes используется для доступа к устройствам ввода и udev

Для управления Docker рекомендуется добавить пользователя в группу docker:

sudo usermod -aG docker <имя_пользователя>

После изменения группы выполните выход и вход в систему, чтобы изменения вступили в силу.

Базы данных

Kasm Workspaces интегрирует собственные базы данных, хранящиеся внутри контейнера /data/kasm. Пользователю не требуется отдельный сервер БД, так как все данные сохраняются в файловой системе, смонтированной в /data/kasm.

Контейнеры Docker и их запуск

Установка Docker

Для всех поддерживаемых дистрибутивов Docker устанавливается последняя стабильная версия (1.42 compose заменяется на 1.52 compose). После установки выполняется:

systemctl enable --now docker

Запуск Kasm Workspaces

  • Debian/Ubuntu – используется скрипт install.sh, который разворачивает сервисы как systemd‑юниты.
    После установки сервисы запускаются автоматически:
/opt/kasm/bin/start
  • RHEL 9 – приложение разворачивается в виде контейнера kasm:
docker run -d \
    --name kasm \
    --privileged \
    -e KASM_PORT=3000 \
    -v /data/kasm:/opt \
    -v /data/kasm/profiles:/profiles \
    -v /dev/input:/dev/input \
    -v /run/udev/data:/run/udev/data \
    -p 3000:3000 \
    -p 3000:3000 \
    lscr.io/linuxserver/kasm:latest

Если вы предпочитаете Docker Compose, можно подготовить docker-compose.yml с аналогичными настройками, а затем запустить:

docker compose up -d

Обновление

Для обновления Docker Compose до версии 1.52:

sudo rm -r /usr/local/lib/docker/cli-plugins/docker-compose
sudo cp /usr/libexec/docker/cli-plugins/docker-compose /usr/local/lib/docker/cli-plugins/

Для обновления Kasm:

  • Debian – запустите скрипт install.sh с новыми параметрами (--upgrade).
  • RHEL – pull нового образа и перезапустите контейнер:
docker pull lscr.io/linuxserver/kasm:latest
docker stop kasm
docker rm kasm
# повторный docker run

Прокси серверы

Kasm Workspaces содержит встроенный Nginx, который обслуживает HTTPS. После установки выполнен этап выдачи сертификата Let's Encrypt и замены сертификатов, расположенных в /opt/kasm/current/certs.

Как выдаётся сертификат

certbot certonly \
  --standalone \
  --agree-tos \
  --register-unsafely-without-email \
  --preferred-challenges http \
  -d <публичное_имя>

Сертификаты сохраняются в:

/etc/letsencrypt/live/<домен>/privkey.pem
/etc/letsencrypt/live/<домен>/fullchain.pem

После копирования в каталог /opt/kasm/current/certs Nginx начинает обслуживать HTTPS автоматически.

Если нужно добавить собственный прокси (Nginx, Traefik и т.п.), достаточно настроить обратный прокси, передавая трафик на порт, указанный в переменной KASM_PORT (по умолчанию 3000).

Настройки прав, запуск, остановка и обновление

Действие Команда Краткое описание
Запустить сервисы (Debian) /opt/kasm/bin/start Запускает все связанные демоны и веб‑сервер
Остановить сервисы (Debian) /opt/kasm/bin/stop Останавливает демоны и веб‑сервер
Перезапустить сервисы /opt/kasm/bin/stop && /opt/kasm/bin/start Полный перезапуск
Запустить контейнер (RHEL) docker run ... Создаёт и запускает контейнер kasm
Остановить контейнер docker stop kasm Останавливает контейнер
Перезапустить контейнер docker restart kasm Перезапускает контейнер без удаления
Обновить Docker Compose sudo rm -r /usr/local/lib/docker/cli-plugins/docker-compose && sudo cp /usr/libexec/docker/cli-plugins/docker-compose /usr/local/lib/docker/cli-plugins/ Переключает версию Compose
Обновить Kasm (Debian) ./install.sh --upgrade ... Запускает обновление и миграцию конфигурации
Обновить Kasm (RHEL) docker pull lscr.io/linuxserver/kasm:latest && docker restart kasm Обновляет образ и перезапускает контейнер

Таким образом, развертывание Kasm Workspaces на клиентской машине включает установку Docker, настройку пользовательских томов и сертификатов, а также запуск сервисов либо в виде systemd‑юнитов (Debian), либо в виде Docker‑контейнера (RHEL). После установки пользователь получает полностью функционирующую платформу с HTTPS‑поддержкой, доступную по заданному домену.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×