Hosting for Astro in Russia - Layero
Where to deploy Astro if the audience is in Russia? Layero - Russian hosting for Astro projects: auto-detection astro.config, static output out of the box, islands and partial hydration, content collections. Distribution - via CDN in Moscow, St. Petersburg and Yekaterinburg. Deploy from GitHub or with one command.
What Layero is doing with the Astro project
Astro is a framework for content-first sites: blogs, documentation, landing pages, portfolios. Layero fully supports his scenario: it assembles the project on the server, distributes static files from a CDN in Russia, and correctly processes islands and integrations.
Auto-detect Astro
Layero detects Astro by astro.config.mjs, astro.config.ts, astro.config.js or dependencies astro in package.json. No manual build configuration is required.
Static output out of the box
Starting astro build, folder contents dist/ is published in Object Storage and distributed via CDN. This is Astro's default script and it works completely.
Islands and partial hydration
Directives client:load, client:idle, client:visible, client:media Astro are collected into separate bundles. Layero distributes them like regular static - no restrictions.
CDN inside Russia
Points of presence - Moscow, St. Petersburg, Yekaterinburg. The Astro website opens to Russian audiences without VPN and without cross-border delays.
Opportunities for Astro projects
What is available out of the box on Layero for the project on Astro.
| Feature | Layero |
|---|---|
Auto-detection astro.config.* | Yes — .mjs, .ts, .js |
Static output (output: 'static') | Completely |
| Islands / partial hydration | Completely - client:* directives |
| Content Collections | Completely - typed collections |
| Integrations (Tailwind/React/Vue/Svelte) | Completely - at the build stage |
| Custom domain | Yes - auto-SSL by CNAME |
| Preview on branches | Yes - for each branch and PR |
| Env variables | Yes — PUBLIC_* available on client |
AI-agent --json | Yes — npx layero@latest deploy --json |
How to deploy Astro to Layero
Three steps - no need to rewrite the project.
Run deployment
In the Astro 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 proceed for each push.
Log in to your account
Log in by email or through Yandex. An account is created automatically when you first log in - no separate registration is needed.
Layero will collect and distribute
Layero will identify Astro by astro.config.{mjs,ts,js} and package.json, will execute astro build and distribute the contents dist/ via CDN in Russia. A custom domain is connected via CNAME - SSL will be released automatically.
What tasks is it suitable for?
Perfect
- Blogs and personal sites on markdown/MDX
- Product Documentation and API
- Marketing landing pages and promotional pages
- Portfolio and business card sites
- Content-first projects: catalogues, guides, magazines
- Multilingual sites with pre-rendered pages
What Layero adds
- CDN in Moscow, St. Petersburg, Yekaterinburg - quickly for audiences in the Russian Federation
- Preview environments for branches and pull requests
- Custom domains with auto-SSL
- Env variables with prefix
PUBLIC_*on the client - AI agent deployment mode
npx layero@latest deploy --json - Free plan, Pro - 990 ₽/month or 9,480 ₽/year in rubles, first 14 days free
Frequently asked questions
Is Astro's static output fully supported?
output: 'static', default value) is fully supported: Layero performs astro build, takes the contents of the folder dist/ and distributes it via CDN with points of presence in Moscow, St. Petersburg and Yekaterinburg. No additional configuration required.Do Islands and partial hydration work?
client:load, client:idle, client:visible and client:media are collected into separate JS bundles at the build stage. Layero distributes these bundles as regular static files via a CDN - everything works out of the box.Are Content Collections supported?
astro buildand all collections are rendered into static HTML pages, which are then served from the CDN.What about server-output Astro (output: 'server')?
output: 'server') is a full-fledged SSR on Node, it requires Layero runtime mode. We recommend using output: 'hybrid' with explicit markup prerender for routes that can be served statically - this is the best balance of performance and flexibility on a CDN in the Russian Federation.Does Astro Image component work?
<Image /> from @astrojs/image and built-in astro:assets optimize images at the build stage - ordinary static files (webp/avif/jpg with the required sizes) are obtained, which Layero distributes via CDN. There is no need to configure separate image services.Integrations (Tailwind, React, Vue, Svelte) supported?
@astrojs/tailwind, @astrojs/react, @astrojs/vue, @astrojs/svelte, @astrojs/preact, @astrojs/mdx - work at the build stage. Layero installs dependencies and runs astro build, then everything is determined by Astro itself. There are no restrictions on integrations.Deploy Astro site in a minute
There is a free plan. Log in by email or via Yandex and publish the first Astro project on CDN in Russia.