I didn’t keep good notes as I went, honestly. I did a first pass on this “shooting from the hip” a bit to just see if I could get it to work.
Instead of using Docker-CE, I used podman
which created a little bit more work (not much at all really). Ultimately the service did start up, did run. It was even usable until the moment it started federating. As soon as I started following external accounts from the instance, and the federated traffic started coming in, I could see that the system was hitting high loadavg
numbers (like in excess of 5.0). But the CPU cores still had plenty of idle capacity.
It ended up being incredibly I/O-bound by the micro SD card it was booting from. Without going to some additional lengths to figure out how to use USB storage on this device, I pulled the plug on the experiment.
Technically, yes, you can run GoToSocial on a Raspberry Pi Zero 2 W. But I think you’d have to disable federation, and only allow local users. And it just wouldn’t be fun at all.
If there is a third generation of the Raspberry Pi Zero family on the horizon, I would very much like to revisit this experiment. But only if it offers other storage options. For example, if I could get one of these with 16 or 32GB of eMMC storage on it, I think it could be a very viable experiment then.
The other big constraint on the Raspberry Pi Zero 2 W is that it only has 512M of RAM. Honestly, I don’t think this was the limiting factor in this deployment. Or at least the disk I/O bottlenecks were preventing me from reaching the memory bottleneck. If there’s a third generation board coming, a little more RAM would also make the Zero a more attractive platform for self-hosting cool little services like GoToSocial.
Let me know on GoToSocial/Mastodon @[email protected]if you’d like to know anything more.