My website is slower now
I've been living in the Netherlands for 4 years now. Time's really flown since 2021, and much has changed. But one thing that hadn't changed until now was that pelmers.com (this website) was hosted in the U.S. west coast. Now, after several years, it's moved with me to Europe. That means on average, given my audience statistics, it's slower for you! Of course, that's a price I'm willing to pay.
Migrating a server, in principle, doesn't have to be a big challenge. But I didn't make things easy for myself over the years. All the projects I've written and shared on this blog are hosted from a single machine, and run by just launching scripts from source code.
Copying over the programs themselves, that's the easy part. The headache comes from dealing with environmental changes. streetwarp-cli is written in Rust 2018 edition. My old server ran Ubuntu 18, released in, you guessed it, 2018. The node version was equally vintage. Hosting providers don't even provide Ubuntu 18.04 images anymore.
I first moved all my existing services into Docker containers. That's the path of least resistance since it lets me keep using the ancient versions for each service while the host is upgraded. I copied over all the state for these services to my new host and started them. Then I changed the DNS entries to point at the new location's IP.
Now that I've safely tucked each program into its own container, I can eventually get around to upgrading their toolchains (Rust/Python/Node versions) one by one.
I also haven't really discussed the technical stack of the site before, but since I just re-familiarized myself with it, I need to share or else I'll forget again.
- Cloudflare for domain name registration and DNS hosting.
- Hetzner for the computer that runs my web sites. I had been using Upcloud, but Hetzner offers better performance for less cost. It's only a few euros per month (~10 vs. ~6) but I've been running this server now for years. The difference makes it easier for me to break-even on my non-work income and expenses. For disclosure, the only income source is app sales of GPX Splice.
- Ghost for CMS (blogging). I think it's like Wordpress, though I've never run a Wordpress site before. Overall it's nice and easy. I actually don't even use the Mysql option; the database is Sqlite for simplicity. My landing site https://pelmers.com/ uses my own Metroid Prime components. But I think it's gotten a bit stale and I want to change it once I get inspiration for another idea.
- Rybbit for analytics (how many people use my site). I had been using Plausible, but this one looks nicer on the admin side.
- Beszel for server monitoring (CPU usage, network, memory, etc). I like the UI, but the utility is questionable since my server is monitoring itself. If it goes down then my monitoring goes down too.
- UptimeRobot for uptime checks. There's a free tier here that's good enough for me. Basically it just sees if your domain loads, and if it doesn't it'll send an email.
- Mailchimp for the emails attached to this blog. Not linking their web site because they don't need the advertising. They're run by Intuit, the turbotax company. I don't recommend them.
- Github Pages for most of my static web sites (like GPX Replay). The exception is Metro Lens, which is hosted on Vercel only because I wanted to try something new and learn Next.js. I'd recommend just sticking with Github Pages though.

View Comments