SpaceX отдаёт Anthropic всю мощность Colossus 1, лимиты Claude растут, а на фоне суда Маска с OpenAI это выглядит как публичный жест в сторону Альтмана.
СейчасКогда нужен российский VPS
- Когда нужен российский VPS
- TimeWeb, Selectel, Beget и Yandex Cloud: кого выбрать
- Как выбрать тариф: CPU, RAM, SSD, локация
- Первичная настройка сервера: Ubuntu, SSH, firewall, fail2ban
- Гигиена системы: swap, часовой пояс, автообновления
- Веб-сервер и SSL: Caddy или nginx
- IPv4 или IPv6: почему адрес IPv4 обязателен
- Docker: запуск сервисов в контейнерах
- Деплой Astro и сервисов под Cloudflare Workers
- Серверный паспорт и мониторинг
- Управление всей инфраструктурой через API Timeweb
- Эталонный чеклист развёртывания
Практическое руководство по выбору и развёртыванию VPS в России: какой провайдер взять под задачу, как не переплатить за тариф и как за полчаса довести чистый сервер до состояния, в котором на нём можно безопасно держать рабочие сервисы.
Когда нужен российский VPS
Зарубежные облака (Hetzner, DigitalOcean, Cloudflare) удобнее и дешевле, но российский сервер выигрывает в нескольких сценариях:
- Оплата рублями с карты РФ. Зарубежные провайдеры почти все отказались от российских карт, и оплата превращается в квест.
- 152-ФЗ и персональные данные. Если вы храните перональные данные россиян, по закону они должны лежать на серверах в РФ.
- Низкий пинг до российской аудитории. Сайт и API из московского дата-центра отвечают пользователям в России на десятки миллисекунд быстрее.
- Доступность для российских сервисов. Многие API (банки, Госуслуги, Яндекс 360) пускают только российские IP.
TimeWeb, Selectel, Beget и Yandex Cloud: кого выбрать
Четыре провайдера закрывают почти все запросы. Различаются они не ценой, а тем, сколько контроля и сложности вы готовы взять на себя.
| Провайдер | Кому подходит | Сильные стороны | На что смотреть |
| Timeweb Cloud | Большинство pet-проектов, сайтов, ботов, MVP | Лучшая цена в РФ, простая панель, почасовая оплата, NVMe, дата-центры в РФ и Европе | IPv4 оплачивается отдельно; короткий тестовый период |
| Selectel | Зрелые продакшен-проекты, команды | Гибкая конфигурация, приватные сети, выделенные серверы, сильная репутация | Дороже и сложнее на старте |
| Beget | Новички, простые сайты и боты | Самая дружелюбная панель, отличный аптайм, простой биллинг | Меньше гибкости в конфигурациях |
| Yandex Cloud | Серьёзные нагрузки, интеграция с экосистемой Яндекса | 40+ управляемых сервисов, managed-базы, автоскейлинг, 60 дней триала | Высокий порог входа, выше цена, оплата по факту потребления |
Для типичного российского пользователя — личный сайт, Telegram-бот, небольшой API или ИИ-агент — оптимальная отправная точка это Timeweb Cloud: дёшево, понятно и достаточно мощно.
Как выбрать тариф: CPU, RAM, SSD, локация
У Timeweb десятки тарифов, но логика выбора простая.
| Параметр | Минимум | Комфорт | Зачем |
| CPU | 1 vCPU | 2 vCPU | Сборки, Node.js, базы данных любят второе ядро |
| RAM | 2 ГБ | 4 ГБ | На 1 ГБ современный стек упирается в нехватку памяти и OOM-killer |
| Диск | 30 ГБ NVMe | 40–80 ГБ NVMe | ОС, Docker-образы и логи съедают место быстрее, чем кажется |
| Локация | Москва / СПб | Москва / СПб | Минимальный пинг до российской аудитории |
Ориентировочные цены Timeweb на 2026 год: тариф с 2 vCPU / 2 ГБ / 40 ГБ NVMe стоит примерно 700–900 ₽/мес, конфигурация 4 ГБ RAM — около 1 500 ₽/мес. Трафик безлимитный, оплата почасовая, минимальный платёж для старта 50 ₽.
Первичная настройка сервера: Ubuntu, SSH, firewall, fail2ban
Берите Ubuntu 24.04 LTS — это стандарт, под который написана вся документация. Сразу после создания сервера выполните базовую защиту: новый сервер с открытым SSH и паролем root начинают перебирать боты в первые же минуты.
1. Обновите систему и создайте рабочего пользователя. Под root в повседневной работе сидеть нельзя.
apt update && apt upgrade -y
# Создаём пользователя с правами sudo
adduser deploy
usermod -aG sudo deploy
# Переносим свой публичный SSH-ключ новому пользователю
rsync --archive --chown=deploy:deploy ~/.ssh /home/deploy2. Закройте вход по паролю и под root. Отредактируйте /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yesПрименится после systemctl restart ssh. Перед перезапуском проверьте, что ключ работает, в отдельном терминале — иначе можно закрыть себе доступ.
/etc/ssh/sshd_config.d/, который включает вход по паролю и переопределяет основной конфиг. Если после правок пароль всё ещё принимается, загляните в эту папку и поправьте файлы в ней.3. Включите firewall. UFW пускает только нужные порты:
ufw default deny incoming
ufw default allow outgoing
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable4. Поставьте fail2ban. Он банит IP, которые перебирают SSH:
apt install fail2ban -y
systemctl enable --now fail2banPasswordAuthentication yes вместе с root-доступом на боевом сервере. Это самая частая причина взлома российских VPS.Гигиена системы: swap, часовой пояс, автообновления
Три небольшие настройки, которые новички пропускают, а потом ловят странные сбои.
Swap-файл. На дешёвых тарифах с 1–2 ГБ RAM сборка фронтенда или запуск базы легко упираются в потолок памяти, и тогда OOM-killer убивает процесс. Swap-файл на 1–2 ГБ даёт системе подушку:
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstabSwap медленнее оперативной памяти, поэтому это страховка от падений, а не способ сэкономить на RAM под постоянную нагрузку.
Часовой пояс. По умолчанию сервер живёт в UTC. Если вы смотрите логи и ставите задачи в cron по московскому времени, выставьте пояс сразу, иначе расследование инцидентов превращается в арифметику:
timedatectl set-timezone Europe/MoscowАвтообновления безопасности. Чтобы критические патчи ставились без вашего участия:
apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgradesВеб-сервер и SSL: Caddy или nginx
Для нового проекта берите Caddy: он сам получает и продлевает бесплатный сертификат Let's Encrypt, и HTTPS работает из коробки. nginx мощнее и гибче, но требует ручной возни с certbot.
Минимальный Caddyfile для статического сайта с автоматическим HTTPS:
example.ru {
encode gzip zstd
root * /var/www/example
file_server
}Для приложения, которое слушает локальный порт (Node.js, Python), Caddy работает обратным прокси и так же сам ставит SSL:
api.example.ru {
reverse_proxy 127.0.0.1:3000
}Домены. В DNS-записях домена пропишите A-запись на IPv4-адрес сервера. Если домен заведён в Cloudflare, прокси (оранжевое облако) можно оставить включённым — он скроет реальный IP и добавит защиту, но тогда сертификат на сервере и режим SSL в Cloudflare должны совпадать (Full strict).
IPv4 или IPv6: почему адрес IPv4 обязателен
Timeweb даёт IPv6 бесплатно, а IPv4 — за деньги, и возникает соблазн сэкономить и взять сервер только с IPv6. Это ловушка.
Живой пример из практики: конвейер синхронизации Plaud (выгрузка транскриптов через неофициальный API) на IPv6-only сервере молча не работал — эндпоинты сервиса доступны только по IPv4. Диагностика таких проблем коварна: сайт открывается, ping проходит, а конкретная интеграция «без причины» отваливается.
Правило: для любого сервера, который ходит во внешние API, берите IPv4-адрес сразу. IPv6 оставьте как дополнение, а не как замену.
Docker: запуск сервисов в контейнерах
Боты, API и базы данных удобно держать в контейнерах: окружение изолировано, а перенос на другой сервер сводится к копированию compose-файла. Установка официального Docker на Ubuntu:
curl -fsSL https://get.docker.com | sh
# Запускать docker без sudo
usermod -aG docker deployДальше сервисы описываются в docker-compose.yml и поднимаются одной командой:
docker compose up -dports: 5432:5432 окажется доступен из интернета, даже если этот порт закрыт в UFW. Публикуйте порты только на localhost (127.0.0.1:5432:5432), а наружу отдавайте сервисы через Caddy.Логи и состояние контейнеров смотрите через docker compose logs -f и docker ps. Долгоживущие стеки запускайте с политикой перезапуска restart: unless-stopped, чтобы они поднимались после перезагрузки сервера.
Деплой Astro и сервисов под Cloudflare Workers
Статический сайт на Astro разворачивается на VPS тривиально: собираете и кладёте результат в директорию, которую отдаёт Caddy.
npm ci
npm run build # результат в ./dist
rsync -a --delete ./dist/ /var/www/example/Сложнее с сервисами, написанными под Cloudflare Workers: они рассчитаны на edge-рантайм, а не на обычный Node.js. На своём VPS есть два пути:
- workerd — официальный опенсорсный рантайм Cloudflare. Запускает Worker-код локально, максимально близко к продакшену Cloudflare.
- Адаптация под Node.js — если Worker использует только стандартные API, его часто можно собрать под Node-совместимый рантайм (например, через Nitro или Hono с Node-адаптером) и запустить под менеджером процессов.
Любой долгоживущий процесс держите под systemd или pm2, чтобы он переживал перезагрузку сервера и падения.
flowchart LR
A["Git push"] --> B["Сборка на сервере<br>npm run build"]
B --> C{"Тип проекта"}
C -->|"Статика (Astro)"| D["Каталог /var/www"]
C -->|"Worker / API"| E["workerd или Node + systemd"]
D --> F["Caddy: HTTPS + домен"]
E --> F
F --> G["Пользователь"]Серверный паспорт и мониторинг
Через полгода вы забудете, что и зачем крутится на сервере. Заведите серверный паспорт — короткий документ (можно прямо в Notion) с ключевой информацией.
Минимальный мониторинг, чтобы узнавать о проблемах раньше пользователей:
- Аптайм-проверка снаружи — бесплатный UptimeRobot или подобный сервис, который пингует сайт и шлёт уведомление при падении.
- Место на диске — самая частая причина внезапных отказов. Настройте алерт при заполнении выше 80%.
- Бэкапы — Timeweb предлагает автоматические резервные копии за доплату. Для базы данных дополнительно делайте
pg_dump/mysqldumpпо расписанию вcron. - Логи —
journalctl -u имя-сервисаи логи Caddy в/var/logподскажут причину при разборе инцидента.
pg_dump/mysqldump отдельно и складывайте копию вне сервера — другой VPS, объектное хранилище S3 или Synology. И обязательно проверяйте восстановление: бэкап, который ни разу не разворачивали, бесполезен.Управление всей инфраструктурой через API Timeweb
Панель — не единственный способ управлять серверами. У Timeweb Cloud есть полноценный API, через который можно поднимать и удалять VPS, управлять дисками и снапшотами, читать и менять DNS-записи, настраивать firewall-группы и включать бэкапы. Почти всё, что вы делаете мышкой в панели, доступно программно и воспроизводимо.
Ценность API растёт вместе с числом серверов. Для одной машины хватает панели. Но когда их становится пять или семь, ручная инвентаризация превращается в археологию: вкладка за вкладкой, скриншот за скриншотом. API отдаёт ту же картину одним списком — сколько VPS, какие диски, где включены бэкапы, какие домены и DNS заведены, какие firewall-группы подключены.
Два принципа, если выдаёте API-доступ скрипту или агенту:
- Сначала только чтение. API облака — это кнопка, рядом с которой мелким шрифтом написано «удалить DNS» и «остановить production». Начните с read-only: соберите карту, а изменения вносите отдельными согласованными шагами.
- Токен — это ключ от всего. Не храните его в коде репозитория и не вставляйте в переписку. Держите в менеджере секретов или переменных окружения и отзывайте, если он мог утечь.
У API есть важное ограничение: он видит облачный слой, но не заглядывает внутрь сервера. Он покажет, что VPS существует, какой у него диск и есть ли бэкап, но не расскажет, что внутри кто-то полгода назад поднял Docker и забыл базу. Полная картина собирается в два слоя — API снаружи и SSH изнутри.
Эталонный чеклист развёртывания
Пройдите по списку перед тем, как пускать на сервер боевой трафик:
A-запись домена указывает на IPv4 сервераsystemd/pm2 и стартуют после перезагрузкиПо теме
Свой сервер в России — это посильная задача, если идти по шагам и заранее продумать сеть, доступы и мониторинг. Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov
Если хотите разобрать свою задачу — напишите мне Если хотите разобрать свою задачу — напишите мне.
Можно прийти с идеей, черновым контекстом или уже живой задачей. Помогу быстро понять, где реальный следующий шаг, а где лишний шум.
Обычно хватает 2–3 сообщений, чтобы понять, могу ли я здесь реально помочь и в каком формате лучше двигаться дальше.
Связанные материалы
Через 10 лет у вас будут миллиарды клиентов с кошельками. Только это будут не люди — это будут агенты. Разбираю, что это значит для тех, кто строит продукты сегодня.
Илон Маск объявил, что доступ к API платформы X теперь можно получить через OpenClaw — и обещает сделать его доступным. Разбираюсь, почему это важно для всех, кто строит ИИ-агентов…