For the complete documentation index, see llms.txt. This page is also available as Markdown.

📤Self-Hosting

Webstudio can be self-hosted, putting you in control of your hosting, pricing, security, and compliance.

The Builder and Projects are hosted separately. The Builder is used to create Projects, and when a Project is published or exported, the site/app is deployed independently.

Builder

Projects

After building, export your Projects and host them on your own server or preferred platform.

Export methods

There are two ways to export Projects:

  1. Webstudio CLI – Allows you to interact with and export your Projects. Supports static and dynamic (see below).

  2. Download button in the Builder – Click a button in the Webstudio Builder, and the Project will be downloaded as a zip. Supports static only (see below).

Export types

There are two types of exports:

  • JavaScript application – Builds a dynamic Remix app. This is the default behavior of Webstudio Cloud and provides the most functionality, but it requires hosting that works with apps.

  • Static site – Outputs a static site (HTML/CSS/JS) with limited functionality, but has more versatile hosting options.

JavaScript application

This is the default behavior if you were to publish to Webstudio Cloud.

The JavaScript application supports dynamic functionality like CMS integrations, Webhook forms, image optimization, redirects, and more.

JavaScript applications require a hosting environment that handles server-side code execution, fetching data from CMS integrations, and more.

Platforms for JavaScript applications

Here are the platforms we have documented.

Serverless:

Serverless platforms enable you to push code, and they handle the rest, from infrastructure to scaling.

This self-hosting option is the easiest to use, though there is less flexibility in platform choice.

▶️Netlify▶️Vercel

Servers:

Webstudio provides a Dockerfile, which enables your site to run on any server that supports containers.

This self-hosting option is more technical compared to others, but it offers a higher degree of flexibility regarding its deployment location.

▶️AWS with Flightcontrol (Docker)▶️Digital Ocean with Coolify (Docker)▶️Hetzner with Coolify (Docker)

Static site

You can optionally export your Webstudio Project as a static site, i.e., a collection of HTML, CSS, JavaScript, and image files. This allows you to host your site on traditional hosting providers or, better yet, on dedicated static site hosting and deployment platforms.

Static site limitations

While static site exporting and hosting are less technical, this comes at the cost of functionality.

The following are not supported:

  • Dynamic pages

  • Redirects

  • Statuses

  • Client navigation

  • Webhook form

  • Image optimization

  • No robots.txt

  • No sitemap.xml

Static site URL behavior

Webstudio static exports cannot redirect requests by themselves. The hosting platform decides whether /about, /about/, or both URLs serve a generated page such as about/index.html.

Platform
Default behavior for a Webstudio static export

Cloudflare Pages

Redirects /about to /about/ for a generated about/index.html file. See Cloudflare Pages serving behavior.

Netlify

Pretty URLs are enabled by default and normalize the generated page to /about/. Netlify applies this normalization before redirect rules, so a static redirect rule cannot change it to /about. See Netlify redirect options.

Vercel

Serves both /about and /about/ unless the project sets trailingSlash. Set "trailingSlash": false in vercel.json to redirect /about/ to /about. See Vercel project configuration.

Other static hosts

Behavior depends on how the host resolves directory index files and normalizes URLs. Configure redirects or canonical URLs with the host.

If every URL must redirect to the slashless Webstudio page path, use an exported JavaScript application. On static hosting, enforcing that convention on Netlify or Cloudflare Pages requires request-handling code at the edge rather than static redirect files.

Local

To run a project locally, you must run a simple local server. Use the command npx serve . to spin one up. This is required because the static files use absolute URLs.

Platforms for static sites

Here are the platforms we have documented:

▶️Cloudflare Pages▶️GitHub Pages▶️Netlify▶️Vercel

Last updated

Was this helpful?