---
title: "Як задеплоїти застосунок на React Router у 2026"
description: "Задеплойте застосунок на React Router із серверним рендерингом: pethost deploy збирає Dockerfile шаблону й віддає його через HTTPS за 11 с, за 9,99 € на місяць."
---

[Блог](https://pethost.dev/uk/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:

- **Йому потрібен lock-файл.** Обидва кроки `npm ci` читають `package-lock.json`, тож тримайте його в папці й у репозиторії.
- **Порт не оголошено.** У файлі немає рядка `EXPOSE`, і він не потрібен: машина сама знаходить порт, на якому слухає запущений сервер.
- **Запущений застосунок невеликий.** В останньому етапі лише production-залежності та збірка. Запущений шаблон займав 79 MB пам’яті.

Застосунок без Dockerfile теж не застрягне. У папці, де немає ні Dockerfile, ні файлу Compose, `pethost deploy` пише Dockerfile для тих видів проєктів, які знає, як для [застосунку на Nuxt](https://pethost.dev/uk/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/uk/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/uk/blog/unlimited-projects-flat-monthly-fee/), і [нічого не тарифікується за використанням](https://pethost.dev/uk/blog/paas-without-usage-based-billing/): серверний рендеринг не оплачується за запити, а насичений місяць коштує стільки ж, скільки спокійний.

- **9,99 €** на місяць за всі ваші проєкти, без оплати за використання
- **11 с** на першу збірку й запуск шаблону
- **79 MB** пам’яті для запущеного застосунку

Що вже зроблено за вас: HTTPS із сертифікатами, які поновлюються самі, деплої з GitHub, щонічні бекапи, що зберігаються 14 днів, SSH у будь-який контейнер і облік кожного запиту з найпопулярнішими шляхами й часткою помилок за останні 30 днів. Машина працює завжди, тож перший ранковий запит [ніколи не чекає на холодний старт](https://pethost.dev/uk/blog/always-on-hosting-no-cold-starts/). Тарифи — у розділі [ціни](https://pethost.dev/uk/#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/uk/blog/deploy-tanstack-start-app/) Задеплойте TanStack Start на сервер Node: додайте Nitro і скрипт start, запустіть pethost deploy, і за 29 секунд застосунок онлайн із HTTPS за 9,99 € на місяць.
- 10 жовтня 2026 р. [Як задеплоїти сайт на VitePress у 2026: одна команда, HTTPS і Dockerfile, що лишається у вас](https://pethost.dev/uk/blog/deploy-vitepress-site/) Задеплойте сайт на VitePress однією командою: pethost deploy пише Dockerfile, збирає сайт і віддає його через HTTPS за 9,99 € на місяць.
- 10 жовтня 2026 р. [Як задеплоїти сайт на Eleventy у 2026: одна команда, HTTPS і Dockerfile, що лишається у вас](https://pethost.dev/uk/blog/deploy-eleventy-site/) Задеплойте сайт на Eleventy (11ty) однією командою: pethost deploy пише Dockerfile, збирає _site і віддає його через HTTPS за 9,99 € на місяць.
- 25 вересня 2026 р. [Хостинг-провайдери з офіційним MCP-сервером у 2026: деплой, логи й відкат у порівнянні](https://pethost.dev/uk/blog/hosting-with-mcp-server/) 18 із 19 хостинг-платформ мають офіційний MCP-сервер у 2026. Відкат як інструмент є у двох. Pethost деплоїть, читає логи, відкочує й відновлює.

[Усі статті](https://pethost.dev/uk/blog/) · [Про Pethost](https://pethost.dev/about/) · [Тарифи](https://pethost.dev/uk/#pricing)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Шаблони](https://pethost.dev/uk/templates/)
- [Про нас](https://pethost.dev/about/)
- [Документація](https://pethost.dev/docs/)
- [Блог](https://pethost.dev/uk/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/uk/postgres/)

Порівняння

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

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

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