For the complete Netlify documentation index, see llms.txt. Markdown versions of any documentation page are available by appending .md to its URL. SolidStart is a full-stack framework for building applications with Solid.
SolidStart 2 builds directly on Vite, so there's no SolidStart-specific Netlify adapter to install. A Vite plugin prepares your production build, and the same plugin gives you Netlify's platform features in local development.
Deploy with the Netlify Vite plugin
Section titled “Deploy with the Netlify Vite plugin”-
Install the Netlify Vite plugin:
Terminal window npm install -D @netlify/vite-plugin -
Add the plugin to your Vite config, with its experimental build support enabled:
vite.config.ts import netlify from "@netlify/vite-plugin";import { solidStart } from "@solidjs/start/config";import { defineConfig } from "vite";export default defineConfig({plugins: [solidStart(), netlify({ build: { enabled: true } })],}); -
Create your new project on Netlify with Git or the Netlify CLI.
That's it. Netlify detects SolidStart and fills in your build commandbuild commandThe instruction Netlify runs to prepare your site’s files before deploying them. and publish directorypublish directoryThe folder containing the finished files Netlify deploys after running your build command., and SSR routes, server functions, and middleware all deploy to Netlify Functions — no adapter, preset, or extra configuration required.
Local development
Section titled “Local development”The Netlify Vite plugin provides full emulation of the production Netlify platform inside your Vite dev server, so you get the same platform primitives locally that your project uses in production:
- Serverless functions
- Edge functions
- Blobs
- Netlify Database
- Cache API
- Image CDNCDNA network of servers around the world that delivers your site’s files from the location closest to each visitor.
- Redirects & rewrites
- Headers
- Environment variablesEnvironment variablesNamed values stored outside your code that your site can read at build time or runtime.
- AI Gateway
Run your dev server with vite dev as usual. Because the plugin emulates Netlify's platform primitives, you don't need Netlify CLI to run local dev.
Manual configuration
Section titled “Manual configuration”In most cases, Netlify detects SolidStart and sets your build configuration for you, but you can set them yourself in a netlify.toml file in your project if needed:
[build] command = "vite build" publish = "dist/client"
[dev] command = "vite dev" targetPort = 5173You can also set build settings in the Netlify UI. For your chosen project, go to project configuration Developer settings Continuous deployment Build settings.
Alternative: build with Nitro
Section titled “Alternative: build with Nitro”SolidStart 2 also works with Nitro 3. Nitro auto-detects the Netlify build environment, so you don't need to name a preset:
import netlify from "@netlify/vite-plugin";import { solidStart } from "@solidjs/start/config";import { nitro } from "nitro/vite";import { defineConfig } from "vite";
export default defineConfig({ plugins: [solidStart(), nitro(), netlify()],});With Nitro handling the build, set your publish directory to dist instead of dist/client, and leave build.enabled off the Netlify plugin. Keep the Netlify plugin in your config for the local development features described above.
SolidStart 1
Section titled “SolidStart 1”SolidStart 1 includes Nitro under the hood, which configures the build for deployment to Netlify automatically. You can also enable the Netlify preset explicitly:
import { defineConfig } from "@solidjs/start/config";
export default defineConfig({ server: { preset: "netlify", },});Use vinxi build as your build command and dist as your publish directory.
More resources
Section titled “More resources”Did you find this doc useful?
Your feedback helps us improve our docs.