Apps ·
Host a static website
Publish a static website from your own files, an uploaded archive or a GitHub repository. Covers updating the site, the publish directory and your own domain.
A static site is the simplest kind of website to host: a folder of files that is sent to visitors exactly as it is. This guide explains what that means, the three ways to publish your files in the panel, how to update the site and how to put it on your own domain.
What a static site is
A static site is made of finished files: HTML, CSS, JavaScript, images and fonts. There is no PHP and no database behind it, so there is nothing to patch and very little that can break.
It is a good fit for:
- A portfolio, landing page, documentation or a small company site.
- Anything built with a site generator such as Hugo, Jekyll, Astro or Vite. You publish the finished output, not the project itself.
It is not a fit for sites that need a login, a shop or a contact form handled on the server. For a site you edit in the browser, see Start a WordPress site.
Your start page must be a file called index.html.
1. Order the app
- Sign in to the panel, open Apps in the sidebar and click Create App.
- Under Template, choose the static site. You find it under Static sites.
- Under Package, pick a package and set the resources with the sliders.
- Under Details, fill in Display name. Switch on SFTP access if you want to upload files with an SFTP program and your package includes it.
- Tick the confirmation box, click Deploy app and pay.
When the status shows Running, the Access card on the app page shows the address of your site. Click Open. Until you publish something, you see a placeholder page.
2. Publish your files
The Content source card on the app page decides where your site comes from. You have three options.
Option A: upload the files yourself
This works as long as no source is connected in the Content source card.
- File browser: on the app page, click Upload or drag files into the list. Use New folder to create folders. Click a text file to edit it in the browser and click Save.
- SFTP: if you ordered the app with SFTP, the SFTP Access card shows Host, Port and Username. Click Set a password (at least 12 characters) or Add key, then connect with an SFTP program such as FileZilla or WinSCP.
Option B: upload an archive
- Pack your finished site as
.zip,.taror.tar.gz. The archive can be up to 48 MB. - In the Content source card, click Upload archive and choose the file.
- The panel unpacks it and restarts the site with the new content.
A single wrapping folder around your files is removed automatically. The archive replaces everything that is on the site at that moment, including files you uploaded yourself.
Option C: connect a GitHub repository
- In the Content source card, click Connect GitHub. The dialog Connect a GitHub repository opens.
- Under Account, click Install the GitHub App the first time. GitHub asks which repositories the panel may read. Afterwards you come back to the panel.
- Choose your account, then a Repository and a Branch.
- Click Connect & deploy.
The panel publishes the files of the repository as they are, and they replace what was on the site before. It does not run a build for you. If you use a site generator, commit the finished output or let your own workflow push it to a branch.
The publish directory
Are your finished files in a subfolder, for example dist or public? Type the folder name into Publish directory in the Content source card and click Save. Leave the field empty if index.html is at the top level. Changing it publishes the site again.
3. Update the site
How you update depends on the option you picked:
- Your own files: upload or edit the files. Changes are live right away.
- Archive: click Replace archive and upload the new version.
- GitHub: push to the connected branch. Every push to that branch publishes the site automatically. Click Redeploy to publish the current state again by hand, or Change repo to pick another repository or branch.
While an archive or GitHub is connected, the site is served from that source and the SFTP Access card is hidden. Make your changes in the source, not in the file browser. To go back to managing the files yourself, click Disconnect.
4. Use your own domain
- On the app page, go to the Custom Domains card and click Add domain.
- Enter your domain, for example
www.example.com, and follow the DNS instructions the panel shows. - Wait until the domain shows as verified. HTTPS is set up for you.
The full steps are in Connect your own domain to an app. No domain yet? See Register a domain.
5. Backups
The Backups card lists the backups the panel makes automatically, and Create backup makes one right now. See Back up and restore your app.
One thing is different for static sites: while the content comes from an archive or GitHub, a backup cannot be restored. Publish the version you want from its source instead.