I’ve recently gone through the installation and config of GoToSocial on a Raspberry Pi running in my office and thought I’d write a quick post to remind me of stuff and maybe others will find it useful too.
First of all, after buying a Raspberry Pi OS image to the SD card, I followed the documentation – nothing outrageous here, just followed it through and made all changes as recommended. The only thing I tweaked was media size limits (including local emoticons) as I have a large 1TB SSD to play with so wasn’t too bothered about limiting sizes. Oh and despite the documentation stating otherwise, I changed the default database from Postgress to Sqlite.
The location of the hierarchy ‘gotosocial’ I put on the external drive for obvious reasons.
After installation (basically just downloading the binary from the address in the documentation) I started the service up and it just worked!

Dynamic DNS
I had at first just added an A Record for the subdomain to point to my router’s external address, just to get things working. I have now enabled the ASUS DDNS service and pointed a CNAME record to my new DDNS domain. That was surprisingly easy and works well.

Port Forwarding
Also, of course, I needed to add port forwarding from the router to the Pi ports, ensuring the firewall was ON! And of course this requires a static LAN IP set for the Pi itself.

Backup & Restore
After playing around with it for a couple of days, the next step is making sure backups are working and recoverable.
By far the simplest way to back up is to stop the service, and then compress all files and copy them to a backup location. Something like:

In theory then a restore would simply be a case of expanding the file to the correct location. I may at some stage get another cheap Raspberry Pi to test the restore process.
I’ll have to play around a bit more with this and create a way of moving the file offsite and into the cloud, but for now this is working ok.
Next steps, tweaks and improvements will appear here over the coming days/weeks…