💾 Archived View for cipay.ca › log › rpi.gmi captured on 2023-03-20 at 17:43:31. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
i took a raspberry pi 3b+ from someone who never used it, cause i wanted to self-host some stuff :3
and here i'll try to document a bit of the process i guess? cause it was fun, uwu
(these links are all HTTP, by the way, oh and a lot of this is from memory, sorry if it's fucked up rn)
there's a port of openbsd to arm64, so i was like "niiiice"
i installed it by putting the live disk on the microsd card, then i installed it to an external usb ssd
first i needed to install a uefi bootloader to the pi though
RPi3, a raspberry pi uefi firmware (latest version worked fine)
uhh i think this site was helpful
i started off hosting web content by using the caddy webserver, because it has a very easy way of dealing with ssl (https) certificates, uwu
i had to install it from source, though, which wasn't too hard. mostly just followed the guide.
helpful list of GOOS and GOARCH variables
i used the environment variables:
export GOOS=openbsd export GOARCH=arm64 export GOARM=8
my config file (/etc/caddy/Caddyfile) is short and looks like this:
cipay.ca { tls my.mail@example.com root * /var/www/htdocs/html file_server browse log { output file /var/log/caddy/my-caddysite.log } }
i forwarded ports 443 and 80 on my pi from my router's admin panel.
for xmpp i installed prosody from the package manager. i barely changed any settings in the config (/etc/prosody/prosody.cfg.lua), except for:
admins = { "linen@cipay.ca" } modules_enabled { "bosh"; } VirtualHost = "cipay.ca"
i forwarded ports 5222 and 5296
uhhh i just followed the guide on the akkoma website
but i served it over caddy, so i EXPANDED my Caddyfile to look like this:
# this is my website (unchanged) cipay.ca { tls my.mail@example.com root * /var/www/htdocs/html file_server browse log { output file /var/log/caddy/my-caddysite.log } } # this is the new block i added, for akkoma amisk.cipay.ca { log { output file /var/log/caddy/pleroma.log } encode gzip reverse_proxy 127.0.0.1:4000 }
following the rest of the guide worked.
for gemini i installed molly-brown, which is smooth and actually works. to generate tls key/cert i used the following line
openssl req -new -subj "/CN=cipay.ca" -x509 -addext "subjectAltName = DNS:cipay.ca" -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -days 365 -nodes -out cert.pem -keyout key.pem
then i pointed "/etc/molly.conf" to the location of cert.pem and key.pem. :D
i wanna make this article easier to read in the future. just kinda braindumping right now.
i was drunk / stoned / tired / depressed / other stuff when i did all of this so please be cautious cause i have no idea what i'm doing and i barely remember the steps i took to properly do any of it, but i wanted to be somewhat helpful for now <3
march 7, 2023