SolidStart
Source:
src/Railway/Website/SolidStart.ts
Deploy a SolidStart application to Railway:
the SSR server plus client assets (prerendered pages included) on one
Railway.Service.
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.
During alchemy dev the site is SolidStart’s own Vite dev server and no
cloud resources are created. Alchemy.remote() opts back into the live
Service path.
Creating SolidStart Sites
Section titled “Creating SolidStart Sites”Basic SolidStart App
const site = yield* Railway.Website.SolidStart("Web", { rootDir: "./app",});Custom Domain
const site = yield* Railway.Website.SolidStart("Web", { rootDir: "./app", domain: "app.example.com",});Server Configuration
Section titled “Server Configuration”const site = yield* Railway.Website.SolidStart("Web", { rootDir: "./app", env: { GREETING: "Hello from SolidStart on Railway!", },});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
Service image and served as static files.
const site = yield* Railway.Website.SolidStart("Web", { rootDir: "./app", nitro: { prerender: { routes: ["/", "/about"] } },});