JavaScript · deploy guide

Deploy SvelteKit on DockHive

SvelteKit with adapter-node (adapter-static is served as static files). DockHive recognises it from a "@sveltejs/kit" dependency in package.json, so you don't write a Dockerfile or a deploy config. Drone builds it, fixes failed builds and puts it live with HTTPS.

01

Deploy with Drone (zero config)

Drone is DockHive's AI deploy agent. It reads the repository, works out the stack, writes the Dockerfile, picks the port and health check and lists the env vars your SvelteKit app needs.

  1. 1 Push to GitHubPush the project to a GitHub repository. No Dockerfile or deploy config needed.
  2. 2 Pick the repoIn the DockHive console, open App Hosting and choose the repository.
  3. 3 Deploy with DroneDrone builds it. If the build or health check fails it reads the logs, fixes the build setup and retries, then goes live on <app>.dockhive.app with HTTPS.

Drone saves the working setup, so every push to the repository redeploys automatically. How Drone works

02

Deploy from the terminal

Install the hivepod CLI, sign in once, then run hivepod deploy in the project folder. It uploads the folder (without .git, node_modules, virtualenvs or secrets) and Drone builds it.

macOS and Linux
$ curl -fsSL https://dockhive.io/install.sh | sh
Windows (PowerShell)
> irm https://dockhive.io/install.ps1 | iex
Sign in
$ hivepod login
In your SvelteKit folder
$ hivepod deploy

Deploying the same folder again updates the same app. Set variables on the way with hivepod deploy --env KEY=value.

03

Deploy from your AI agent (MCP)

The CLI includes an MCP server. Add it to Claude Code, then ask your agent to "deploy this to DockHive". The agent calls the deploy tool and hands back the live URL, or Drone's summary and any missing env vars if something needs your input.

Claude Code
$ claude mcp add dockhive -- hivepod mcp

Using Claude Desktop, Cursor or Windsurf? Set up the DockHive MCP server.

04

What DockHive detects for SvelteKit

Detection reads your files; it never runs your code. Recognised by a "@sveltejs/kit" dependency in package.json. These are the defaults; DockHive derives the exact commands from your repository (lockfile, scripts, entry module).

Default port
3000
Install
npm ci
Build
npm run build
Start
node build
  • With @sveltejs/adapter-node, the app starts with node build.
  • With @sveltejs/adapter-static, the build output is served as static files by nginx.
  • With any other adapter, it runs your preview script on 0.0.0.0:$PORT.
  • Needs a package.json in the app directory.
  • Node.js version: taken from "engines.node" in package.json and rounded up to 20, 22 or 24 (22 when unset).
  • Package manager: pnpm when there is a pnpm-lock.yaml (or "packageManager": "pnpm@…"), Yarn when there is a yarn.lock, npm otherwise.
  • Install: npm ci with a package-lock.json (npm install without one), pnpm install --frozen-lockfile, or yarn install --frozen-lockfile (--immutable on Yarn Berry).
  • Build: your "build" script runs when package.json has one.
  • Generated images set PORT, listen on 0.0.0.0:$PORT and run as a non-root user wherever the runtime allows. Nothing is written back to your repository.
  • Monorepo? When the repository root isn't an app, DockHive looks one level down (app, web, frontend, backend, server, api, src, site, client first).

05

Environment variables and custom domains

Environment variables

Drone spots the variables your app reads. Set the values in the console, with --env on hivepod deploy, or through your agent. Values are write-only. Secrets and .env files are never uploaded.

Custom domains

Every app gets <app>.dockhive.app with HTTPS. To use your own domain, add it to the app and point a CNAME record at DockHive; the Let's Encrypt certificate is issued automatically.

SvelteKit on DockHive: FAQ

Do I need a Dockerfile to deploy SvelteKit on DockHive?

No. DockHive recognises a SvelteKit app (from a "@sveltejs/kit" dependency in package.json) and generates the build itself. If your app directory already has a Dockerfile, DockHive builds that instead.

Which port does a SvelteKit app use on DockHive?

The default for SvelteKit is 3000. DockHive sets the PORT environment variable and starts the app on 0.0.0.0:$PORT, so code that reads PORT works as-is.

Should I use adapter-node or adapter-static for SvelteKit on DockHive?

Both work. With adapter-node DockHive runs node build as a server. With adapter-static the built files are served by nginx, with no Node process at run time.

How do I set environment variables for my SvelteKit app?

Drone spots the variables your app needs. Set the values in the DockHive console, with hivepod deploy --env KEY=value, or from your AI agent over MCP. Secrets and .env files are never uploaded.

Does every push redeploy my SvelteKit app?

Yes. After the first successful deploy Drone saves the working setup, and every push to the connected GitHub repository redeploys automatically.

Ship your SvelteKit app today

Start on the Free Tier. The Developer Plan is $3/month. See pricing