Запустите code-server на инфраструктуре VPS, когда вам нужна постоянная среда разработки, доступная из браузера, в то время как ваши проекты, репозитории Git, настройки и расширения остаются на сервере Linux, который вы контролируете. Образ приложения VoyraCloud code-server начинается с включенной аутентификацией по паролю и слушает только на интерфейсе обратной связи VPS. Сначала вы подключаетесь через SSH Tunnel, вместо того чтобы открывать веб-IDE с поддержкой терминала напрямую в интернет.
Кратко
- Образ VoyraCloud предоставляет code-server и Git на Ubuntu, в то время как языковые среды выполнения, зависимости проектов, расширения, домены и резервные копии остаются под управлением пользователя.
- code-server слушает на
127.0.0.1:8080, поэтому{server-ip}:8080не является публичным адресом приложения. - Используйте SSH Tunnel, показанный в деталях ресурса, откройте
http://127.0.0.1:8080локально и войдите с уникальным паролем, сгенерированным для вашего VPS. - Не отключайте аутентификацию. code-server включает терминал, поэтому неавторизованный пользователь может выполнять команды с разрешениями пользователя службы.
- Используйте домен, обратный прокси с поддержкой WebSocket, доверенный HTTPS и дополнительный уровень контроля доступа перед публикацией IDE в интернете.
- Облачный VPS начинается с подходящего плана 2 vCPU, 2 ГБ ОЗУ и 40 ГБ хранилища. Резидентный IP VPS начинается с 2 vCPU, 4 ГБ ОЗУ и 60 ГБ хранилища.
- Перезагрузка сохраняет файлы на хранилище VPS и перезапускает службу, но постоянство не является резервной копией. Храните проверенные копии вне VPS.
Что такое code-server?
code-server — это проект с открытым исходным кодом, который запускает среду разработки в стиле VS Code в веб-браузере. Он предоставляет редактор кода, интегрированный терминал, рабочий процесс Git, поддержку расширений, настройки и доступ к файлам, хранящимся на удаленной машине.
Это не Microsoft Visual Studio Code, GitHub Codespaces или многопользовательская платформа Coder. Это самоуправляемая браузерная IDE, предназначенная для пользователя, который контролирует основной сервер. Браузер — это только интерфейс: выполнение кода, терминалы, репозитории, инструменты сборки и службы разработки работают на VPS.
Эта архитектура полезна, когда вы работаете с нескольких компьютеров, нуждаетесь в всегда доступной среде Linux или не хотите, чтобы файлы проектов и инструменты были привязаны к одной рабочей станции. Это также изменяет границу безопасности. Любой, кто входит в IDE, может потенциально открыть терминал, просмотреть файлы проекта и выполнять команды от имени пользователя службы code-server. Таким образом, защита доступа является частью развертывания, а не необязательной косметической настройкой.
Официальные требования к code-server рекомендуют как минимум два ядра ЦП и 1 ГБ ОЗУ и требуют поддержки WebSocket. Фактические потребности проекта могут быть выше, когда вы устанавливаете компиляторы, языковые серверы, контейнеры, базы данных или ресурсоемкие инструменты сборки.
Что включает образ VoyraCloud?
Образ приложения подготавливает частную службу code-server и Git, но не превращает VPS в управляемую платформу разработки. Вы сохраняете доступ root к VPS и решаете, какие языки, пакеты, репозитории и расширения добавлять.
| Доставлено образом | Управляется пользователем или не включено |
|---|---|
| Ubuntu 24.04 LTS | Обслуживание операционной системы после доставки |
| Фиксированная стабильная версия code-server | Автоматические обновления code-server |
| Инструменты командной строки Git | Учетная запись хостинга Git и учетные данные |
| Служба code-server без прав root | Совместные командные учетные записи или управление ролями |
| Включена аутентификация по паролю | Внешний поставщик идентификации или единый вход |
| Уникальный случайный пароль для каждого VPS | Политика ротации паролей после первого входа |
Локальный слушатель на 127.0.0.1:8080 | Публичный домен, обратный прокси или доверенный HTTPS |
| Автоматический запуск службы после нормальной перезагрузки | Высокая доступность или автоматическое переключение на резервный сервер |
| Постоянное хранилище VPS | Автоматическое резервное копирование вне сервера |
| Поддержка установки расширений | Предустановленные сторонние расширения или гарантии совместимости |
| Интегрированный терминал и прокси для портов разработки | Языковые среды выполнения, базы данных, Docker или пользовательские проекты |
Раздел Приложение в деталях вашего ресурса VoyraCloud показывает версию code-server, доставленную при создании VPS. Она не обновляется автоматически, когда вы позже изменяете программное обеспечение самостоятельно.
Быстрый старт: как безопасно получить доступ к code-server?
Безопасный начальный путь — установить SSH Tunnel, получить пароль вашей инстанции через SSH и открыть URL обратной связи на вашем компьютере. Это сохраняет порт 8080 приватным и шифрует трафик между вашим компьютером и VPS.
- Откройте страницу VoyraCloud code-server и продолжите к процессу покупки.
- Выберите подходящий план Cloud VPS или Residential IP VPS и любой регион, который в настоящее время предлагается этим продуктом.
- Подтвердите, что code-server выбран в Изображениях, создайте VPS и дождитесь завершения настройки.
- Откройте детали ресурса и скопируйте отображаемую команду SSH Tunnel. Она имеет следующий формат:
ssh -p <ssh-port> -N -L 8080:127.0.0.1:8080 <ssh-user>@<server-ip>
- Держите эту сессию SSH открытой. Если она закроется, туннель закроется, но code-server продолжит работать на VPS.
- Откройте вторую сессию SSH, используя значения подключения, показанные для вашего ресурса:
ssh -p <ssh-port> <ssh-user>@<server-ip>
7. Прочитайте сгенерированный пароль из конфигурации code-server:
sed -n 's/^password: //p' ~/.config/code-server/config.yaml
8. В вашем локальном браузере откройте:
http://127.0.0.1:8080
9. Введите пароль из шага 7, откройте интегрированный терминал и проверьте Git:
git --version
Используйте фактического пользователя SSH и порт из деталей вашего ресурса, а не предполагая root и порт 22. Процесс code-server работает под ненадежным пользователем образа, поэтому команду конфигурации следует выполнять от имени того же пользователя SSH.
Адрес использует HTTP, потому что он доступен только через зашифрованный SSH Tunnel на вашем компьютере. Это не публичный производственный URL. Не изменяйте слушатель на 0.0.0.0:8080 просто для того, чтобы сделать IP-адрес открытым в браузере.
Если локальный порт 8080 уже используется, выберите другой порт с левой стороны:
ssh -p <ssh-port> -N -L 18080:127.0.0.1:8080 <ssh-user>@<server-ip>
Затем перейдите по адресу http://127.0.0.1:18080. Оставьте удаленную точку назначения как 127.0.0.1:8080.
Как изменить пароль code-server?
Измените сгенерированный пароль, отредактировав конфигурацию code-server от имени пользователя службы и перезапустив службу. Используйте уникальный пароль, который вы не повторно используете для SSH, хостинга Git, электронной почты или другого VPS.
Откройте файл конфигурации:
nano ~/.config/code-server/config.yaml
Сохраните эти настройки безопасности:
bind-addr: 127.0.0.1:8080
auth: password
cert: false
Замените только значение после password: на ваш новый надежный пароль, сохраните файл и перезапустите службу, специфичную для пользователя:
sudo systemctl restart code-server@"$(whoami)"
Переподключитесь через туннель и проверьте новый пароль перед закрытием вашей существующей аутентифицированной сессии браузера. Официальные часто задаваемые вопросы code-server также документируют опцию Argon2 hashed-password. Если вы ее используете, следуйте текущему официальному синтаксису, сохраняйте путь восстановления через SSH и тестируйте службу после изменения.
Никогда не устанавливайте auth: none на публично доступном развертывании. SSH Tunnel ограничивает сетевую доступность, но сохранение аутентификации по паролю добавляет второй контроль и предотвращает случайное открытие без аутентификации, если конфигурация сети изменится позже.
Как добавить проект и репозиторий Git?
Создайте или клонируйте проекты внутри директории, принадлежащей ненадежному пользователю службы, затем откройте эту директорию из браузерной IDE. Избегайте разработки от имени root, потому что расширения редактора, скрипты проектов и хуки жизненного цикла пакетов могут выполнять код.
Чтобы клонировать репозиторий через HTTPS:
mkdir -p ~/projects
cd ~/projects
git clone https://github.com/<owner>/<repository>.git
Для частного репозитория используйте метод учетных данных, поддерживаемый вашим поставщиком Git. Не вставляйте долгосрочные токены доступа в исходные файлы, оболочечные скрипты, настройки редактора или команды терминала, которые остаются в истории оболочки. Предпочитайте поддерживаемый поставщиком помощник по учетным данным, токен с узкой областью или пересылку SSH-агента с доверенной рабочей станции.
Перед пересылкой SSH-агента поймите границу доверия: процессы, работающие от имени вашего удаленного пользователя, могут запрашивать подписи от пересылаемого агента, пока сессия активна. Не пересылайте ключи личной безопасности высокой ценности в ненадежную среду проекта. Специфический для репозитория ключ развертывания или токен с узкой областью могут снизить последствия компрометации.
Образ не устанавливает языковые цепочки инструментов для каждого проекта. Добавляйте только среду выполнения, необходимую вашему коду, и используйте файл блокировки проекта, чтобы сохранить зависимости воспроизводимыми. Просматривайте скрипты установки перед их выполнением, особенно команды, скопированные из README репозитория или автоматически выполненные менеджером пакетов.
Как работают расширения в code-server?
code-server поддерживает расширения, но его экосистема расширений не идентична настольному VS Code, и не каждое расширение будет работать в среде, размещенной в браузере. Некоторые расширения зависят от проприетарных служб Microsoft, настольных API, нативных бинарных файлов или лицензионных условий, которые не применимы к форкам.
Установите расширение из представления Расширения или с помощью командной строки code-server:
code-server --install-extension <publisher.extension>
Вы также можете установить доверенный файл VSIX, который вы получили от издателя расширения:
code-server --install-extension /path/to/extension.vsix
Официальные рекомендации по расширениям объясняют поддерживаемые пути для рынка и VSIX. Они также не рекомендуют указывать code-server на URL-адреса рынка Microsoft, поскольку это противоречит Условиям использования Microsoft.
Относитесь к расширениям как к исполняемому программному обеспечению. Просмотрите издателя, источник, разрешения, историю обновлений и доступ к проекту перед установкой. Расширение может читать файлы рабочего пространства, запускать процессы, подключаться к сетям и получать доступ к учетным данным, доступным пользователю службы. Устанавливайте только то, что необходимо проекту, и тестируйте обновления расширений, прежде чем полагаться на них для важной работы.
Как запустить и предварительно просмотреть службу разработки?
Запустите свой сервер разработки на интерфейсе обратной связи VPS и получите к нему доступ через встроенный прокси-порт code-server или другой SSH Tunnel. Вам не нужно открывать каждый порт разработки в брандмауэре VPS.
Например, если ваш проект запускает сервер разработки на 127.0.0.1:3000, code-server может обнаружить порт и предложить перенаправленную ссылку в своем интерфейсе Портов. Встроенный прокси использует аутентифицированную сессию code-server и полагается на WebSockets для подключения редактора.
Для отдельного SSH Tunnel выполните это на своем компьютере:
ssh -p <ssh-port> -N -L 3000:127.0.0.1:3000 <ssh-user>@<server-ip>
Затем откройте http://127.0.0.1:3000 локально. Эта схема подходит для панелей разработки, локальной документации API и тестовых приложений, которые не должны быть доступны для публики.
Не предполагайте, что пароль code-server защищает службу, которую вы связываете напрямую с 0.0.0.0. Отдельный порт приложения может полностью обойти аутентификацию IDE. Решайте осознанно, какие службы являются частными, какие нуждаются в своей аутентификации и какие готовы к публичному доступу в интернете.
Как следует публиковать code-server с HTTPS?
Публичный доступ требует домена, доверенного TLS-сертификата, обратного прокси, который сохраняет WebSockets, аутентификации по паролю и, желательно, дополнительного уровня доступа с учетом идентификации. Официальное руководство по безопасному доступу предупреждает, что открытие code-server без аутентификации и шифрования может дать злоумышленнику контроль над машиной через ее терминал.
Используйте этот контрольный список для производства:
- Создайте выделенное имя хоста, например
code.example.com, и укажите его DNS-запись на VPS. - Сохраните code-server, связанный с
127.0.0.1:8080. - Настройте Nginx, Caddy или другой поддерживаемый обратный прокси для доступа к службе обратной связи.
- Сохраните заголовки обновления WebSocket HTTP/1.1 и оригинальную информацию о хосте.
- Получите сертификат, которому доверяет браузер, и автоматизируйте его обновление.
- Перенаправьте обычный HTTP на HTTPS.
- Сохраните аутентификацию по паролю code-server включенной.
- Добавьте внешний уровень доступа, такой как прокси с учетом идентификации, когда риск это оправдывает.
- Тестируйте вход, терминал, загрузку расширений, загрузку файлов и перенаправленные порты разработки.
- Подтвердите с другой сети, что порт
8080остается недоступным.
Минимальное местоположение Nginx требует пересылки WebSocket:
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
Это только блок прокси-приложения. Вам все еще нужно настроить имя сервера, доверенный сертификат, обновление, перенаправление HTTP, брандмауэр и политику доступа. Проверьте полную конфигурацию с текущей документацией для вашего выбранного прокси.
Самоподписанные сертификаты являются плохим выбором для обычного использования в браузере, поскольку пользователям необходимо обойти или вручную управлять предупреждениями о доверии. Доступ через SSH Tunnel проще, когда только одному администратору нужен IDE. Публичный HTTPS полезен, когда вам нужен доступ через браузер с устройств без клиента SSH, но это создает большую поверхность атаки и ответственность за постоянное обслуживание сертификатов и прокси.
Облачный VPS или Residential IP VPS для code-server?
Облачный VPS является нормальным выбором для удаленной разработки, в то время как Residential IP VPS доступен, когда стабильная идентичность жилой сети действительно является частью требований к разработке или региональному тестированию. Обе продуктовые линии предоставляют одинаковое поведение приложения code-server и поддерживают все регионы, которые в настоящее время предлагаются для этого продукта.
| Продукт | Подходящая начальная конфигурация | Соответствующее использование |
|---|---|---|
| Облачный VPS | 2 vCPU, 2 ГБ ОЗУ, 40 ГБ хранилища | Общее кодирование, проекты Git, легкие сборки и удаленная разработка |
| Residential IP VPS | 2 vCPU, 4 ГБ ОЗУ, 60 ГБ хранилища | Тот же рабочий процесс разработки, когда требуется стабильное происхождение жилой сети |
Минимальная покупка является воротами для соответствия, а не гарантией производительности. Более крупные проекты могут потребовать больше ресурсов для языковых серверов, установки пакетов, индексирования TypeScript, компиляции, локальных баз данных, сборки контейнеров или нескольких параллельных процессов. Мониторьте использование памяти, ЦП, диска и свободного хранилища после установки вашего реального инструментария.
Идентичность жилой сети не улучшает производительность редактора и не должна представляться как функция безопасности для IDE. Выбирайте ее только тогда, когда происхождение сети само по себе имеет законную роль в вашей работе. Просмотрите текущие конфигурации на странице цен VoyraCloud перед покупкой.
Что сохраняется после перезагрузки?
Файлы, хранящиеся на VPS, сохраняются после нормальной перезагрузки, и служба code-server автоматически запускается снова, но живые процессы терминала и несохраненное состояние редактора могут не выжить. Сохраняйте проектные работы на диск и используйте соответствующий контроль процессов для всего, что должно перезапуститься.
Постоянные элементы включают:
- Файлы проектов и локальные репозитории Git.
- Настройки редактора, привязки клавиш и установленные расширения.
- Конфигурация code-server и изменения пароля.
- Файлы, записанные инструментами в постоянные директории.
Не ожидайте, что перезагрузка сохранит:
- Несохраненный буфер редактора.
- Команду, выполняющуюся в обычном терминале без контроля.
- Сервер разработки в памяти.
- Временные файлы, которые ваши инструменты удаляют при выходе.
- Состояние сессии браузера на другом компьютере.
Для долгосрочных приложений используйте менеджер служб или конфигурацию контейнера, предназначенную для этого приложения. Перезапуск code-server не автоматически перезапускает каждую команду, которая была открыта в его терминале.
Как сделать резервную копию VPS с code-server?
Создавайте резервные копии исходного кода и состояния окружения вне VPS, поскольку локальное постоянство не может защитить от удаления, повреждения, компрометации или сбоя хранилища. Удаленные Git полезны для версионированного исходного кода, но они могут не содержать незаконченной работы, секретов, локальных баз данных, сгенерированных активов, настроек редактора или состояния развертывания.
Используйте многослойный план резервного копирования:
- Отправьте зафиксированный исходный код на частный удаленный Git, который вы контролируете.
- Определите данные проекта, которые Git намеренно исключает.
- Создайте резервные копии настроек code-server и состояния расширений, если их воссоздание будет дорогостоящим.
- Экспортируйте локальные базы данных с помощью метода, согласующегося с приложением, а не копируйте живые файлы баз данных слепую.
- Храните зашифрованные резервные копии вне VPS.
- Сохраняйте более одной точки восстановления.
- Восстанавливайте в отдельной тестовой среде и проверяйте проект, учетные данные, редактор и процесс сборки.
Не помещайте секреты в репозиторий Git только для того, чтобы упростить резервное копирование. Создавайте резервные копии учетных данных через соответствующий процесс управления секретами или зашифрованного восстановления и ротации, если вы подозреваете, что VPS или место назначения резервного копирования были скомпрометированы.
Как следует обновлять code-server?
Обновляйте осознанно, выбирая конкретную стабильную версию, читая ее примечания к выпуску, создавая резервные копии ваших данных и тестируя редактор и рабочий процесс проекта после установки. Образ не следует плавающему latest выпуску, и VoyraCloud не обновляет автоматически существующий VPS клиента.
Перед обновлением:
- Запишите текущую версию с помощью
code-server --version. - Просмотрите официальные выпуски code-server и журнал изменений на предмет исправлений безопасности, регрессий и изменений совместимости с браузерами.
- Создайте резервные копии проектов, настроек, состояния расширений и текущей конфигурации.
- Выберите точную стабильную версию, а не сборку на краю или плавающую цель пакета.
- Держите сессию SSH доступной на случай, если интерфейс браузера выйдет из строя.
- Установите новую версию, используя текущий официальный метод для Ubuntu.
- Перезапустите службу и проверьте ее статус.
- Тестируйте вход по паролю, подключение WebSocket, доступ к терминалу, Git, необходимые расширения и представительный проект.
- Подтвердите, что слушатель все еще
127.0.0.1:8080и аутентификация все еще включена.
Официальная страница обновления утверждает, что пользовательские данные сохраняются, когда новая версия устанавливается поверх старой. Это ожидаемое поведение не заменяет резервную копию и не доказывает, что каждое расширение и проект остаются совместимыми.
Обновления безопасности операционной системы, языковые среды выполнения, менеджеры пакетов, обратные прокси, сертификаты, расширения и зависимости проекта имеют отдельные циклы обновления. Обновление только code-server не делает всю среду разработки актуальной.
Распространенные ошибки, которых следует избегать
Большинство сбоев развертывания code-server происходит из-за ослабления контроля доступа, путаницы между постоянством и резервным копированием или предположения, что совместимость браузерной IDE идентична настольному VS Code. Избегайте этих ошибок:
- Привязывание
8080ко всем интерфейсам для удобства. - Установка
auth: noneна публично доступном сервере. - Публикация IDE через обычный HTTP вместо использования туннеля или доверенного HTTPS.
- Повторное использование сгенерированного пароля на нескольких инстанциях VPS.
- Запуск code-server или команд проекта от имени root.
- Отношение к каждому расширению или интеграции с проприетарным рынком как к совместимым.
- Установка не проверенных расширений, скриптов или зависимостей репозитория.
- Открытие портов разработки без отдельной аутентификации.
- Предположение, что открытые процессы терминала выживут после перезагрузки.
- Называние локальных файлов VPS резервной копией.
- Обновление до плавающего релиза без чтения изменений или сохранения доступа к восстановлению SSH.
- Хранение токенов Git, API-ключей или закрытых ключей SSH в исходном коде проекта.
Часто задаваемые вопросы
Могу ли я открыть code-server по IP-адресу VPS?
Нет, образ VoyraCloud намеренно не открывает порт 8080 на публичном IP. Установите SSH Tunnel, показанный в деталях ресурса, и откройте http://127.0.0.1:8080 на вашем компьютере. Настройте домен, обратный прокси, доверенный HTTPS и контроль доступа перед включением публичного доступа через браузер.
Почему локальный URL использует HTTP?
HTTP URL передается внутри зашифрованного SSH Tunnel и доступен только с вашего локального компьютера, пока туннель открыт. Это не безопасный публичный URL и не должен быть открытым напрямую в интернете.
Где я могу получить начальный пароль?
Подключитесь к VPS через SSH и прочитайте уникальный пароль из конфигурации code-server вашего пользователя службы. Пароль не отображается на странице ресурса VoyraCloud, в API интерфейсе, логах или аналитике. Измените его после подтверждения начального доступа.
Включает ли образ Node.js, Python, Docker или базы данных?
Нет. Образ предоставляет code-server, Git и окружение Linux, необходимое для браузерной IDE. Установите и поддерживайте языковые среды выполнения, базы данных, контейнеры и зависимости проекта, необходимые для вашей работы.
Могу ли я установить обычные расширения VS Code?
Некоторые расширения работают, но совместимость не идентична настольному VS Code. Используйте поддерживаемый источник расширений или доверенный VSIX, проверьте лицензию расширения и требования к среде выполнения, и не перенаправляйте code-server на URL-адреса рынка Microsoft.
Могут ли несколько человек поделиться одним паролем code-server?
Общий пароль не предоставляет индивидуальные идентичности, роли или возможность аудита. Этот образ предназначен как рабочее пространство для одного пользователя. Используйте отдельные инстанции VPS или платформу, предназначенную для управления рабочими пространствами команды, когда нескольким пользователям нужен контролируемый доступ.
Останется ли моя работа после перезагрузки VPS?
Сохраненные файлы, репозитории, настройки, расширения и конфигурация code-server остаются на постоянном хранилище VPS после нормальной перезагрузки. Несохраненные буферы редактора и обычные процессы терминала могут не выжить, и локальное постоянство не заменяет резервную копию вне сервера.
Обновляет ли VoyraCloud автоматически code-server?
Нет. Образ поставляет фиксированную стабильную версию, и существующие инстанции не следуют автоматически новым выпускам. Просматривайте официальные примечания к выпуску, создавайте резервные копии данных, устанавливайте точную стабильную версию и тестируйте аутентификацию и рабочие процессы проекта после обновления.
Заключение
VPS с code-server предоставляет вам постоянную среду разработки на основе браузера, сохраняя операционную систему, файлы, инструменты и сетевые настройки под вашим контролем. Начните с частного SSH Tunnel, сохраняйте аутентификацию по паролю, устанавливайте только те среды выполнения и расширения, которые нужны вашему проекту, и добавляйте доверенный обратный прокси HTTPS только тогда, когда публичный доступ через браузер необходим.
Используйте руководство по управлению VPS, чтобы спланировать обновления операционной системы, контроль доступа, мониторинг и резервное копирование, которые остаются вне браузерной IDE.
Начните с образа приложения VoyraCloud code-server, проверьте доставленную среду и стройте свой рабочий процесс разработки на VPS, который вы контролируете.

