About this website
This website is served from a 10 year old Raspberry sitting in my home office in Berkeley. It’s wildly overpowered for this job.
Technical Details
- Hardware: Raspberry Pi 3B
- Disk: 16 GB San Disk SD Card
- OS: Raspberry Pi OS Lite
- Server: Caddy
- Caddy’s HTTP server is exposed via Pangolin Cloud.
Resource Monitor (24hr window)
CPU load
+ CPU load (1 min avg) + +
0.8 +-+---------------------------------------------------------------------+-+
| * |
| * |
0.7 +-| * |-+
| * |
| * |
0.6 +-| * |-+
| * |
| * |
0.5 +-| * |-+
| * |
| * |
0.4 +-| * |-+
| * |
| * |
0.3 +-| * * |-+
| * * * |
| * * * * |
0.2 +-| * * * * * * * |-+
| * * * * * * * * |
| * * * * * * * * * |
0.1 +-| * * * ** * * * **** * * * *** |-+
| ******** *** ****** * ****** ***** * ** ****** |
| ******** *** ****** * ************ **** ******* |
0 +-+---------------------------------------------------------------------+-+
+ + + +
00:00 06:00 12:00 18:00
Tue Tue Tue Tue
RAM usage
+ RAM usage (%) + +
100 +-+---------------------------------------------------------------------+-+
| |
| |
| |
| |
80 +-| |-+
| |
| |
| |
| |
60 +-| |-+
| |
| |
| |
40 +-| |-+
| |
| |
| |
| * * |
20 +-| **************************************************|-+
| |
| |
| |
| |
0 +-+---------------------------------------------------------------------+-+
+ + + +
00:00 06:00 12:00 18:00
Tue Tue Tue Tue
CPU temperature
+ CPU temperature (C) + +
90 +-+----------------------------------------------------------------------+-+
| |
| |
| |
80 +-| |-+
| |
| |
| |
70 +-| |-+
| |
| |
| |
60 +-| |-+
| * *****|
| *** **********************************************|
| ****** * |
50 +-| |-+
| |
| |
| |
40 +-| |-+
| |
| |
| |
30 +-+----------------------------------------------------------------------+-+
+ + + +
00:00 06:00 12:00 18:00
Tue Tue Tue Tue
Generating and pushing the HTML
The website itself is written in a mix of HTML and markdown, rendered via a static site generator (SSG) I built myself. The SSG is intended for ultraminimalist smolweb blogs for scientists (supporting bibtex, latex, footnotes, …). I also included AT Proto support via the standard.site schema. It’s fully functional but very rough around the edges, so I have not made it public yet. The frontend is practically a ripoff of bearblog and the backend takes inspiration from blot.im.
When I commit to my repo from one of my local machines, a post-commit hook builds the website and publishes a pages branch to the repo. I have an on-push webhook that pings the pi, which then pulls the updated HTML files and serves them.
FAQ
Q: Why does your DNS resolve to an IP in !Berkeley?
A: Because I don’t want to expose my public IP.
Q: Why pangolin cloud instead of self-hosted?
A: I self-host the vast majority of my infrastructure, and I recently moved from self-hosted pangolin to self-hosted netbird for my homelab. However, I did not want to mix my home lab with a professional website or rent another VPS just for pangolin. Hence pangolin cloud for now.
Q: Why not cloudflare tunnels?
A: I think that’s self evident to anyone on this website. Email me for a rant.
Q: Why is your website so ugly?
A: You’re ugly. Also.
Q: Why did you write this FAQ that no one’s going to read?
A: Because I’m procrastinating… something.
This webpage is inspired by Alex Wennerberg.