For the complete Netlify documentation index, see llms.txt. Markdown versions of this page are available by appending .md to the 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 command and publish directory, 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
- Cache API
- Image CDN
- Redirects & rewrites
- Headers
- Environment variables
- 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 Build & deploy 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.