Installing BobaBoard
What is self-hosting, again?
Section titled “What is self-hosting, again?”Self-hosting means setting up your very own BobaBoard server for you to use as you wish.
BobaBoard is easiest to configure on a server running NixOS. If you need help with getting your server set up, head back to Configuring a NixOS Server
Installing BobaBoard on a NixOS Server
Section titled “Installing BobaBoard on a NixOS Server”You can install Bobaboard on the server the same way you installed other programs. (See example)
Also see example for how to enable and configure the Bobaboard service.
- configure the db
- configure the address
- configure firebase credentials
- configure SSL (certificate and key)
Reload the config. It’s a simpler command now since the files are available on the remote machine:
sudo nixos-rebuild switch --flake .#boba-example |& nix run nixpkgs#nix-output-monitorDoing this without all the files in place will fail - so things like the certificates, the firebase creds, etc. There will also be other errors! Read the output!
One thing that needs troubleshooting is a missing directory needed for the boba
service to run correctly - it needs a /var/lib/bobaboard directory owned by
the bobaboard user that the service creates.
(Note that roughly around the 2hr mark is a whole bunch of troubleshooting for this stuff)
Someone hosting their own Bobaboard instance will have to have a Firebase account—they may or may not have to do much config. They’ll likely need authentication and storage enabled, and that might be enough. This is something we’d need to test out.
Anyway, once you have the key/the SDK config, you’ll want to save it at the specified file path from the boba service config.
You can check curl http://127.0.0.1:4200/realms/slug/uwu to see if it’s
working after the database gets seeded.
Give it an address
Section titled “Give it an address”DNS, SSL, Certificates
- Go to DNS provider and point the DNS to the server’s IP
- Ask The Big Certificate Authority in the Sky for a certificate to enable connecting to our machine using HTTPS at the specified URL stopped notetaking around 2:28