Migrating from Codeberg Pages to an OpenBSD VPS - Nemin's BlogMigrating from Codeberg Pages to an OpenBSD VPS<br>Moving my content over to Netcup.<br>Posted on: 2026-08-14<br>Tags: programming, openbsd
Table of Contents
1. Background
2. Picking my provider
3. German bureaucracy
4. Setting up my VPS
4.1. SSH config
4.2. Upgrading OpenBSD to 8.0-beta
4.3. Firewall
4.4. TLS certificates
4.5. Web server
4.5.1. Be careful with MIMEs
5. Findings; or, Bots Love Your Obscure Content!
6. Conclusion
In this post I'd like to explain the "how"-s and "why"-s of moving<br>from forge-based static site hosting to a full on VPS.
This isn't really a tutorial, mostly because there are far better<br>texts out there how one would do these things, but I do link to many<br>of them and point out stuff I found confusing or surprising.
Also, if you're reading this post, you're reading it served by the<br>VPS, say hi!
1. Background
I've been blogging for almost eight years now and for those eight<br>years, I've always relied on some sort of free host for my<br>content. This seemed fine for a pretty long time, especially<br>considering neither this nor my other site is monetized at<br>all. However, recent-ish changes in my needs and financial situation<br>finally got me to break with the status quo and actually experiment a<br>little.
Originally, I relied on Github Pages, which was for a site like mine<br>almost perfect. It was free and required nearly zero setup, it built<br>almost immediately, it had impeccable uptime (something Github<br>famously started to struggle with), and I could super easily place a<br>cheap domain in front of it to make it a little more appealing than<br>the factory-default nemin32.github.io address.
However, due to the, ehm, recent trends and emboldened by the<br>rallying cries of the people who had enough, I too took the dive and<br>moved my presence over to Codeberg. This, of course, meant my two<br>websites had to move too. Thankfully the process wasn't particularly<br>painful (the article linked above pretty much gets you up to speed in<br>10-15 minutes) and so I quickly had everything set up.
While I thought I was done, sadly I quickly realized that though the<br>two services were similar in design, their quality of service was very<br>different. Codeberg Pages really struggled at times. My pages are<br>rarely over a couple hundred kilobytes (most of which being a couple<br>AVIF-encoded pictures) and yet there were times where loading my sites<br>took 10-15 seconds, while the browser just hanged.
Before anyone gets the wrong idea, I'm not blaming Codeberg for this<br>in any shape or form. In fact I'm very grateful, that the option<br>exists in the first place. After all, they are a (relatively) small<br>non-profit, who have to serve not just my silly little webpages, but<br>sites for far more serious projects too. With this in mind, it's no<br>wonder they can't always afford the computing power for me.
However, as much as they have my sympathies, I was still stuck with<br>this problem and had to figure out some solution. And said solution<br>was joining something useful with something pleasant: Enter VPS-es.
2. Picking my provider
A VPS is a managed virtual machine, that one may rent from cloud<br>provider companies. The userbase is very wide, you can find people<br>using them from all areas of life, from students and hobbyists, to<br>very serious and large companies, who don't want to bother with<br>on-prem solutions.
These days, if one happens to fall into the former category and only<br>really needs a machine that has some minimal RAM and a reasonably fast<br>few (perhaps even one) core CPU, they have a plethora of providers to<br>pick from, who specialize in pushing down prices and lending you such<br>VMs for literal peanuts.
Figure 1: An example of a site that collects such cheap deals.
For a striking example, just take a look at LowEndBox's $1 per month<br>VPS list, the name tells you what to expect. But if you're willing to<br>shop around for more obscure providers and can contort your needs even<br>further (for instance by not requiring an IPv4 address), I've found a<br>company, who'll rent you a VM with 5Gb of storage and cca. 400MB of<br>RAM for $4.5 per year, not month, year. I don't think you can go<br>much lower than that.
However, figuring that it's not like I'll be spending fortunes either<br>way, I decided to stick to a well-known and trusted option,<br>netcup. While their cheapest option is closer to 2€ a month, in return<br>you get an unmetered, 100Mbps connection (as long as you use it in<br>good faith), 30Gb of storage space, the option to make a snapshot of<br>your VM for backups, and the assurance that your money is going to a<br>bunch who know their stuff.
Sounds all great… if only it wasn't so unexpectedly convoluted to do<br>business with them.
3. German bureaucracy
As explained earlier, my choice fell on the VPS Pico G11s. At first<br>the process was as one would expect:
I put the VPS in my cart, entered my address and personal data, then<br>clicked through the pages, until I noticed that there is a...