SolidStart
Source:
src/Hetzner/Website/SolidStart.ts
Deploy a SolidStart application to a Hetzner Cloud Server: the SSR server as a systemd unit on port 3000, static assets (prerendered pages included) baked into the unit.
The build runs through @alchemy.run/frontend-frameworks/solidstart with
the @alchemy.run/frontend-frameworks/solidstart/node deploy target —
both must be installed in your project, alongside @solidjs/start and
@solidjs/vite-plugin-nitro-2.
Your vite.config.ts needs no adapter wiring: the integration drives the
project’s own vite build and appends its own nitro plugin instance
carrying nitro’s node preset.
Creating SolidStart Sites
Section titled “Creating SolidStart Sites”Basic SolidStart App
const site = yield* Hetzner.Website.SolidStart("Web", { rootDir: "./app",});Custom Domain
const site = yield* Hetzner.Website.SolidStart("Web", { rootDir: "./app", domain: "app.example.com", zone,});Server Configuration
Section titled “Server Configuration”const site = yield* Hetzner.Website.SolidStart("Web", { rootDir: "./app", env: { API_BASE: "https://api.example.com", },});Prerendering
Section titled “Prerendering”The integration owns the nitro plugin instance (a nitroV2Plugin() in
your vite.config.* is rejected), so nitro options — prerendering
included — go on the nitro prop. Prerendered pages are baked into the
unit and served as static assets.
const site = yield* Hetzner.Website.SolidStart("Web", { rootDir: "./app", nitro: { prerender: { routes: ["/", "/about"] } },});