---
title: "Как задеплоить приложение на React Router в 2026"
description: "Деплой приложения на React Router с серверным рендерингом: pethost deploy собирает Dockerfile шаблона и отдает его по HTTPS за 11 секунд — за 9,99 € в месяц."
---

[Блог](https://pethost.dev/ru/blog/) · Гайды по деплою

# Как задеплоить приложение на React Router в 2026: Dockerfile шаблона, одна команда и HTTPS

Команда Pethost · 10 октября 2026 г. · Обновлено 25 октября 2026 г. · 6 мин чтения

Вы создали приложение с помощью `create-react-router`, оно рендерится на сервере, и вы хотите выложить его по адресу с HTTPS. В стандартном шаблоне уже есть Dockerfile, а на Pethost проекту больше ничего не нужно: запустите `pethost deploy` в папке приложения. В первый раз шаблон собрался и запустился за 11 секунд и ответил 200 по своему новому адресу.

**Коротко**

- **Одна команда:** `pethost deploy` в папке, которую создал `create-react-router`. В приложение ничего не добавляется, и заполнять настройки сборки не нужно.
- **Что она делает:** загружает папку, собирает собственный Dockerfile шаблона на вашей машине и запускает `react-router-serve`.
- **Порт:** сервер слушает 3000. Pethost сам это находит и направляет туда адрес по HTTPS.
- **Адрес:** `https://my-app.yourname.pethost.app`, сразу. Свой домен — одна DNS-запись.
- **Цена:** 9,99 € в месяц за 2 vCPU, 3 GB и 30 GB — для этого приложения и всех остальных ваших проектов. Бесплатного тарифа нет.

## Что нужно, чтобы задеплоить приложение на React Router в 2026 году

Три вещи: само приложение, команда `pethost` и аккаунт Pethost.

**Приложение** здесь — стандартный шаблон, с рендерингом на сервере и Tailwind CSS:

```
npx create-react-router@latest my-app
```

Он оставляет `package.json`, `package-lock.json`, папку `app/` и `Dockerfile`. Скрипты приложения — как раз те, которые запускает Dockerfile:

```
"scripts": {
  "build": "react-router build",
  "dev": "react-router dev",
  "start": "react-router-serve ./build/server/index.js",
  "typecheck": "react-router typegen && tsc"
}
```

**Команда** — это одна программа, которая ставится одной строкой. Все ее команды есть в [справочнике CLI](https://pethost.dev/docs/cli/).

```
curl -fsSL https://pethost.dev/install.sh | sh      # macOS, Linux
irm https://pethost.dev/install.ps1 | iex           # Windows, in PowerShell
```

**Аккаунту** нужен тариф. Если вы не вошли, `pethost deploy` откроет браузер, и вы войдете. Если тарифа еще нет, команда покажет, где его выбрать, и подождет.

## Деплой приложения на React Router одной командой

Перейдите в папку приложения и запустите `pethost deploy`. Вот весь экран для стандартного шаблона:

```
$ cd my-app
$ pethost deploy
Name it [my-app]:    it will live at https://my-app.sam.pethost.app
✓ Packed 22 files, 174 KB   (left out node_modules)
✓ Uploaded straight to your machine
✓ Built and started in 11 s
  · wrote compose.yaml for the Dockerfile: the service app, reading .env
✓ app listens on 3000 → https://my-app.sam.pethost.app
  It answers 200.

https://my-app.sam.pethost.app

Wrote .pethost (commit it). Next:   pethost logs -f   ·   pethost open
```

1. **Она спрашивает одно** Имя проекта — первое слово его адреса. Enter берет имя папки.
2. **Папка уходит на вашу машину** Без `node_modules`: сборка ставит их там, из `package-lock.json`.
3. **Машина собирает Dockerfile** Это собственный файл шаблона, без изменений. Строка под ним говорит о единственном, что добавила машина: Compose-файл вокруг Dockerfile с сервисом `app`.
4. **Приложение запускается и отвечает** Машина видит, что сервер слушает 3000, и направляет туда адрес. Затем pethost сам открывает адрес и печатает, что тот ответил: 200.

Мы открыли задеплоенный шаблон так, как его открывает посетитель. Главная страница ответила 200 с HTML, отрендеренным на сервере, `/favicon.ico` ответил 200, а адрес без маршрута ответил 404 со страницей ошибки самого React Router.

Файл `.pethost` говорит, какому проекту соответствует эта папка. Закоммитьте его, и следующий деплой ничего не спросит.

## Dockerfile шаблона React Router

Вот файл, который написал `create-react-router` и который машина собрала как есть:

```
FROM node:24-alpine AS development-dependencies-env
COPY . /app
WORKDIR /app
RUN npm ci

FROM node:24-alpine AS production-dependencies-env
COPY ./package.json package-lock.json /app/
WORKDIR /app
RUN npm ci --omit=dev

FROM node:24-alpine AS build-env
COPY . /app/
COPY --from=development-dependencies-env /app/node_modules /app/node_modules
WORKDIR /app
RUN npm run build

FROM node:24-alpine
COPY ./package.json package-lock.json /app/
COPY --from=production-dependencies-env /app/node_modules /app/node_modules
COPY --from=build-env /app/build /app/build
WORKDIR /app
CMD ["npm", "run", "start"]
```

Три вещи, которые о нем стоит знать на Pethost:

- **Ему нужен lockfile.** Оба шага `npm ci` читают `package-lock.json`, так что держите его и в папке, и в репозитории.
- **Порт не объявлен.** В файле нет строки `EXPOSE`, и она не нужна: машина сама находит порт, который слушает работающий сервер.
- **Работающее приложение занимает мало.** В последнем этапе только зависимости для продакшена и результат сборки. Работающий шаблон занял 79 MB памяти.

Приложение без Dockerfile тоже не застрянет. В папке, где нет ни Dockerfile, ни Compose-файла, `pethost deploy` пишет Dockerfile для тех видов проектов, которые знает, — как для [приложения на Nuxt](https://pethost.dev/ru/blog/deploy-nuxt-app/), — а для любой другой папки объясняет, почему не написал его.

## Измените маршрут и задеплойте снова

Отредактируйте маршрут и запустите ту же команду. Второй деплой шаблона занял 6 секунд, потому что машина хранит слои сборки:

```
$ pethost deploy
my-app (.pethost)
✓ Packed 23 files · uploaded · built and started in 6 s
  · wrote compose.yaml for the Dockerfile: the service app, reading .env
  · kept the project's x-pethost
  It answers 200.
https://my-app.sam.pethost.app
```

Чтобы вместо этого деплоить каждый пуш, один раз подключите репозиторий:

```
pethost github sam/my-app          # from now on, every push deploys itself
```

Pethost читает только те репозитории, которые вы дали его GitHub App. Если деплой пошел не так, `pethost rollback` возвращает предыдущую версию, а ваша машина хранит три версии перед текущей. ИИ-агент может сделать все это за вас через MCP-сервер Pethost: [как агент деплоит проект и следит за ним](https://pethost.dev/ru/blog/hosting-for-ai-coding-agents/).

## Переменные окружения и свой домен

Переменная, которую на сервере читает loader или action, задается одной командой. Команда спрашивает значение, не показывая его, записывает его в файл `.env` проекта на машине, и следующие деплои его сохраняют:

```
pethost env set SESSION_SECRET
```

Любое имя в домене вашего аккаунта сразу становится адресом с HTTPS. Для своего домена нужны одна команда и одна DNS-запись:

```
pethost domain add app.example.com
```

Команда печатает запись, которую нужно создать: CNAME с вашего имени на имя вашей машины. Сертификат появляется сам, как только имя начинает указывать на машину, и сам продлевается. `pethost password` ставит страницу с паролем перед всем приложением, если оно еще не для всех.

## Что вы получаете за эти деньги

Pethost стоит 9,99 € в месяц за все, что вы хостите, на 2 vCPU, 3 GB памяти и 30 GB диска. Сервер шаблона занял 79 MB этой памяти, так что на машине остается место для базы данных приложения, воркера и других ваших проектов. [Платы за проект нет](https://pethost.dev/ru/blog/unlimited-projects-flat-monthly-fee/), и [ничего не считается по счетчику](https://pethost.dev/ru/blog/paas-without-usage-based-billing/): серверный рендеринг не оплачивается за каждый запрос, а загруженный месяц стоит столько же, сколько спокойный.

- **9,99 €** в месяц за все ваши проекты, без счетчиков
- **11 с** на сборку и запуск шаблона в первый раз
- **79 MB** памяти на работающее приложение

Что уже сделано за вас: HTTPS с сертификатами, которые продлеваются сами, деплои из GitHub, ночные бэкапы, которые хранятся 14 дней, SSH в любой контейнер и учет каждого запроса — с самыми популярными путями и долей ошибок за последние 30 дней. Машина всегда включена, поэтому первый утренний запрос [никогда не ждет холодного старта](https://pethost.dev/ru/blog/always-on-hosting-no-cold-starts/). Тарифы — в разделе [цен](https://pethost.dev/ru/#pricing) на главной странице.

**Каждый проект подписан.** Семь проектов на одной машине Starter: приложения с их адресами и запросами за последние сутки, базы данных с приложениями, которые их используют.

![Главная страница панели Pethost: CPU, память и диск машины и ее проекты в виде карточек.](https://pethost.dev/shots/projects.webp)

### Pethost — лучший выбор для

- **Разработчиков с full-stack-приложением на React**: приложение с серверным рендерингом и его база данных на одной машине, с одним счетом
- **Разработчиков-одиночек** с несколькими личными проектами, у каждого из которых свой адрес
- **Людей, за которых деплоит агент**: Claude Code или Codex выкладывает приложение и читает его логи
- **Стартапов на ранней стадии**, которым нужны фиксированные расходы в месяц, пока продукт небольшой

### Ищите другое, если

- Вашему приложению нужны несколько регионов или автомасштабирование

## Вопросы

### Где захостить приложение на React Router с серверным рендерингом?

У любого хостинг-провайдера, который запускает Node-сервер или Docker-контейнер. На Pethost вы запускаете `pethost deploy` в папке приложения: машина собирает Dockerfile шаблона, запускает `react-router-serve` и отдает приложение по HTTPS.

### Нужно ли менять Dockerfile, который пишет create-react-router?

Нет. Машина собрала Dockerfile стандартного шаблона как есть. В нем нет строки `EXPOSE`, и она не нужна: Pethost сам находит порт, который слушает сервер, — 3000.

### Можно ли деплоить приложение на React Router из GitHub при каждом пуше?

Да. Один раз задеплойте папку командой `pethost deploy`, затем запустите `pethost github owner/repository`. С этого момента каждый пуш в репозиторий деплоится сам, а `pethost rollback` возвращает к более раннему коммиту.

### Как задать переменные окружения для приложения на React Router?

Запустите `pethost env set NAME` в папке приложения. Команда спросит значение, не показывая его, и запишет его в файл `.env` проекта на машине, который читает сервер и сохраняет каждый следующий деплой.

### Сколько стоит хостинг приложения на React Router на Pethost?

9,99 € в месяц за Starter с 2 vCPU, 3 GB и 30 GB, без платы за проект и без оплаты за запросы: там же работают ваши другие приложения, сайты и базы данных. Бесплатного тарифа нет. Цены без НДС.

На экранах — деплои стандартного шаблона, который пишет `create-react-router`, с React Router 8.4.0 и pethost 0.2.1 на нашей тестовой машине. Аккаунт на них — пример, `sam`.

1. [React Router: установка](https://reactrouter.com/start/framework/installation)
2. [React Router: деплой](https://reactrouter.com/start/framework/deploying)
3. [React Router: официальные шаблоны](https://github.com/remix-run/react-router-templates)
4. [pethost, командная строка Pethost](https://pethost.dev/docs/cli/)

## Запустите свои проекты уже сегодня

Деплойте приложения, ботов и базы данных из агента, с GitHub или в браузере, сколько поместится, по одной фиксированной цене. Ничего по счётчику, ничего сверху.

[Разместить проекты за 9,99 €/мес](https://console.pethost.dev/)

## Читать дальше

- 10 октября 2026 г. [Как задеплоить приложение на TanStack Start в 2026: Nitro, скрипт start и одна команда](https://pethost.dev/ru/blog/deploy-tanstack-start-app/) Деплой TanStack Start на Node-сервер: добавьте Nitro и скрипт start, запустите pethost deploy, и приложение в сети по HTTPS за 29 секунд — за 9,99 € в месяц.
- 10 октября 2026 г. [Как задеплоить сайт на VitePress в 2026: одна команда, HTTPS и Dockerfile, который остается у вас](https://pethost.dev/ru/blog/deploy-vitepress-site/) Деплой сайта на VitePress одной командой: pethost deploy пишет Dockerfile, собирает сайт и отдает его по HTTPS — за 9,99 € в месяц.
- 10 октября 2026 г. [Как задеплоить сайт на Eleventy в 2026: одна команда, HTTPS и Dockerfile, который остается у вас](https://pethost.dev/ru/blog/deploy-eleventy-site/) Деплой сайта на Eleventy (11ty) одной командой: pethost deploy пишет Dockerfile, собирает _site и отдает его по HTTPS — за 9,99 € в месяц.
- 25 сентября 2026 г. [Хостинг-провайдеры с официальным MCP-сервером в 2026: деплой, логи и откат в сравнении](https://pethost.dev/ru/blog/hosting-with-mcp-server/) Официальный MCP-сервер есть у 18 из 19 хостинг-платформ в 2026 году, откат — у двух. Инструменты Pethost деплоят, читают логи, откатывают и восстанавливают.

[Все статьи](https://pethost.dev/ru/blog/) · [О Pethost](https://pethost.dev/about/) · [Цены](https://pethost.dev/ru/#pricing)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Шаблоны](https://pethost.dev/ru/templates/)
- [О нас](https://pethost.dev/about/)
- [Документация](https://pethost.dev/docs/)
- [Блог](https://pethost.dev/ru/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Плагин](https://github.com/pethost-dev/plugin)
- [Условия](https://pethost.dev/terms/)
- [Конфиденциальность](https://pethost.dev/privacy/)
- [Возвраты](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Базы данных

- [Postgres](https://pethost.dev/ru/postgres/)

Сравнения

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/ru/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/ru/blog/coolify-cloud-vs-dokploy-cloud/)
- [Цены Railway, Render и Fly.io](https://pethost.dev/ru/blog/railway-vs-render-vs-fly-io-pricing/)
- [Управляемый хостинг Docker Compose](https://pethost.dev/ru/blog/managed-docker-compose-hosting/)

Альтернативы

- [Альтернативы Railway](https://pethost.dev/ru/blog/railway-alternatives/)
- [Альтернативы Heroku](https://pethost.dev/ru/blog/heroku-alternatives/)
- [Альтернативы Dokploy](https://pethost.dev/ru/blog/dokploy-alternatives/)
- [Альтернативы Coolify](https://pethost.dev/ru/blog/coolify-alternatives/)
- [Альтернативы Render](https://pethost.dev/ru/blog/render-alternatives/)
- [Альтернативы Sliplane](https://pethost.dev/ru/blog/sliplane-alternatives/)
