Kasm Workspaces передаёт контейнеризованные рабочие столы и браузеры в ваш обычный браузер: можно открыть одноразовый Chrome или полноценный рабочий стол Linux откуда угодно. На VPS Linux Infrawire редакция single server — самый простой способ его запустить. Руководство рассчитано на Ubuntu 24.04 (Ubuntu 22.04 работает так же).
📋 Требования
- Новый KVM VPS с Ubuntu, SSH-доступ под root и никакого другого сервиса на порту 443. IP-адрес и пароль root от VPS вы найдёте в личном кабинете.
- Kasm рекомендует для базовой установки не менее 2 ядер CPU, 4 ГБ ОЗУ и 50 ГБ SSD, а каждое запущенное рабочее пространство требует дополнительной памяти. Если одновременно подключаются несколько пользователей, предусмотрите больше ОЗУ.
- Домен вида
kasm.example.com, указывающий наVPS_IP, если нужен доверенный HTTPS-сертификат.
🔄 1. Подготовка сервера
Bashssh root@VPS_IP apt update && apt -y upgrade && apt -y install curl
Kasm сам устанавливает Docker, поэтому заранее не настраивайте другой контейнерный движок. Перезагрузите сервер, если было установлено новое ядро.
⬇️ 2. Загрузка последней версии
Номер версии регулярно меняется, поэтому не копируйте его из старой инструкции. Откройте официальную страницу загрузок (https://kasmweb.com/downloads) или руководство по установке single server (https://kasmweb.com/docs/latest/install/single_server_install.html), скопируйте ссылку на архив актуального релиза для установщика single server и подставьте её ниже вместо RELEASE_URL.
Bashcd /tmp curl -O RELEASE_URL tar -xf kasm_release_*.tar.gz
Архив распаковывается в каталог kasm_release, где лежит install.sh.
⚙️ 3. Установка с достаточным swap
Рабочие пространства требуют много памяти, а swap защищает сервер от внезапного завершения процессов из-за нехватки ОЗУ. Установщик может сам создать файл подкачки с помощью параметра --swap-size (в МБ):
Bashsudo bash /tmp/kasm_release/install.sh --swap-size 4096
Если порт 443 уже занят, добавьте -L 8443, чтобы веб-интерфейс работал на 8443. Установка скачивает несколько образов Docker и занимает от 10 до 20 минут. В конце скрипт выводит сгенерированные пароли для учётных записей по умолчанию admin@kasm.local и user@kasm.local. Сразу сохраните их: они показываются только один раз.
🌐 4. Открытие веб-консоли
Перейдите на https://VPS_IP (или https://VPS_IP:8443, если вы меняли порт). Пока примите предупреждение о самоподписанном сертификате. Войдите как admin@kasm.local, чтобы попасть в панель администратора, и смените сгенерированные пароли в меню пользователя.
Если вы используете брандмауэр, разрешите веб-порт:
Bashufw allow 22/tcp ufw allow 443/tcp ufw enable
Разрешите SSH до включения UFW, чтобы не закрыть себе доступ.
🔒 5. Добавление сертификата Let's Encrypt
Kasm отдаёт собственный сертификат через внутренний прокси Nginx. Запросите сертификат через Certbot в режиме standalone, для которого нужен свободный порт 80 (Kasm его не использует), и скопируйте его туда, где его ожидает Kasm:
Bashapt -y install certbot certbot certonly --standalone -d kasm.example.com cp /etc/letsencrypt/live/kasm.example.com/fullchain.pem /opt/kasm/current/certs/kasm_nginx.crt cp /etc/letsencrypt/live/kasm.example.com/privkey.pem /opt/kasm/current/certs/kasm_nginx.key /opt/kasm/bin/stop /opt/kasm/bin/start
Сертификаты действуют 90 дней, поэтому после каждого продления повторяйте копирование и перезапуск, например через deploy-хук Certbot в /etc/letsencrypt/renewal-hooks/deploy/.
🚀 6. Запуск изолированного браузера
Войдите как обычный пользователь (user@kasm.local): на странице Workspaces отображаются доступные образы. Если список пуст, войдите как администратор, откройте Workspaces > Registry и установите нужные образы, например Chrome, Firefox или рабочий стол Ubuntu. Затем нажмите на рабочее пространство, чтобы запустить его: в новой вкладке откроется полноценный рабочий стол или браузер, транслируемый к вам, а в боковой панели будут управление буфером обмена и передачей файлов. При закрытии сессии контейнер уничтожается.
✅ 7. Проверка
Bashdocker ps --format '{{.Names}}: {{.Status}}' ss -tlnp | grep -E ':(443|8443)\b' free -h
Вы должны увидеть запущенные контейнеры kasm_*, слушающий веб-порт и swap в выводе free -h.
🧰 Устранение неполадок
- Установщик останавливается с ошибкой памяти или диска: проверьте
free -hиdf -h. Добавьте swap параметром--swap-size, освободите место на диске и запустите установщик заново. - Рабочее пространство зависает на экране загрузки: скорее всего, серверу не хватает ОЗУ или образ загружен не полностью. Проверьте
docker ps -aи журналы в/opt/kasm/current/log/, закройте другие сессии. - Браузер предупреждает о сертификате: файлы в
/opt/kasm/current/certs/не заменены или службы не перезапущены. Повторите шаг 5 и вводите в адресной строке доменное имя, а не IP. - Потерян пароль администратора: сбросьте его в панели администратора из другой учётной записи администратора либо переустановите систему на чистом VPS, если администраторов не осталось.
🎉 Kasm Workspaces работает: запускайте браузеры и рабочие столы по требованию, надёжно изолированные от вашего компьютера.