About this website
This website is served from a 10 year old Raspberry sitting in my home office in Berkeley. It’s hilariously 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.18 +-+--------------------------------------------------------------------+-+
| * *|
| * *|
0.16 +-| * ** * **|-+
| * * * * ** * * * **|
0.14 +-| * * * * ** * * * **|-+
| * * * * ** * ** * **|
| * * * * ** ** * * ** * * **|
0.12 +-|* * * * * ** ** * * ** * * **|-+
|* * * * * * *** ** * * ** * * * **|
|* * * * ** * *** ** * * ** * * * **|
0.1 +-|**** * * * ** * *** ** * * *** * * * **|-+
|**** * * * ** * *** ** * * *** * * * **|
0.08 +-|**** * * * * * ** ******** * * *** * *** **|-+
|**** * * * * * ** ******** * * *** * *** **|
|**** * * * * * * * *********** ** * *** * * *** **|
0.06 +-|**** * ** * * * ** ** * * *** *********** ** * *** * ** *** **|-+
|**** * ** * * * ** ** * * *** ************** * *** * ** *** **|
|**** * ** * * * ** ** * * *** ************** * *** * ** *** **|
0.04 +-|**** * ** * *** ****** *** ******************* ***** **** *** **|-+
|**** * ** ***** ********** ******************* ***** **** **** **|
0.02 +-|**** * ** ****** ********** ******************* ***** **** **** **|-+
|**** * ** ****** ********** ******************* ********** **** **|
|**** * ** ****** ********** ******************* *************** **|
0 +-+--------------------------------------------------------------------+-+
+ + + +
18:00 00:00 06:00 12:00
Mon Tue Tue Tue
RAM usage
+ + RAM usage (%) +
100 +-+---------------------------------------------------------------------+-+
| |
| |
| |
| |
80 +-| |-+
| |
| |
| |
| |
60 +-| |-+
| |
| |
| |
40 +-| |-+
| |
| |
| |
| |
20 +-|*********************************************************************|-+
| |
| |
| |
| |
0 +-+---------------------------------------------------------------------+-+
+ + + +
18:00 00:00 06:00 12:00
Mon Tue Tue Tue
CPU temperature
+ + CPU temperature (C) +
90 +-+----------------------------------------------------------------------+-+
| |
| |
| |
80 +-| |-+
| |
| |
| |
70 +-| |-+
| |
| |
| |
60 +-| |-+
| ***** **************************************************************|
|***************************** * * * *********************************|
| |
50 +-| |-+
| |
| |
| |
40 +-| |-+
| |
| |
| |
30 +-+----------------------------------------------------------------------+-+
+ + + +
18:00 00:00 06:00 12:00
Mon Tue Tue Tue
How is this website built?
The website itself is written in a mix of HTML and markdown, rendered via a homebrew static site generator (SSG) called barebear (see below). barebear was intended for ultraminimalist smolweb blogs for scientists, with support for bibtex,
,
footnotes, and many of the other luxuries we’re used to. I also included ATProto support via the standard.site schema, in alignment with POSSE1. The SSG is fully functional but very rough around the edges, so I have not yet made it public2.
The frontend is practically a ripoff of bearblog (hence barebear), with full bear theme compatibility3. The backend takes inspiration from blot.im, using mustache templates, a TOML site config, and pandoc as a build system.
When I push updated files (markdown, raw HTML, updated template, …) from a local repo to the remote, a pre-push git hook builds the website and publishes a pages branch to the remote. I have an on-push webhook that pings the pi, which in turn pulls the updated HTML files from the pages branch and serves them via Caddy. The ASCII plots on this webpage are generated with gnuplot, which runs once an hour and reads a file filtered from the /proc pseudo-filesystem. Everything runs via simple systemd daemons.
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.