nanoc on statichost.eu
So I have had a debian instance running on Linode for quite some time hosting various things. And before that it was Digital Ocean. Now both these companies are based in the US which makes it impossible to stay around given the political situation. At the moment it is only this static site that runs on this host so a natural move would be to use some static hosting. I found statichost.eu - based in Sweden and running on Hetzner - a German company present in many regions. It is free for the one site and the next tier is a 9€ a month so not too steep.
As the loyal reader may remember this site is built with nanoc. Nanoc is a static site generator built with Ruby and the site is built on that with a combination of Markdown, Slim, Javascript (in a few places), CSS and Ruby. Running bundle exec nanoc produces the site under the directory output that can then be copied to wherever it is gonna be served to the masses.
The docs at statichost are really straightforward and good but since Nanoc is a bit niche I had to do a tiny bit of configuration myself. Statichost hooks up with your git repo and then uses a file called statichost.yml to decide what to do. It is basically a docker image, a build command and a target folder to be copied after the build finishes. In my case it looks like this:
image: ruby:3.4
command: bundle install && bundle exec nanoc
public: output
I pointed my statichost site to my repo at codeberg, added a deploy key and it just worked.
As default the site end up on a subdomain at statichost.page. In my case then mazin.statichost.page. To get the “real” domain up and running it is a matter of replacing A records with an ALIAS in the DNS. All well documented in the docs.
Lastly it is nice to get builds on push and it was also easy to set up a webhook from codeberg to statichost. While spending my days in an Azure corporate environment it is refreshing to be able to do some things easily for once. As tech could have been!
written by fredrik at 2026-09-08
Related posts