bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward
eco Початковий Туторіал

Встановлення Code-Server

calendar_month Jun 23, 2026 schedule 16 хв. читання visibility 32 переглядів
Установка Code-Server на VPS: VS Code в браузере, SSL и безопасность
info

Потрібен сервер для цього гайду? Ми пропонуємо виділені сервери та VPS у 50+ країнах з миттєвим налаштуванням.

Потрібен сервер для цього гайду?

Розгорніть VPS або виділений сервер за хвилини.

Встановлення Code-Server на VPS: VS Code у браузері, SSL та безпека

TL;DR

У цьому детальному посібнику ми покроково налаштуємо Code-Server на вашому VPS, надавши вам повноцінне середовище розробки Visual Studio Code прямо в браузері. Ви дізнаєтеся, як забезпечити безпеку з'єднання за допомогою SSL/TLS через Caddy, налаштувати базові заходи захисту сервера та автоматизувати бекапи. Це дозволить вам працювати над проєктами з будь-якої точки світу, використовуючи потужність вашого віддаленого сервера.

  • Встановлення Code-Server на Ubuntu 24.04 LTS.
  • Налаштування веб-сервера Caddy для проксіювання та автоматичного отримання SSL-сертифікатів Let's Encrypt.
  • Базові заходи безпеки: фаєрвол UFW, Fail2Ban, автентифікація за SSH-ключами.
  • Забезпечення віддаленого доступу до вашої IDE через доменне ім'я та HTTPS.
  • Рекомендації щодо вибору VPS-конфігурації та стратегії бекапів.

Що ми налаштовуємо і навіщо

Схема: Что мы настраиваем и зачем
Схема: Що ми налаштовуємо і навіщо

У цьому туторіалі ми займемося встановленням та налаштуванням Code-Server на вашому власному VPS. Code-Server — це потужний інструмент, який дозволяє запускати Visual Studio Code на віддаленому сервері та отримувати доступ до нього через веб-браузер. Уявіть, що у вас є повноцінна IDE, доступна з будь-якого пристрою, будь то ноутбук, планшет або навіть смартфон, без необхідності встановлювати що-небудь локально.

У підсумку, ви отримаєте повністю функціональне та безпечне середовище розробки, яке завжди доступне, завжди однакове, незалежно від того, де ви знаходитесь. Всі ваші проєкти, розширення, налаштування та термінал будуть знаходитися на віддаленому сервері, що забезпечує консистентність та централізоване управління.

Чому Code-Server на VPS?

Існує кілька альтернатив для віддаленої розробки або хмарних IDE:

  • Локальний VS Code з SSH Remote: Чудовий варіант, якщо у вас завжди є потужний локальний комп'ютер. Однак, він прив'язує вас до конкретної машини та вимагає встановлення VS Code на кожен пристрій.
  • Хмарні IDE (Gitpod, GitHub Codespaces, AWS Cloud9): Ці сервіси надають готові середовища розробки в хмарі. Вони зручні, але можуть бути дорожчими, мають свої обмеження та дають менше контролю над інфраструктурою. Ви також залежите від їхньої цінової політики та доступності.
  • Self-hosted Code-Server на VPS: Цей підхід поєднує гнучкість хмарних рішень з повним контролем над вашою інфраструктурою. Ви платите лише за VPS, можете налаштовувати сервер під свої потреби, встановлювати будь-які інструменти та розширення, а також повністю контролювати безпеку даних. Це ідеальний варіант для розробників, соло-фаундерів, криптоентузіастів та всіх, хто цінує приватність та незалежність.

Вибір Code-Server на VPS дозволяє вам володіти своїм середовищем розробки, оптимізувати витрати та бути впевненим у безпеці ваших даних, що особливо важливо для конфіденційних проєктів.

Який VPS-конфіг потрібен для цього завдання

Схема: Какой VPS-конфиг нужен под эту задачу
Схема: Який VPS-конфіг потрібен для цього завдання

Вибір правильної конфігурації VPS критичний для комфортної роботи з Code-Server. Мінімальні вимоги залежать від складності ваших проєктів, кількості одночасно відкритих файлів, використовуваних розширень та компіляторів.

Мінімальні вимоги для одного користувача та невеликих проєктів:

  • CPU: 2 vCPU. Цього буде достатньо для більшості завдань, включаючи компіляцію невеликих проєктів та запуск базових сервісів.
  • RAM: 2-4 ГБ. Code-Server сам по собі споживає близько 500 МБ, плюс кожне відкрите розширення, термінал та мовний сервер додають навантаження. Для комфортної роботи з JavaScript, Python або Go 4 ГБ буде оптимально.
  • Диск: 40-60 ГБ NVMe SSD. SSD значно прискорює операції читання/запису, що важливо для завантаження проєктів, встановлення залежностей та роботи з файлами. NVMe SSD забезпечить найкращу продуктивність.
  • Мережа: 100 Мбіт/с або 1 Гбіт/с Uplink. Висока швидкість мережі важлива для швидкого завантаження сторінок IDE в браузері та для роботи з віддаленими репозиторіями.

Рекомендований VPS-план для одного користувача та середніх проєктів (актуально на 2026 рік):

Для більш комфортної роботи, особливо якщо ви плануєте запускати Docker-контейнери, бази даних або більш ресурсоємні процеси паралельно з Code-Server, розгляньте наступну конфігурацію:

  • CPU: 4 vCPU
  • RAM: 8 ГБ
  • Диск: 80-160 ГБ NVMe SSD
  • Мережа: 1 Гбіт/с Uplink

Такий VPS із зазначеними характеристиками забезпечить достатній запас продуктивності для більшості сценаріїв розробки.

Коли потрібен dedicated сервер?

Dedicated сервер може знадобитися, якщо:

  • Ви плануєте використовувати Code-Server для великої команди (10+ осіб), де кожен розробник матиме своє ізольоване середовище.
  • Ваші проєкти дуже ресурсоємні (наприклад, компіляція ядра Linux, робота з великими даними, машинне навчання) та вимагають максимальної продуктивності CPU та RAM.
  • Вам потрібна повна ізоляція заліза та передбачувана продуктивність без "сусідства" з іншими користувачами.

У цих випадках відповідний dedicated сервер може бути більш економічно вигідним та продуктивним рішенням у довгостроковій перспективі.

Локація VPS: на що впливає

Вибирайте локацію VPS, яка географічно ближче до вас або вашої команди. Це мінімізує затримку (latency) при роботі з IDE в браузері, роблячи досвід використання Code-Server більш плавним та чуйним. Для більшості європейських користувачів VPS у Західній або Центральній Європі буде оптимальним вибором.

Підготовка сервера

Схема: Подготовка сервера
Схема: Підготовка сервера

Перш ніж встановлювати Code-Server, необхідно виконати базове налаштування вашого VPS для забезпечення безпеки та стабільності. Ми будемо використовувати Ubuntu Server 24.04 LTS (Noble Numbat), оскільки це актуальна та підтримувана версія на 2026 рік.

1. Підключення по SSH та створення нового користувача

Завжди працюйте під обмеженим користувачем з правами sudo, а не під root. Це знижує ризики безпеки.


# Підключіться як root (або користувач, наданий провайдером)
ssh root@ВАШ_IP_АДРЕСА

# Створіть нового користувача (замініть 'вашпользователь' на бажане ім'я)
adduser вашкористувач

# Додайте користувача до групи sudo
usermod -aG sudo вашкористувач

# Переключіться на нового користувача
su - вашкористувач

Тепер ви будете працювати від імені нового користувача.

2. Налаштування автентифікації за SSH-ключами

Використання SSH-ключів набагато безпечніше паролів. Якщо у вас ще немає пари ключів, згенеруйте їх на локальній машині:


# На локальній машині
ssh-keygen -t ed25519 -C "ваш[email protected]"

Потім скопіюйте публічний ключ на сервер:


# На локальній машині
ssh-copy-id вашкористувач@ВАШ_IP_АДРЕСА

Після цього спробуйте підключитися, використовуючи новий ключ. Потім відключіть автентифікацію за паролем для підвищення безпеки. Відредагуйте файл /etc/ssh/sshd_config:


# На сервері
sudo nano /etc/ssh/sshd_config

Знайдіть та змініть наступні рядки (якщо їх немає, додайте):


PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Збережіть файл (Ctrl+O, Enter, Ctrl+X) та перезапустіть службу SSH:


sudo systemctl restart sshd

ВАЖЛИВО: Перед відключенням від сервера переконайтеся, що ви можете увійти за SSH-ключем! Якщо ні, ви ризикуєте втратити доступ.

3. Налаштування фаєрволу UFW

UFW (Uncomplicated Firewall) — це простий спосіб керувати правилами фаєрволу.


# Дозволити SSH (за замовчуванням порт 22)
sudo ufw allow OpenSSH

# Дозволити HTTP (порт 80) та HTTPS (порт 443) для Caddy
sudo ufw allow http
sudo ufw allow https

# Увімкнути фаєрвол
sudo ufw enable
# Підтвердіть 'y'

Перевірте статус фаєрволу:


sudo ufw status verbose

4. Встановлення та налаштування Fail2Ban

Fail2Ban сканує логи на предмет підозрілих активностей (наприклад, множинних невдалих спроб входу по SSH) та тимчасово блокує IP-адреси порушників.


# Встановлення Fail2Ban
sudo apt install fail2ban -y

# Створення копії конфігурації для змін
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

# Редагування jail.local для налаштування
sudo nano /etc/fail2ban/jail.local

У файлі jail.local можна налаштувати параметри, такі як bantime (час блокування), findtime (період для пошуку спроб) та maxretry (максимальна кількість спроб). Для більшості випадків налаштувань за замовчуванням достатньо, але можна збільшити bantime, наприклад, до 1d (1 день).


[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
bantime = 1d # Блокувати на 1 день
maxretry = 3 # Блокувати після 3 невдалих спроб

Збережіть файл та перезапустіть Fail2Ban:


sudo systemctl restart fail2ban
sudo systemctl enable fail2ban

Перевірте статус Fail2Ban:


sudo fail2ban-client status sshd

5. Оновлення системи

Завжди оновлюйте систему до останніх пакетів безпеки.


# Оновлення списку пакетів
sudo apt update

# Оновлення встановлених пакетів
sudo apt upgrade -y

# Видалення непотрібних пакетів (опціонально)
sudo apt autoremove -y

Тепер ваш сервер готовий до встановлення Code-Server та Caddy.

Встановлення ПЗ — покроково

Встановлення ПЗ — покроково

Схема: Встановлення ПЗ — покроково
Схема: Встановлення ПЗ — покроково

На цьому етапі ми встановимо Code-Server і Caddy на наш VPS. Ми будемо використовувати актуальні версії, доступні у 2026 році. Для Code-Server це буде версія 4.20.0, а для Caddy — 2.7.5.

1. Встановлення Code-Server

Найпростіший спосіб встановити Code-Server — використовувати офіційний інсталяційний скрипт, який подбає про залежності та налаштування Systemd-сервісу.


# Оновлення індексу пакетів та встановлення необхідних утиліт
sudo apt update && sudo apt install -y curl wget git

# Завантаження та запуск офіційного інсталяційного скрипта Code-Server (версія 4.20.0)
# Ця команда завантажить та встановить Code-Server, а також створить Systemd-сервіс
curl -fsSL https://code-server.dev/install.sh | sh -s -- --version 4.20.0

Після завершення встановлення Code-Server буде налаштований як системний сервіс. Ви можете перевірити його статус:


# Перевірка статусу сервісу Code-Server
systemctl status code-server@вашпользователь

Якщо сервіс не запущений або видає помилку, можливо, потрібно буде перезапустити його або перевірити логи. За замовчуванням Code-Server запускається на порту 8080.

2. Встановлення Caddy Web Server

Caddy — це потужний, простий у використанні веб-сервер з автоматичною підтримкою HTTPS (Let's Encrypt). Він ідеально підходить для проксіювання Code-Server.


# Встановлення пакетів, необхідних для додавання репозиторію Caddy
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https

# Додавання GPG ключа Caddy
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

# Додавання репозиторію Caddy до списку джерел
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list

# Оновлення індексу пакетів та встановлення Caddy (версія 2.7.5)
sudo apt update
sudo apt install caddy -y

Після встановлення Caddy також буде налаштований як системний сервіс і автоматично запуститься. Перевірити його статус можна так:


# Перевірка статусу сервісу Caddy
systemctl status caddy

3. Налаштування доменного імені

Для роботи Caddy з автоматичним HTTPS вам знадобиться доменне ім'я. Зареєструйте домен, якщо у вас його немає, і створіть A-запис, що вказує на IP-адресу вашого VPS. Наприклад: code.вашдомен.com -> ВАША_IP_АДРЕСА.

Переконайтеся, що DNS-запис поширився мережею, перш ніж переходити до наступного кроку (це може зайняти від кількох хвилин до кількох годин).

4. Налаштування фаєрволу для Caddy

Ми вже дозволяли HTTP та HTTPS, але переконайтеся, що вони активні.


# Перевірка статусу UFW
sudo ufw status verbose

Ви повинні побачити правила для портів 80 та 443 (HTTP та HTTPS) у статусі ALLOW.

Конфігурація

Схема: Конфігурація
Схема: Конфігурація

Тепер, коли Code-Server і Caddy встановлені, ми налаштуємо їх для спільної роботи, забезпечимо доступ через доменне ім'я та автоматизуємо отримання SSL-сертифікатів.

1. Конфігурація Code-Server

Code-Server за замовчуванням створює конфігураційний файл або використовує змінні оточення. Для нашого випадку ми будемо використовувати файл конфігурації, який був створений інсталяційним скриптом. Він знаходиться у ~/.config/code-server/config.yaml.


# Відкрийте файл конфігурації Code-Server
nano ~/.config/code-server/config.yaml

У цьому файлі ви можете налаштувати параметри, такі як пароль для доступу до IDE. Знайдіть або додайте наступні рядки:


bind-addr: 127.0.0.1:8080
auth: password
password: "ВАШ_СКЛАДНИЙ_ПАРОЛЬ" # Обов'язково замініть на надійний пароль!
cert: false
  • bind-addr: 127.0.0.1:8080: Code-Server буде слухати лише на локальному інтерфейсі, що безпечно, оскільки Caddy буде проксіювати запити.
  • auth: password: Вмикає автентифікацію за паролем.
  • password: "ВАШ_СКЛАДНИЙ_ПАРОЛЬ": Встановіть дуже надійний пароль.
  • cert: false: Вимикаємо вбудований HTTPS Code-Server, оскільки Caddy буде займатися SSL.

Збережіть файл (Ctrl+O, Enter, Ctrl+X) і перезапустіть Code-Server, щоб застосувати зміни:


sudo systemctl restart code-server@вашпользователь

2. Конфігурація Caddy для проксіювання та SSL

Caddy використовує файл Caddyfile для своєї конфігурації, розташований за адресою /etc/caddy/Caddyfile.


# Відкрийте Caddyfile для редагування
sudo nano /etc/caddy/Caddyfile

Видаліть весь існуючий вміст і додайте наступну конфігурацію, замінивши code.вашдомен.com на ваш реальний домен:


code.вашдомен.com {
    reverse_proxy 127.0.0.1:8080 {
        # Заголовки, необхідні для коректної роботи WebSocket та інших функцій Code-Server
        header_up Host {host}
        header_up X-Real-IP {remote_ip}
        header_up X-Forwarded-For {remote_ip}
        header_up X-Forwarded-Proto {scheme}
    }

    # Увімкнення стиснення (gzip) для статичних файлів
    encode gzip

    # Додаткові заголовки безпеки (опціонально, але рекомендується)
    header {
        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
        X-Content-Type-Options "nosniff"
        X-Frame-Options "DENY"
        X-XSS-Protection "1; mode=block"
        Referrer-Policy "strict-origin-when-cross-origin"
    }
}

Збережіть файл і перезапустіть Caddy, щоб він застосував нову конфігурацію та отримав SSL-сертифікат від Let's Encrypt:


# Перевірка синтаксису Caddyfile перед перезапуском
sudo caddy validate --config /etc/caddy/Caddyfile

# Перезапуск Caddy для застосування нової конфігурації
sudo systemctl reload caddy

Caddy автоматично спробує отримати SSL-сертифікат для вашого домену. Якщо виникнуть проблеми, перевірте, що ваш DNS A-запис коректно вказує на IP-адресу сервера, і що порти 80/443 відкриті в UFW.

3. Перевірка працездатності

Після налаштування та перезапуску Caddy, відкрийте ваш веб-браузер і перейдіть за адресою https://code.вашдомен.com. Ви повинні побачити сторінку входу Code-Server. Введіть пароль, який ви встановили у config.yaml.

Якщо ви зіткнулися з проблемами, перевірте логи Caddy та Code-Server:


# Перегляд логів Caddy
journalctl -u caddy --no-pager

# Перегляд логів Code-Server
journalctl -u code-server@вашпользователь --no-pager

Ви також можете перевірити, чи слухає Code-Server на порту 8080:


sudo ss -tuln | grep 8080

І переконатися, що Caddy слухає на портах 80 та 443:


sudo ss -tuln | grep -E "80|443"

Якщо все налаштовано правильно, ви отримаєте доступ до повноцінного середовища VS Code у вашому браузері із захищеним HTTPS-з'єднанням.

Резервне копіювання та обслуговування

Схема: Резервне копіювання та обслуговування
Схема: Резервне копіювання та обслуговування

Регулярне резервне копіювання та своєчасне обслуговування сервера — ключ до стабільної та безпечної роботи вашого середовища розробки.

1. Що резервувати

Для Code-Server та пов'язаного з ним середовища розробки важливо резервувати наступні компоненти:

  • Проєкти та робочі файли: Усі ваші репозиторії, вихідний код, дані, які ви створюєте або змінюєте. Зазвичай це знаходиться в домашній директорії користувача (/home/вашпользователь/) або у спеціально виділених папках.
  • Конфігурація Code-Server: Файл ~/.config/code-server/config.yaml, а також папка ~/.local/share/code-server/, яка містить встановлені розширення, користувацькі налаштування та кеш.
  • Конфігурація Caddy: Файл /etc/caddy/Caddyfile.
  • Конфігурація системи: Важливі системні конфіги, якщо ви вносили в них зміни (наприклад, /etc/ssh/sshd_config, /etc/fail2ban/jail.local, /etc/ufw/).
  • Бази даних: Якщо ви використовуєте локальні бази даних (PostgreSQL, MySQL), обов'язково робіть їх дампи.

2. Простий скрипт авторезервування з Restic

Restic — це сучасна, швидка та безпечна програма для резервного копіювання, яка підтримує шифрування та дедуплікацію даних. Вона може зберігати резервні копії на різні сховища, включаючи S3-сумісні об'єкти, SFTP, Backblaze B2 та інші.

Встановлення Restic:

# Загрузка последней версии Restic (актуальная на 2026 год, например, 0.17.0)
wget https://github.com/restic/restic/releases/download/v0.17.0/restic_0.17.0_linux_amd64.bz2
bzip2 -d restic_0.17.0_linux_amd64.bz2
sudo mv restic_0.17.0_linux_amd64 /usr/local/bin/restic
sudo chmod +x /usr/local/bin/restic
Ініціалізація репозиторію Restic:

Створіть каталог для скриптів резервного копіювання та ініціалізуйте репозиторій. Для прикладу використаємо S3-сумісне сховище (наприклад, Backblaze B2, DigitalOcean Spaces або інший VPS з MinIO).


mkdir ~/backups
nano ~/backups/backup.sh

Вміст backup.sh (замініть placeholders на свої дані):


#!/bin/bash

# Змінні оточення для Restic
export RESTIC_REPOSITORY="s3:https://s3.ВАШ_S3_РЕГІОН.com/ВАШ_S3_БАКЕТ"
export AWS_ACCESS_KEY_ID="ВАШ_S3_КЛЮЧ_ДОСТУПА"
export AWS_SECRET_ACCESS_KEY="ВАШ_S3_СЕКРЕТНЫЙ_КЛЮЧ"
export RESTIC_PASSWORD="ВАШ_СЛОЖНЫЙ_ПАРОЛЬ_ДЛЯ_БЭКАПОВ" # Отдельный пароль для шифрования бэкапов

# Ініціалізація репозиторію (виконати один раз вручну)
# restic init

# Створення знімка
restic backup \
    /home/вашпользователь \
    /etc/caddy/Caddyfile \
    /etc/ssh/sshd_config \
    --exclude-file=/home/вашпользователь/.cache \
    --exclude-file=/home/вашпользователь/.npm \
    --exclude-file=/home/вашпользователь/.vscode-server \
    --tag code-server-daily

# Очищення старих знімків (зберігати останні 7 днів, 4 тижні, 12 місяців, 1 рік)
restic forget \
    --keep-daily 7 \
    --keep-weekly 4 \
    --keep-monthly 12 \
    --keep-yearly 1 \
    --prune

# Перевірка репозиторію (опціонально)
restic check

Зробіть скрипт виконуваним:


chmod +x ~/backups/backup.sh

ВАЖЛИВО: Виконайте restic init вручну ОДИН раз, щоб створити репозиторій. Після цього закоментуйте цей рядок у скрипті.

3. Куди зберігати резервні копії

Ніколи не зберігайте резервні копії на тому ж сервері, що й оригінальні дані. Використовуйте:

  • Зовнішнє S3-сумісне сховище: Backblaze B2, DigitalOcean Spaces, AWS S3. Це відносно недорого та надійно.
  • Окремий VPS: Ви можете налаштувати другий, менш потужний VPS і використовувати його як SFTP-сервер для зберігання резервних копій.
  • Мережеве сховище (NAS): Якщо у вас є власне NAS, можна налаштувати SFTP-доступ до нього.

4. Автоматизація резервного копіювання за допомогою Cron

Додайте скрипт до планувальника Cron для щоденного виконання.


crontab -e

Додайте наступний рядок в кінець файлу, щоб скрипт виконувався щодня о 3:00 ночі:


0 3 * * * /home/вашпользователь/backups/backup.sh >> /home/вашпользователь/backups/backup.log 2>&1

5. Оновлення: rolling vs maintenance window

  • Оновлення ОС: Регулярно запускайте sudo apt update && sudo apt upgrade -y. Для критичних оновлень ядра може знадобитися перезавантаження сервера. Плануйте це на час найменшої активності.
  • Оновлення Code-Server: Для оновлення Code-Server до нової версії (наприклад, з 4.20.0 до 4.21.0) можна повторно запустити інсталяційний скрипт з новою версією:
    
                curl -fsSL https://code-server.dev/install.sh | sh -s -- --version 4.21.0
                sudo systemctl restart code-server@вашпользователь
                
    Рекомендується перевіряти логи на предмет помилок після оновлення.
  • Оновлення Caddy: Caddy оновлюється через менеджер пакетів: sudo apt update && sudo apt upgrade caddy -y. Після оновлення Caddy автоматично перезапуститься, щоб застосувати зміни.

Завжди робіть резервну копію перед великими оновленнями, особливо перед оновленням ОС або Code-Server.

Вирішення проблем + FAQ

Тут зібрані відповіді на часті запитання та рішення типових проблем, з якими ви можете зіткнутися при налаштуванні Code-Server.

Code-Server не запускається або недоступний

Що перевірити:

  1. Перевірте статус сервісу Code-Server: systemctl status code-server@вашпользователь.
  2. Перегляньте логи Code-Server: journalctl -u code-server@вашпользователь --no-pager.
  3. Переконайтеся, що Code-Server слухає на порту 8080: sudo ss -tuln | grep 8080.
  4. Перевірте конфігурацію в ~/.config/code-server/config.yaml на предмет помилок.

Як виправити: Усуньте помилки, виявлені в логах. Переконайтеся, що bind-addr встановлено на 127.0.0.1:8080, а пароль коректний. Перезапустіть сервіс: sudo systemctl restart code-server@вашпользователь.

Не вдається отримати доступ до Code-Server через домен (Caddy не працює)

Що перевірити:

  1. Перевірте статус сервісу Caddy: systemctl status caddy.
  2. Перегляньте логи Caddy: journalctl -u caddy --no-pager.
  3. Переконайтеся, що Caddy слухає на портах 80 та 443: sudo ss -tuln | grep -E "80|443".
  4. Перевірте коректність вашого Caddyfile: sudo caddy validate --config /etc/caddy/Caddyfile.
  5. Переконайтеся, що DNS A-запис для вашого домену (наприклад, code.вашдомен.com) вказує на IP-адресу вашого VPS.
  6. Перевірте, що UFW дозволяє порти 80 та 443: sudo ufw status verbose.

Як виправити: Виправте помилки в Caddyfile, оновіть DNS-записи, якщо вони некоректні, або відкрийте порти в UFW. Перезапустіть Caddy: sudo systemctl reload caddy.

SSL-сертифікат не видається

Що перевірити:

  1. Переконайтеся, що ваш домен коректно розв'язується на IP-адресу сервера (можна використовувати dig code.вашдомен.com).
  2. Переконайтеся, що порти 80 та 443 відкриті в UFW і не зайняті іншою програмою.
  3. Перевірте логи Caddy на предмет помилок Let's Encrypt.

Як виправити: Усуньте проблеми з DNS або фаєрволом. Caddy автоматично спробує отримати сертифікат при перезапуску. Якщо проблема зберігається, можливо, у вас є ліміт на кількість сертифікатів від Let's Encrypt (рідко для нового домену).

Повільна робота Code-Server

Що перевірити:

  1. Завантаження CPU та RAM на сервері: htop або top.
  2. Швидкість дискової підсистеми (якщо проєкти великі).
  3. Розширення VS Code: деякі розширення можуть бути дуже ресурсоємними. Спробуйте вимкнути їх.
  4. Мережеве з'єднання між вашим клієнтом та VPS: перевірте пінг.

Як виправити: Розгляньте можливість апгрейду VPS (більше CPU/RAM, NVMe SSD). Оптимізуйте код проєктів. Вимикайте невикористовувані розширення. Перевірте стабільність вашого інтернет-з'єднання.

Який VPS-конфіг мінімально підійде?

Для одного користувача та невеликих проєктів мінімально підійде VPS з 2 vCPU, 2-4 ГБ RAM та 40-60 ГБ NVMe SSD. Цього буде достатньо для базової роботи з більшістю мов програмування без запуску важких фонових процесів. Однак, для більш комфортної роботи та проєктів середньої складності рекомендується 4 vCPU, 8 ГБ RAM та 80+ ГБ NVMe SSD.

Що обрати — VPS чи dedicated для цього завдання?

Для більшості індивідуальних розробників, соло-фаундерів або невеликих команд (до 3-5 осіб) VPS є оптимальним вибором. Він економічний і надає достатню потужність. Dedicated сервер варто розглядати, якщо у вас дуже великі та ресурсоємні проєкти, що вимагають максимальної продуктивності, або якщо ви розгортаєте Code-Server для великої команди (10+ осіб), де потрібна повна ізоляція ресурсів та кастомізація обладнання. В інших випадках VPS буде більш гнучким та економічним рішенням.

Висновки та наступні кроки

Схема: Висновки та наступні кроки
Схема: Висновки та наступні кроки

Вітаємо! Ви успішно налаштували Code-Server на своєму VPS, забезпечивши собі доступ до повноцінного середовища розробки Visual Studio Code з будь-якого браузера, захищеного за допомогою SSL/TLS. Ви також впровадили базові заходи безпеки та налаштували автоматичне резервне копіювання, що робить ваше робоче середовище надійним та безпечним.

Тепер у вас є потужний, гнучкий і повністю контрольований інструмент для віддаленої розробки. Але на цьому можливості не закінчуються. Ось кілька наступних кроків, які ви можете зробити:

  • Інтеграція з Git: Якщо ви ще не зробили цього, клонуйте свої Git-репозиторії на VPS і почніть активно використовувати вбудовані можливості VS Code для роботи з контролем версій.
  • Встановлення Docker: Для більш складних проєктів розгляньте встановлення Docker на ваш VPS. Це дозволить вам запускати ізольовані середовища для розробки, тестування та розгортання застосунків, не засмічуючи основну систему.
  • Автоматизація розгортання: Налаштуйте CI/CD пайплайни (наприклад, за допомогою GitLab CI/CD, GitHub Actions або Jenkins) для автоматичного тестування та розгортання ваших проєктів прямо з VPS.
  • Моніторинг сервера: Встановіть інструменти моніторингу (наприклад, Prometheus + Grafana, Netdata) для відстеження продуктивності вашого VPS та своєчасного виявлення проблем.

Поділитися цим записом:

встановлення code-server на vps: vs code у браузері, ssl та безпека
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.