This site was created with SvelteKit + Tailwind. I used the uchu color palette because it's lit.
This site is deployed on my Raspberry Pi in my room. Because my ISP switches my router's IP address perodically, I use duckdns to anchor a static domain name to my router's IP.
The URLs that duckdns generates are kinda ugly, so I bought this domain name and then pointed it to the duckdns name. So the chain of references is:
pretty domain name -> duckdns hostname -> router ip address -> Raspberry pi internal
IP
As of the time of writing, that chain looks like:
leroylightn.ing -> leroy-server.duckdns.org -> (47.156.144.215) -> (192.168.254.204)
Every site within this domain is served from the same device, using nginx as a reverse proxy to SvelteKit, Python servers, etc.
I use systemd services to control all the servers running on the Pi, that way I can make them start automatically whenever I accidentally unplug it, which is often.
I have a poor man's CI setup that uses a GitHub webhook to call an API endpoint on this server every time I push to the main branch of this repo. It just pulls the latest commits to the Pi and then restarts the systemd module that controls this server.