A grand project – Streaming and Video Hosting – Part 1


Sort of growing out of my impulse to record leukemia patient knowledge for posterity, I started playing PC games and streaming them. My original goal there was just to get used to recording my own video, used to hearing and listening critically to my own voice, figuring out what to talk about when playing games that might appeal to others, setting ground rules, etc., with the idea that getting comfortable with all that would help me build momentum to do the leukemia patient posterity work (since seeing occasional cancer/leukemia patient material on tiktok during my own saga helped me so much).

But now I appear to be a streamer. MWF 8a – 9a Pacific Time. An hour every other weekday is a reasonable schedule to keep, and I’m getting quick, so it usually takes less than an hour after I’m done doing the streaming to:

  1. Download the video from Twitch.tv.
  2. Copy the video to my local backup.
  3. Upload the video to YouTube with various markups and settings.
  4. Upload the video to a PeerTube I selected.

The 4th point is something I only just started doing last week. PeerTube is a distributed, fediverse version of YouTube, and it presents an interface much like YouTube, with thumbnails in different categories that are browseable and playable, especially if you’ve got a fast connection. But it’s distributed and decentralized and federated. So instead of a single service like YouTube, PeerTube uses lots of different PeerTube instances, federates them, merges them, and shows them all as a coherent stream. It also stores much of the data not locally, but on what amounts to a file system that lives in the “cloud” using BitTorrent protocols. Or at least it offloads the bandwidth to the Torrent cloud, if not the whole file. It’s unclear. But it sure does something like that. (I think it honestly depends on the settings).

And as I started uploading my 26-27 streaming videos (each about 1 GB to 3 GB) I’ve so far done, I ran out of quota on the PeerTube instance I’d found, and I wasn’t really able to find another one with rules and codes of conduct that I liked. So my response? Instead of just giving up and rotating new ones in for old ones that I delete, I’m planning instead to set up my own PeerTube instance. Because I had a Raspberry PI 4 hanging around not really doing anything and guess what? You can set up PeerTube on a Raspberry PI. So I guess soon I will know exactly how the things work.

It also answers my months old question of how do I host my eventual leukemia posterity videos on my own, too? Because if I can get my own PeerTube instance working, I can host there. And if I run out of the initial 1 TB I plan to attach, there are 3 more USB ports and I can get more external SSD drives and run it very low power for a long time.

Note for those interested, my ISP, Sonic, from whom I get Gig Fiber services, does not care if I run a server on my network, though the Fiber connection. And that’s good. But if you are unfortunate enough to be locked into, for example, Comcast, you may not have that option.

My goal here is to securely host the PeerTube instance in a DMZ (demilitarized zone), a separate, firewalled network connected to the same router. Enforced by strict firewall rules that keep traffic in the DMZ away from the rest of my network, and to run PeerTube on a Raspberry PI. They aren’t very difficult goals or tasks, but they are ones I want to do correctly, so I’m just talking here about what I want to do. The next post will be how I plan to do it, and what steps there are to doing it right, instead of just slapping it all together.

In coming posts I’ll elaborate on the details of particularly tricky points (if any) or at least interesting aspects of the overall side project

This post is number 1 in a series. As it progresses, I’ll update the table of contents below so you can find other parts.

  1. Part 1 (this one)
  2. Part 2