Skip to main content

Static Site Hosting

Static Site Hosting

Build the site on your machine, then upload the folder. If it has an index.html and no Dockerfile, the CLI adds an nginx container for you. You get a URL in about 25–30 seconds. The price is flat €2.50 a month on German servers.

build and deploy a static site

npm run build
hostim deploy site --source dist --plan sa-1-1

URL: https://a5b57303.eu-center.hostim.dev
1350+apps deployed
440+developers building
400+services running now
Oct 2025in production since

How it works

Three steps, all in your terminal. No dashboard and no Dockerfile needed.

  1. Build the site. Run the generator's build command:npm run build, hugo --minify, or whatever your tool uses. The output is a folder of static files.
  2. Deploy the folder. Point the CLI at the build folder:hostim deploy site --source dist --plan sa-1-1. If the folder has an index.html and no Dockerfile, the CLI adds an nginx Dockerfile and config itself. No --port is needed because nginx listens on 80.
  3. Get the URL. On success the CLI prints the address, for example URL: https://a5b57303.eu-center.hostim.dev. A deploy of a built site takes about 25–30 seconds.

Use --static to force this mode. That matters for Jekyll, because the Jekyll build copies a Dockerfile into _site, and the CLI would otherwise treat that folder as a Docker build. The full guide is at static sites in the docs.

Build folder per generator

Point --source at the folder your generator writes. All of these were tested on 28 October 2026.

GeneratorBuild folderNote
AstrodistDefault static output.
Next.js static exportoutRequires output: "export" in the Next config.
DocusaurusbuildDefault production build.
Hugopublichugo --minify writes here.
Jekyll_siteUse --static; the build copies a Dockerfile into the folder.
Plain HTMLThe folder itselfAny folder with an index.html.

For the command for each generator, see the static sites guide. Astro users can also read Astro hosting, and Next.js users Next.js hosting.

What the nginx config does

The generated config is small, and it covers the parts that usually break a static site.

Clean URLs

A request for /about is served from about.html or about/index.html. Next.js static export works without extra rules.

Your own 404 page

The site's own 404.html is used for missing paths, so the error page keeps your design.

Gzip for text

HTML, CSS, JavaScript and other text responses are compressed on the way out.

One-year immutable cache for assets

Files under /_astro/, /_next/static/ and /assets/ get a one-year immutable cache header. Those folders carry hashed file names from the generator.

Relative redirects

Redirects stay relative, so no http:// URL leaks out behind the HTTPS ingress.

When Hostim is a good fit

Good fit

The site sits next to an API, database or worker on the same platform. You want one flat bill. You need EU hosting. You deploy from a terminal or an AI coding agent. You want a container you control, with nginx and headers you can change.

Not a good fit

Your visitors are spread worldwide and latency matters more than price. You need built-in deploy previews with no setup, form handling, serverless functions or edge functions. For those, use a CDN-first host, or put Cloudflare in front of Hostim.

Honest limits

Hostim has no CDN. A static site runs as one nginx container in one region, Germany. Visitors far from the EU get higher latency. There is no preview button: previews per pull request are DIY previews, one app per PR from a GitHub workflow. There is no form handling, no serverless functions and no edge functions. If you need a global CDN, put Cloudflare (free plan) in front, or use a CDN-first host.

Pricing

€2.50 a month, flat

The sa-1-1 plan is 1 vCPU and 1 GB of RAM. Traffic is included in the app price. There is no bandwidth charge, no build-minute charge, no per-request charge and no per-function charge. Billed hourly in EUR excluding VAT, with a 1-hour minimum.

No credits

Credit-based hosts draw deploys and bandwidth from one pool, and the bill moves with traffic. Here the price is the same whether the site serves a hundred visits or a hundred thousand. A 5-day trial needs no credit card.

Comparing with a credit-based host? See the Netlify alternative page for the math.

Custom domains and Git deploys

Add a domain with automatic HTTPS from Let's Encrypt: hostim deploy site --source dist --plan sa-1-1 --domain www.example.com.

To build the site on Hostim instead, keep a Dockerfile that builds the site and serves it with nginx, then deploy with --source . or from Git with --git <url>. To rebuild on every push, add the Hostim GitHub Action to the repository.

Static site hosting FAQ

Is there a free plan for static sites?

No. There is no free plan for apps. New accounts get a 5-day trial with no credit card. After the trial the cheapest plan is €2.50 per month, flat, with traffic included, billed hourly in EUR excluding VAT.

Is there a CDN?

No. Hostim has no CDN. A static site runs as one nginx container in one region, Germany, so visitors far from the EU get higher latency. If you need a global CDN, put Cloudflare (free plan) in front of the site, or use a CDN-first host.

Can I use my own domain?

Yes. Pass --domain www.example.com to the deploy command and Hostim issues a Let's Encrypt certificate automatically. The site then serves over HTTPS on your domain.

Does it work with Next.js?

Yes, for a Next.js static export: set output: "export" in the Next config and deploy the out folder. A Next.js app that needs server-side rendering is not a static site; it runs as a Node container instead. See Next.js hosting for that path.

Do I need a Dockerfile?

No. If the folder has an index.html and no Dockerfile, the CLI adds an nginx Dockerfile and config for you. A Dockerfile is only needed if you want Hostim to build the site in Docker, for example from a Git repository.

Can Hostim deploy from GitHub automatically?

Yes, with a Dockerfile in the repository that builds the site. Deploy once with --git <url>, then add the Hostim GitHub Action so every push triggers a rebuild. This is a container build, not the static upload mode.

Start now

Put something live today.

Open the dashboard and deploy a Docker image, a Git repo or a template. The 5-day trial project needs no card.