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) | Yes | Based on dependencies and configs - without manual configuration |
| Statics via CDN in the Russian Federation | Yes | Moscow, St. Petersburg, Ekaterinburg |
| SSR (only via Next.js) | Yes | See separate page - pure CRA / Vite + React does not have server rendering |
| React Router (client-side routing) — SPA fallback | Yes | All routes → index.html via layero.json |
Env REACT_APP_* / VITE_* / NEXT_PUBLIC_* | Yes | Prefix selected by build option |
| Custom domain | Yes | CNAME, auto-SSL |
| Preview environments | Yes | For each branch and pull request |
AI-agent --json | Yes | Machine-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
--jsonfor Cursor / Claude Code
Frequently asked questions
Does Layero support Create React App (CRA)?
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?
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?
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?
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?
How to migrate from GitHub Pages or Netlify?
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.