Deploying a Static Site
Static sites on ServerPlane are served directly by the web server with no application runtime. This is the right choice for plain HTML/CSS/JS sites, single-page applications (SPAs), and output from static site generators like Hugo, Jekyll, Astro, or Next.js static export.
Deployment Steps
- Navigate to Apps > Deploy Application.
- Select a server with an "Active" status.
- Choose "Static Site" as the application type.
- Configure the app:
- App Name — a human-readable label.
- Domain — DNS must already point to your server.
- Git Repository (optional) — provide a repo URL to deploy your site's source, or browse your connected GitHub repos.
- Branch — defaults to
main. - Build Command (optional) — a command to run after cloning, e.g.,
npm run build,hugo, orjekyll build.
- Review and click Deploy.
What Happens During Deployment
- Required server software is installed if not already present.
- An app directory and a separate public directory are created.
- If a Git repo was provided:
- The repository is cloned to the server.
- If a build command was specified, it runs inside the app directory.
- The build output is automatically detected by checking for common output directories (
dist,build,_site,out,public) and copied to the public directory. - If no build command was specified, the app directory contents are synced to the public directory.
- If no Git repo was provided, a default
index.htmlplaceholder page is created in the public directory. - A web server configuration is created to serve files from the public directory.
If you are not using a Git repo, upload your files directly via SFTP or the File Manager after deployment.
Build Output Detection
When a build command is provided, ServerPlane looks for these directories in order and copies the first match to the document root:
dist/build/_site/out/public/
If your static site generator outputs to a different directory, you can include a copy step in your build command, e.g.:
npm run build && cp -r my-output/ ../public/
Notes
- Static sites have no background process — the web server serves the files directly. Start/stop/restart actions are not applicable.
- Private GitHub repositories are supported with automatic deploy key setup.
- SSL can be provisioned after deployment via the Domains & SSL tab.
- For SPAs that use client-side routing, you may need to configure the web server to serve
index.htmlfor all routes. Contact support if you need help with this.