Colophon

My current tech stacks for building and hosting this site (and its smaller-net counterparts). On a related note, you may be interested in my software reviews and the tech tips I’ve learned and gathered over the years.

Website

This website is hosted on a managed VPS running Apache HTTPD at DreamHost. The main site is mostly static, except for a few specific features like search and the consolidated tag pages. My blog runs ClassicPress, and my single-person Fediverse site runs GoToSocial (the latter on a VPS at Linode, running Alpine Linux).

Most of the one-off pages are hand-crafted HTML, with hand-crafted CSS. I prefer to write CSS myself and make use of the cascade, instead of using any sort of pre-processor. Larger sections are built using Eleventy as a static-site generator. I started with eleventy-blog-base and customized it a lot, releasing those customizations as an 11ty starter called Indie’s Eleven.

Local search uses a Perl script called Fluffy Clouds search that doesn’t seem to exist anymore, with some local customizations.

A custom PHP script combines tag pages from each section and the blog. I also wrote FeedMix, a Python script that combines the Atom/RSS feeds.

For cross-posting, I use some IFTTT recipes to auto-post links to the Fediverse, Bluesky and Tumblr.

Gemini Capsule

Agate runs the capsule on the same VPS hosting my website, since a regular user can listen to port 1965. (I use cron to run it on startup).

Some parts are hand-crafted. The Les Mis and Reviews sections are generated from the same Markdown files as the 11ty sites. I call md2gemini from a custom script, and my script post-processes it all to clean up links and add local navigation.

My Gemlog is mostly hand-written, and uses a script I wrote called gemloginplace to build category/tag pages and update navigation.

Gopher Hole

I’m experimenting with Gopher using the Gophernicus server, which I installed on a Linode VPS since I can’t listen to port 70 as a regular user. It took a little effort to get Gophernicus running on Alpine.

So far, I’ve been hand-crafting gopher menus and copy-pasting plain text, using fold -sw67 to word-wrap the files. I plan on auto-converting from Gemtext once I settle on the formatting I want.