Loading...

Хостинг Node.js

Хостинг Node.js — деплой из Git, с CDN впереди

Запускайте приложение Node.js на управляемой контейнерной платформе: пушите в Git — оно собирается и разворачивается, с доменом, автоматическим HTTPS и нашей глобальной edge-сетью впереди. Управляемые Postgres, Redis и S3-совместимое объектное хранилище — в одну команду, WAF и защита от DDoS включены. Работает с Next.js, NestJS, Express, Nuxt и всем, что запускается в контейнере — от 9 $/месяц с 15-дневным пробным периодом.

Попробуйте все функции бесплатно в течение 15 дней. Отмените в любой момент — вернём деньги в тот же день.

Хостинг Node.js — деплой из Git, с CDN впереди
GitPush — и деплой
4 PoPEdge в Турции
WAF + DDoSВключено
$9От / месяц

Ваше Node-приложение без возни с сервером

Приложение вы написали; утомительно всё остальное — VPS, который надо патчить, обратный прокси, который надо настроить, сертификаты, которые надо продлевать, менеджер процессов, чтобы всё это жило, и CDN, который прикручивают потом.

cdn.com.tr запускает ваше Node.js-приложение как управляемое контейнерное приложение. Вы подключаете Git-репозиторий, и каждый push собирает новый образ и выкатывает его. Вы получаете домен с автоматическим HTTPS, health-check, который перезапускает упавший контейнер, логи прямо в панели или CLI и возможность менять число реплик.

Поскольку всё работает в контейнере, рантайм — тот, который вы назовёте: ваша версия Node, ваш пакетный менеджер, ваш шаг сборки. Ничего не спрятано за умолчаниями хостинг-панели.

Next.js, NestJS, Express — всё, что контейнеризуется

Никакого особого списка «поддерживаемых фреймворков» нет, потому что нет и навязанного рантайма, с которым надо быть совместимым. Если приложение собирается в контейнер и слушает порт — оно здесь работает.

Это покрывает Next.js и Nuxt на фронте, NestJS, Express или Fastify для API и фоновые воркеры, которые вообще не отдают HTTP. Репозиторий с несколькими сервисами — веб-приложение, воркер, очередь — разворачивается как несколько контейнерных приложений из одного файла Docker Compose.

Вы сохраняете контроль над тем, что обычно ломается на шаред-хостинге: версия Node, нативные модули, лимиты памяти и то, как на самом деле идёт сборка.

Деплой из Git

Подключите репозиторий один раз и выберите ветку. Каждый push в неё собирает образ и разворачивает его. Ничего не надо загружать, никакого SSH, никакого собственного сборочного сервера.

В репозитории нужен Dockerfile — именно он задаёт сборку. Для Node-приложения это короткий файл, и он же делает деплой воспроизводимым: один и тот же коммит всегда даёт один и тот же образ. Примера ниже хватает для большинства проектов.

Dockerfile — a typical Node app

FROM node:22-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:22-alpine
WORKDIR /app
ENV NODE_ENV=production PORT=3000
COPY --from=build /app ./
EXPOSE 3000
CMD ["npm", "start"]

База, кэш и хранилище без лишних поставщиков

Большинству Node-приложений нужны база и кэш. Вместо регистрации где-то ещё и ручной вставки строк подключения включите их как управляемые аддоны — параметры подключения будут переданы в приложение за вас.

Доступны Postgres, MySQL, Redis и NATS, плюс S3-совместимое объектное хранилище для загрузок и статики — то же хранилище, из которого раздаёт CDN, так что пользовательские файлы уходят через edge, а не через ваше приложение.

Одна панель и один счёт: приложение, база, кэш, хранилище, DNS, CDN и WAF.

cdnctl — add-ons and deploy

cdnctl container addons enable-postgres --account <account_uuid> --app <app_uuid>
cdnctl container addons enable-redis    --account <account_uuid> --app <app_uuid>

# object storage for uploads
cdnctl object-storage buckets create --account <account_uuid> --name uploads

# ship it
cdnctl container apps deploy --account <account_uuid> --app <app_uuid>
cdnctl container apps logs   --account <account_uuid> --app <app_uuid> --tail 100

CDN уже впереди

Это та часть, которую иначе пришлось бы собирать отдельно. Приложение стоит за той же edge-сетью, что обслуживает наших CDN-клиентов: статика и кэшируемые ответы отдаются с ближайшего edge, со сжатием Brotli и автоматическими WebP/AVIF — ваш Node-процесс не тратит время на файлы, которые уже однажды отдал.

Благодаря 4 точкам присутствия в Турции турецкие пользователи обслуживаются с edge внутри страны, а сеть в 14 странах держит быстрыми остальных. WAF, защита от DDoS, фильтрация ботов и автоматический SSL — на том же edge, включены, а не в тарифе повыше.

После деплоя очищайте кэш той же CLI: `cdnctl purge --account <uuid> --path /assets/app.js`.

Staging, откат и честные цены

Выкладки в прод должны быть скучными. Можно создать preprod-копию приложения, развернуть туда, проверить и затем повысить до продакшена — и откатить повышение, если что-то не так. Health-check ловит контейнер, который стартовал, но не стал здоровым.

Тарифы начинаются от 9 $/месяц и включают CDN, WAF, защиту от DDoS и автоматический SSL, плюс 15 дней пробного периода. Отмените в любой момент и продолжайте пользоваться пробным периодом или получите возврат в тот же день. Оплата в местной валюте с турецким счётом, поддержка 7/24.

Частые вопросы о хостинге Node.js

Какие версии Node.js поддерживаются?

Та, что использует ваш образ. Рантайм берётся из вашего Dockerfile, поэтому версию Node выбираете вы и обновляете тогда, когда решите — ждать общей платформенной версии не нужно.

Нужно ли писать Dockerfile?

Да, сегодня в репозитории нужен Dockerfile (или Docker Compose с секцией build) — именно он задаёт сборку. Для типового Node-приложения это около десяти строк; пример выше подходит большинству. Заодно это делает деплой воспроизводимым.

Можно ли запустить несколько сервисов из одного репозитория?

Да. Импортируйте файл Docker Compose — каждый сервис станет отдельным контейнерным приложением: веб, воркер, планировщик. Базы и Redis из этого compose превращаются в управляемые аддоны, а не в контейнеры, за которыми надо следить.

Как работают фоновые задачи и cron?

Воркер — это просто ещё одно контейнерное приложение без HTTP-порта. Для задач по расписанию есть jobs: cron-выражение, которое вызывает путь в вашем приложении, так что отдельный процесс-планировщик не нужен.

CDN включён или отдельно?

Включён. Приложение находится за нашей edge-сетью с первого же деплоя — кэш, сжатие, автоматические WebP/AVIF, WAF, защита от DDoS и SSL, всё в одном тарифе от 9 $/месяц.

Готовы развернуть своё Node-приложение?