💾 Archived View for arcticfire.sytes.net › posts › the_stack.gmi captured on 2024-06-16 at 12:17:00. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-03-21)
-=-=-=-=-=-=-
When I started this capsule, I was really unsure if I would ever share it publicly. As I mentioned in my first post[1], I needed a place to write things where my actual name wasn't attached. Yes, I could keep a journal on paper, or in any number of offline electronic formats, but I really enjoyed what I was reading in other capsules, and felt like I wanted to potentially contribute here. By standing up a capsule, I got to play with something new, and if someday I wanted to share, I could.
Well, that day was yesterday. I was sifting through the logs on my blog, and noticed I had nearly 9,000 hits that day. Did I write something there that people found interesting and were sharing it around? No, there must be a new Wordpress vulnerability going around, as over 8,800 of the requests were either looking for .php pages, or locations in a /wp-admin/ folder.
I run a static site generator and my site is strictly .html .css. and .png/.jpg's, so wasn't worried about them finding anything to exploit. But it definitely put me in a "screw the web, and everyone abusing it" mood. And this made me submit my capsule to different Gemini directories. I'd rather share with actual people here than with bots there.
It was a quick decision, and why there isn't much on the Home[2] page (I was more interested in writing posts) or anything on the About[3] page (I know who I am so didn't need to fill that in). But now that it is public I'll need to get those filled in... eventually.
Other things I'll need to do include set up a robots.txt[4] file. I don't really have much to put in there now, but it'll be good to have set up. Set up a security.txt[5] file, to which I'll need to figure out an email address to use so someone could contact me. I'd also like to add hashtags to my posts so that they can be indexed by Freeshell[6].
[5]: Why you should add security.txt to your capsule
[6]: Freeshell.de hashtags FAQ
So I shared my capsule out, and it feels like more actual people read my posts there than have read the posts on my web based blog for a while. I definitely wasn't expecting to be linked to on my first day, but that was pretty cool. (Merci Ploum[7]) And it was interesting to see the traffic come in.
For serving the capsule, I'm using Agate[8] running from inside a docker container[9] running off an Unraid[10] server. I've been using Unraid for more than a dozen years, and while I wasn't a fan of a proprietary Linux distribution at first, its early adoption of Docker meant I could put my hand up in early 2015 when management asked "has anyone heard of this Docker thing?" and that pretty radically changed my career.
Agate has been nice in that it's recently updated, is quick, and by default doesn't log IP addresses of visitors.
For generating the site I'm using Lark's Gempost[11], and I really like it. It runs super quick and was easy to set up and make changes to the templates to help build the pages the way I wanted.
One small thing I did to help me out was to create a new_post.sh script.
#! /bin/sh FILENAME=$1 CURRENT_TIME=$(date -Is) UUID=$(uuidgen -r) touch posts/${FILENAME}.gmi echo "id: \"urn:uuid: ${UUID}\"" > posts/${FILENAME}.yaml echo "title: \"${FILENAME}\"" >> posts/${FILENAME}.yaml echo "updated: \"${CURRENT_TIME}\"" >> posts/${FILENAME}.yaml echo "summary: \"Post Summary, if you are reading this, I didn't update the summary\"" >> posts/${FILENAME}.yaml
This lets me do a quick $ new_post.sh the_stack and everything needed for this post is created and timestamped. I just need to remember to go into the .yaml file and capitalize the title and write the summary.
I run Fedora Silverblue[12] on my desktop and laptop as it lets me run Linux at home without feeling like I'm doing work by maintaining the entire OS. I do enough server administration at work, I don't need to do more than necessary at home. Since Silverblue is an immutable distro, I use Distrobox[13] to run Fedora inside of Fedora. Yes for this use case I could just use Toolbox, but Distrobox gives me the option of running alternative OS's. So I can run a Debian variant if I need to install a Debian package, or run Arch so that I can tell everyone I run Arch.
So inside my Distrobox was a quick install of cargo, then a cargo install gempost, and since rust compiles everything cleanly, and Distrobox links in my home directory, a quick set of the path, and I can run gempost without needing to be in the Distrobox container. (I really need to get back to playing with Rust)
My posts are written using Apostrophe[14] which is a nice minimalist markdown editor with a good focus mode which is happy to shrug its shoulders when presented with a .gmi file and just open it as a plain text document. I haven't used Hemmingway mode, but one day I'll try it out.
I use git to commit the capsule to my own Forgejo[15] instance running on my server, because GitHub doesn't need to train CoPilot on my data. While I've thought about setting up a Forgejo Runner to build my capsule the same way I build my blog, I haven't yet. Building CI/CD pipelines is what I do for work, and I'd rather not think about work related things outside of work if I don't have to. So I run gempost locally on whatever system I'm on, and use Syncthing[16] to push the published capsule pages to where Agate is looking for on the server. I was already synchronizing a lot of other things, so this made it easy to add one more.
So that's how this capsule works. This ended up a lot longer than I anticipated when I started writing, but that's the fun I've been having writing here. Different little adventures that start with a blank screen and a vague idea of what I want to write, meander through my thought processes, and with a couple quick keystrokes, can easily be shared here.
-af