Я честно долго сопротивлялась идее писать код через браузер. Привычка открывать VS Code локально была такой же стабильной, как кружка чая у ноутбука. Но в какой-то момент стало слишком много: два компа, один VPS, быстрые фиксы с телефона — и всё это требовало синхронизации, туннелей, вечного
scp
Зачем вообще IDE на сервере?
Если вы тоже фрилансерка или работаете с несколькими машинами, знакомо: переключаешься с одного устройства на другое — и начинается: «тут нет ключа», «а тут не тот Python», «где мой .env?». А ещё бывают ситуации, когда нужно быстро править код — а у тебя только iPad или слабенький ноут.
Вот тут и приходит спасение: кодовая среда в браузере, которая работает прямо на VPS. А значит:
- всегда одинаковая среда,
- доступ с любого устройства,
- никаких зависимостей локально.
VS Code Server (Code-Server): мой выбор #1
Начала я с code-server — это тот же любимый Visual Studio Code, только запускается на сервере и открывается в браузере. Интерфейс тот же, плагины те же, удобство — на месте.
Установка (на Ubuntu VPS):
curl -fsSL https://code-server.dev/install.sh | sh
После установки:
sudo systemctl enable --now code-server@$USER
Файл конфигурации:
~/.config/code-server/config.yaml
Там можно задать пароль, порт, автологин и т.п.
Доступ через браузер
По умолчанию code-server крутится на
localhost:8080
server { listen 80; server_name ide.my-domain.com; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_set_header Accept-Encoding gzip; } }
И подключила Let’s Encrypt, чтобы не ловить тревогу от браузера при каждой загрузке.
Eclipse Theia — почти VS Code, но со своей атмосферой
Eclipse Theia — это ещё одна веб-IDE, внешне очень похожа на VS Code, но чуть более “академичная”. Она тоже запускается на VPS и работает в браузере. У неё тоже есть плагины, терминал, работа с Git, и даже дебаггер.
Установка (через Docker):
docker run -it \ -p 3000:3000 \ -v "$(pwd):/home/project:cached" \ theiaide/theia:latest
Вот и всё — открываете
http://your-vps-ip:3000
Что мне больше понравилось?
Обе IDE хороши, но я осталась на code-server, потому что:
- быстрее стартует;
- более “родной” VS Code UI;
- проще кастомизировать под себя.
Но у Theia есть свои фишки: например, в enterprise-версиях можно собирать свою сборку с нужными расширениями. Для компаний — топ.
Как это изменило мою работу
Серьёзно, это было как переезд в новую квартиру. Всё организовано, ничего не теряется. Я стала спокойно переключаться между ноутбуком и стационарным ПК. Иногда даже правлю баги прямо с планшета — открыл браузер, подключился к VPS, и всё как на ладони.
Плюс — никакой зависимости от IDE, установленной на железе. Поставила себе на Android-устройство Termux + браузер, и могу пушить фикс прямо из поезда. Ну разве не кайф?
Минусы? Конечно, без них не обошлось
- Нужно продумать безопасность: обязательно HTTPS, пароль и ограничение доступа по IP.
- При плохом интернете работать некомфортно.
- Иногда обновления code-server конфликтуют с расширениями (но это редкость).
Что ещё можно подключить:
- Docker — чтобы запускать проекты в контейнерах прямо в IDE;
- Git sync — чтобы пушить коммиты без локального Git;
- Tailscale — если не хотите открывать порт в интернет вообще.
🛠 Конфигурация для Code-Server на VPS (Ubuntu/Debian)
~/.config/code-server/config.yaml
~/.config/code-server/config.yaml
bind-addr: 127.0.0.1:8080 auth: password password: mystrongpassword123 cert: false
⚠️ Не забудьте сменить
на свой.password
🔐 Пример Nginx-конфига для безопасного доступа
Файл:
/etc/nginx/sites-available/code-server.conf
server { listen 80; server_name ide.my-domain.com; location / { proxy_pass http://localhost:8080/; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_set_header Accept-Encoding gzip; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
Подключение сертификата:
sudo certbot --nginx -d ide.my-domain.com
🧪 Пример .env для проектов
# База данных DB_HOST=localhost DB_PORT=5432 DB_NAME=myapp DB_USER=postgres DB_PASSWORD=secret # Прочее APP_ENV=development APP_PORT=3000 JWT_SECRET=supersecretkey
📦 Docker-команда для Theia IDE
docker run -d \ --name theia \ -p 3000:3000 \ -v ~/projects:/home/project \ theiaide/theia:latest
Theia автоматически подхватит директорию с проектом.
VPS с запасом прочности
Оплатите год — получите 13 месяцев надежных ресурсов.