Server migration and Owncast

About a week or so ago I decided to go shopping around for a new server to host this website and the other services I run here. The server I ran previously was a $5 DigitalOcean droplet, which served me quite well, but after I browsed some competing offerings I noticed that it was fairly expensive for what it offered. Most of the benefits DigitalOcean provides weren't being utilized by me anyway and European hosting companies like OVH and Hetzner provided better specs for smaller fees, so I decided to migrate my server over to a Hetzner cloud VPS.

This new server actually costs me a fair bit less per month than the droplet. My previous monthly costs with DO were 6.20€ after VAT and currency conversion. This Hetzner VPS costs me just 4.33€ per month, VAT included. It also almost doubles up everything the droplet provided. Instead of a single vCPU I now get two, instead of 1GB of RAM I get 2GB and instead of 25GB of disk space, I get 40GB. The Hetzner VPS also has 20 times the bandwidth available, up from the 1TB of the DigitalOcean droplet. As a side benefit, I also like that the hosting company is European and that the VPS runs in Finland.

Since the new server packs a significantly more punch, I also started thinking about running more services on it, since I may as well put the new capacity to use. On the droplet I was pretty conservative about what I ran, because although the RAM and disk space were relatively plentiful, the CPU was not really that fast and even the 25GB of disk space was making me a bit antsy.

So, this got me to thinking about Owncast. I've been on YouTube for a good long while and streamed quite a few hours on Twitch. My experiences with dealing with both of these companies has taught me that they'll ruin your day on a whim. We've seen very arbitrary behaviour on the part of both of them. Either they'll try to radically change things to chase nonsensical engagement metrics or they'll unleash poorly tested AI systems upon their unsuspecting users to keep the lawyers of the broken copyright system away from their enormous piles of money. Their prevalence and popularity also guarantees that they are basically too big to fail and this abuse of their users can continue forever.

So, one of my long-term wishes has been to breakaway from both of them and set up a system under my own control for the purpose of streaming. And with the newfound computing resources at my disposal, I think it's just about possible now.

Yesterday I set up and configured myself an instance of Owncast on this very server. I've got it running under the sub-domain Owncast is basically the perfect solution to the problem: it's a simple system that provides a simple streaming platform with video playback and a simple chat that can be very easily deployed. You can literally have it up and running in 5 minutes if you have access to a Linux host and read the instructions properly. I had been planning on running an instance on the droplet in the past but I figured the single vCPU would be unable to properly handle the video encoding and the quick calculations I made about the bandwidth usage made me think it might be running too close to the line.

But with 20 TB of transfer and 2 vCPUs, setting it up for my streams is a definite possibility. Yesterday I did my first stream on it playing some Nowhere Prophet and after some initial problems with a misconfigured reverse proxy I managed to get all of it up and running and my regular viewers seemed to have a good experience. So, I will likely end up using my Owncast instance for my future streams instead of streaming on Twitch.

There's still some features that I am missing from Twitch though that would be nice to have. On Twitch I've basically been able to automatically keep the VODs from the past two weeks automatically, so people can catch up if they missed a stream. It would be great if Owncast could replicate this functionality easily, but it also shouldn't be too hard to implement a crude version of it. I will likely have something like that running soon, even if it's just a folder and a cron job that cleans up old files.

Update: A crude stream archive is now available HERE.

In other future plans, I also am thinking about setting up some sort of a community page for the livestream audience and the like. For now I'm thinking about building a forum of some sort for the purpose, but I might also look into some chat offerings. I'd like it to be relatively light and preferrably self-hosted, but I might also just set up an IRC channel on Libera and call it a day. But the current capacity at my disposal means that I can quite freely expand the set of available services and honestly that just feels great.

In summary, let this blog post serve as a notification that if you want to catch my future streams, you should be looking at the page instead of the Twitch channel. There's also a handy extension you can download for Firefox or for Chrome that can keep you up to date when Owncast streams go live. Alternatively you can just remember that my streams start at 5 PM UTC in summer time on Fridays, Saturdays and Sundays, except in exceptional circumstances. Hope to see you in the chat for those future livestreams!