React applications in Russia

Hosting for React in Russia - Layero

Where to deploy a React application if the audience is in Russia? Layero collects and distributes React projects of any variant: the classic Create React App, modern Vite + React, and Next.js with server rendering. Auto-detect build, CDN in Moscow, St. Petersburg and Yekaterinburg, without VPN and foreign cards.

React on Layero - three popular build methods

React is a library, not a single project template. In real life, a React application is built in three different ways, and Layero supports each. The platform itself determines which option is in front of it and runs the correct build command.

Create React App

Classic template with react-scripts. Layero sees the dependency, launches it react-scripts build, publishes a folder build/ as static. Suitable for existing projects that you don't want to migrate.

Vite + React

Modern build: fast dev server, minimal config, small bundle. Layero detector vite.config.* with the React plugin and launches vite build. Suitable for new SPA. Read more about Vite on Layero →

Next.js

Full-fledged framework: SSR, app router, API routes. Layero launches next build and raises SSR in scale-to-zero mode, HTML is cached on edge. Suitable for SEO pages and dynamics. Read more about Next.js on Layero →

Features of a React application on Layero

What works out of the box, regardless of build option.

Feature Layero Comment
Auto-detect (CRA, Vite, Next.js)YesBased on dependencies and configs - without manual configuration
Statics via CDN in the Russian FederationYesMoscow, St. Petersburg, Ekaterinburg
SSR (only via Next.js)YesSee separate page - pure CRA / Vite + React does not have server rendering
React Router (client-side routing) — SPA fallbackYesAll routes → index.html via layero.json
Env REACT_APP_* / VITE_* / NEXT_PUBLIC_*YesPrefix selected by build option
Custom domainYesCNAME, auto-SSL
Preview environmentsYesFor each branch and pull request
AI-agent --jsonYesMachine-readable deployment for Cursor / Claude Code

How to deploy a React application to Layero

Three steps, then everything happens automatically.

Run deployment

In the React project folder, run npx layero@latest deploy —no need to install anything. Or link the GitHub repository in the panel app.layero.ru, and the build will run on every push.

Log in

Log in by email or through Yandex. An account is created automatically when you first log in - no separate registration is needed.

Layero itself will determine the build option

CRA auto-detection platform (react-scripts), Vite + React (vite.config.* with React plugin) or Next.js (next.config.*) and runs the corresponding command: react-scripts build, vite build or next build. The finished bundle is distributed via CDN in Russia. Next.js SSR applications rise to the scale-to-zero model.

What tasks is it suitable for?

Layero fits well with typical scenarios for which React applications are written today.

Where it works perfectly

  • SPA - personal accounts, web applications, admin panels
  • Dashboards and analytics in React
  • Landing pages and interactive marketing sites
  • Portfolio and business card sites of developers
  • Forms - applications, surveys, calculators
  • Demo applications, prototypes, MVP

What is added

  • CDN within Russia - fast loading for audiences in the Russian Federation
  • SPA fallback out of the box - React Router works on any URL
  • Preview environment for each branch and pull request
  • Custom domain with auto-SSL
  • Auto-detect build option - without manually selecting a template
  • Deploy via AI agent: mode --json for Cursor / Claude Code

Frequently asked questions

Does Layero support Create React App (CRA)?
Yes. Layero auto-detector CRA by availability react-scripts in dependencies and launches react-scripts build. Ready bundle from the folder build/ is published as a static site and distributed via CDN in Russia. Environment variables with prefix REACT_APP_ are automatically included in the client bundle at the build stage.
What about Vite + React?
Yes. Layero sees vite.config.ts or vite.config.js with the connected React plugin and launches vite build. Result from folder dist/ distributed via CDN. Variables with prefix VITE_ end up in the client code. Details - on the page /hosting-vite.
Does React Router (client-side routing) work?
Yes, for SPA on CRA and Vite + React. So that any routes that do not exist as files are given index.html (and routing was sorted out on the client), enable SPA fallback via layero.json. After that /dashboard, /settings/profile and other paths will open directly when the page is refreshed.
How to forward environment variables to a React application?
Depends on the build option. For CRA - variables with a prefix REACT_APP_. For Vite + React - variables with a prefix VITE_. For Next.js - variables with a prefix NEXT_PUBLIC_. Only these three prefixes end up in the client bundle; the rest are available at the build stage or on the server. The values are set in the Layero panel - separately for each project and environment.
What's with SSR - React Server Rendering?
For server-side rendering of React, use Next.js. Layero supports its SSR mode using the scale-to-zero model and caches HTML on the edge. Pure CRA and Vite + React are client SPA: Layero distributes them as static. Learn more about Next.js on Layero - /hosting-nextjs.
How to migrate from GitHub Pages or Netlify?
Link the GitHub repository in the panel app.layero.ru or do npx layero@latest deploy in the project folder. Layero will determine the build option itself - no need to change the config. Transfer the environment variables through the UI, connect the custom domain with a CNAME record - SSL will be released automatically. With GitHub Pages, the dependency on the base path prefix disappears; with Netlify - dependence on foreign infrastructure and payment in dollars.

Deploy a React application in a minute

There is a free plan. Log in by email or via Yandex and publish your first project.