With Hetzner + Caddy + GoToSocial.
1. You probably already have some way to host content on the Internets, but if not, get a $5 Hetzner cloud server. I just put it on my home server, a old repurposed thin client.
2. Install Caddy.
3. Download the GotToSocial tarball.
Create a gotosocial user and group, with homedir /home/gotosocial.
Unpack the tarball into /home/gotosocial.
Create a symbolic link of /usr/local/bin/gotosocial to /home/gotosocial/homegotosocial.
Copy the example configuration file to /etc/gotosocial/config.yaml, edit it as below.
Copy gotosocial.service to /etc/systemd/system/gotosocial.service, edit it.
Run sudo systemctl enable gotosocial
and sudo systemctl start gotosocial
. Check /usr/log/gotosocial.log
for errors, and fix.
4. Create your initial accounts with the commands
sudo -u gotosocial ./gotosocial --config-path /etc/gotosocial/config.yaml admin account
First you create, then you confirm, and remember to give your account admin rights. Read more in the gotosocial docs.
4. Log in with https://pinafore.social/
I also installed the Python CLI client toot
with pip install --user --upgrade toot
,
but logging in with that client required capturing the OAuth2 token required by toot by
ps axufwww | grep arn
when the Chrome client launch failure window was visible.