Deploy a SvelteKit App


You can deploy SvelteKit as a frontend app or enable server-side rendering (SSR). With SSR enabled, the app is deployed as a backend app.

Build Process
Copy link

By default, App Platform prepares the build environment by running this command:

DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y --no-install-recommends \
 curl \
 {% if system_dependencies %}{{ system_dependencies | join(' ') }}{% endif %} \
 && rm -rf /var/lib/apt/lists/*

system_dependencies is the list of system dependencies you specify in the dashboard. App Platform inserts them into the command during the build.

Next, App Platform installs the project dependencies. It picks the package manager (yarn, pnpm, or npm) based on your project files and runs the matching command:

yarn install
pnpm install
npm install

To build the app, App Platform runs the following command by default:

npm run build

Make sure your package.json file contains a build script.

The default build directory is /build. After the build, App Platform publishes the files from this directory.

Deploy as a Frontend App
Copy link

  1. Add the @sveltejs/adapter-static adapter to your project.
  2. Enable prerendering in your SvelteKit configuration.

Deploy with SSR
Copy link

  1. When creating the app, enable SSR support. The app switches to backend app mode, which means:
    • You select a server configuration.
    • After deployment, the dashboard interface is identical to a backend app.
    • You can set a start command.
  2. Add the @sveltejs/adapter-node adapter to your project. It creates a server build in the /build directory.
  3. Make sure the server listens on 0.0.0.0, not 127.0.0.1. Otherwise, external connections won't work.
  4. If your app uses forms with server handlers (form actions), set the ORIGIN environment variable to the full URL of your app, for example https://example.hostman.dev. 

The default start command is:

node build