Silica Docs

Deploying your site

Ship your site by self-hosting it or handing it to a managed platform.

silica build produces a self-contained production site you can host anywhere that runs Node. How you ship it comes down to one setting in silica.config.ts: render.output.

Pick an output mode

render.outputWho runs the serverGood for
"standalone"YouDocker, your own VM, container PaaS
"default"The platformVercel and other managed hosts
  • "standalone" emits a self-contained Next.js server and enables Silica's filesystem cache for rendered pages. New projects ship with render: { output: "standalone" } so the included Dockerfile works out of the box.
  • "default" emits a regular Next.js build and lets the platform's adapter bundle the server and own caching.

See Configuration for the full render block.

Choose a target

  • Docker — self-host the standalone server in a container.
  • Vercel — push to a managed platform.
  • Railway, Render & Fly.io — run the container image on a PaaS, or on any Node host.

Environment variables

Whatever you deploy to, set the same variables you use locally (from .env.example). If you enabled authentication, set a strong BETTER_AUTH_SECRET and point BETTER_AUTH_URL (and baseUrl in silica.config.ts) at your public domain.

VariablePurpose
BETTER_AUTH_SECRETSession secret (required in production)
BETTER_AUTH_URLYour public site URL
GOOGLE_CLIENT_IDGoogle OAuth client ID
GOOGLE_CLIENT_SECRETGoogle OAuth client secret