code-server
code-server (VS Code in the browser) — это решение, которое переносит среду разработки с локальной машины на удаленный сервер. Продукт позволяет развернуть полноценный VS Code в облачной инфраструктуре и работать с кодом через любой современный веб-браузер. Это обеспечивает гибкость работы, безопасность данных и доступ к мощным вычислительным ресурсам с любого устройства.
Решение идеально подходит для командной разработки, позволяя стандартизировать среды окружения и ускорить онбординг новых разработчиков. code-server поддерживает большинство расширений из маркетплейса VS Code, встроенный терминал и позволяет работать с проектами, размещенными непосредственно на сервере.
Преимущества
- Доступность с любого устройства. Пишите код на iPad, Chromebook или слабом ноутбуке, используя полноценную IDE.
- Мощность облака. Используйте серверные ресурсы (CPU, RAM, GPU) для быстрой компиляции, тестов и запуска тяжелых задач, не нагружая локальное устройство.
- Единая среда. Сохранение состояния среды разработки и настроек независимо от устройства, с которого осуществляется вход.
- Безопасность. Исходный код и данные остаются на защищенном сервере и не загружаются на локальные машины пользователей.
- Энергоэффективность. Все ресурсоемкие процессы выполняются на стороне сервера, что значительно экономит заряд батареи мобильных устройств.
Примеры использования
- Разработка на мобильных устройствах без полноценной ОС (iPad, планшеты Android).
- Использование слабых клиентских устройств (Thin Client) с делегированием тяжелых задач (компиляция, рендеринг, ML-обучение) мощному облачному серверу.
- Организация безопасной разработки в изолированной среде (например, в финтех-секторе или банках) без использования VDI/RDP, предотвращая утечку исходного кода.
- Создание унифицированных сред разработки для команд (Dev Environments as a Service).
- Удаленное администрирование серверов и редактирование конфигурационных файлов через удобный GUI.
- Убедитесь, что у вас есть облачная сеть с хотя бы одной подсетью.
- Создайте сервисный аккаунт с ролями
compute.editor,resource-manager.admin,vpc.admin(рольadminвключает все указанные роли). - (Опционально) Создайте секрет с паролем, который будет использоваться для входа через веб-браузер. Используйте в секрете название ключа
password. - (Опционально) Создайте сертификат для использования в TLS-соединении или загрузите существующий.
- В консоли управления выберите сервис Cloud Apps.
- На панели слева выберите Магазин приложений.
- Выберите code-server и нажмите кнопку Использовать.
- Укажите:
- Имя приложения.
- (Опционально) Описание приложения.
- Сервисный аккаунт, созданный ранее.
- Облачную подсеть, в которой будет располагаться виртуальная машина.
- (Опционально) Секрет Lockbox, содержащий пароль. Если секрет не выбрать, пароль будет сгенерирован автоматически. Внимание: для получения сгенерированного пароля будет необходим SSH-доступ к виртуальной машине.
- (Опционально) Доменное имя сайта. Если не указано, подключение будет возможно по IP-адресу виртуальной машины.
- (Опционально) Сертификат для использования в TLS-соединении. Если не указан, будет сгенерирован и использован самоподписанный (Self-Signed) сертификат.
- (Опционально) Имя и публичный ключ пользователя для SSH-доступа к виртуальной машине.
- Количество vCPU и объём оперативной памяти виртуальной машины; если поле оставить пустым, будут использованы значения по умолчанию.
- Вид и размер сетевого хранилища для пользовательских данных; если поле оставить пустым, будут использованы значения по умолчанию.
- Маску IP-адресов, с которых будет открыт доступ к code-server; если поле оставить пустым, дополнительных ограничений по IP не будет.
- Нажмите кнопку Установить и дождитесь, пока приложение установится.
- В разделе Ресурсы приложения перейдите по ссылке
compute-instanceи на открывшейся странице в разделе Сетевой интерфейс найдите значение параметра Публичный IPv4-адрес. - Получите доступ к code-server любым из способов:
- Введите IP-адрес в адресную строку браузера (если используется самоподписанный сертификат, необходимо будет подтвердить его использование браузером).
- Добавьте в DNS-зону домена A-запись с IP-адресом виртуальной машины, дождитесь обновления информации на серверах DNS и введите доменный адрес в адресную строку браузера.
- Создайте SSH-сессию командой
ssh -L 8080:localhost:8080 <имя_пользователя>@<IP-адрес_виртуальной_машины>, после чего введите в адресную строку браузераhttp://localhost:8080.
- Введите пароль, заданный с помощью секрета Lockbox, или сгенерированный автоматически. Актуальный пароль может быть получен командой
ssh <имя_пользователя>@<IP-адрес_виртуальной_машины> grep password: /user_storage/.config/code-server/config.yaml.
- Разработка на мобильных устройствах без полноценной ОС (iPad, планшеты Android).
- Использование слабых клиентских устройств (Thin Client) с делегированием тяжелых задач (компиляция, рендеринг, ML-обучение) мощному облачному серверу.
- Организация безопасной разработки в изолированной среде (например, в финтех-секторе или банках) без использования VDI/RDP, предотвращая утечку исходного кода.
- Создание унифицированных сред разработки для команд (Dev Environments as a Service).
- Удаленное администрирование серверов и редактирование конфигурационных файлов через удобный GUI.
Служба технической поддержки Yandex Cloud отвечает на запросы 24 часа в сутки, 7 дней в неделю. Доступные виды запросов и срок их обработки зависят от тарифного плана. Подключить платную поддержку можно в консоли управления. Подробнее о порядке оказания технической поддержки.
| Тип ресурса | Количество |
|---|---|
| IP-адрес VPC | 1 |
| Группа безопасности VPC | 1 |
| Сервисный аккаунт | 1 |
| Права доступа к каталогу | 2 |
| Диск | 1 |
| Виртуальная машина | 1 |