$ cat /etc/motd
OpenBSD 7.6 (GENERIC) #332: Mon Sep 30 08:45:17 MDT 2024

         __              ___.                          __  .__
  ______/  |______ ______\_ |__   ____ _____    ______/  |_|__| ____
 /  ___\   __\__  \\_  __ | __ \_/ __ \\__  \  /  ___\   __|  _/ __ \
 \___ \ |  |  / __ \|  | \| \_\ \  ___/ / __ \_\___ \ |  | |  \  ___/
/____  >|__| (____  |__|  |___  /\___  (____  /____  >|__| |__|\___  >
     \/           \/          \/     \/     \/     \/              \/

In addition to hosting my static websites https://rnkn.xyz and https://fountain-mode.org this server also acts as a research project.

This server runs OpenBSD with 512MB of memory and 10GB of storage hosted on Vultr.

$ uname -a
OpenBSD starbeastie.rnkn.xyz 7.6 GENERIC#332 amd64
$ sysctl -n hw.physmem
519946240
$ df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/sd0a      8.2G    4.1G    3.7G    53%    /
/dev/sd0d      1.1G    368M    667M    36%    /usr/local

Web Server

This website is served with the httpd HTTP webserver and the relayd relay daemon.

The server’s ed25519 public key is:

$ cat /etc/ssh/ssh_host_ed25519_key.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBgyVZ2A48dDWkknH7SAPxogjQM1nud8bSEbJs+4XuAE

Git access is provided by anonymous ssh using the gotd daemon. Code repositories at https://rnkn.xyz/got/ are served with the gotwebd FastCGI server.

got

Build

This site is entirely built with POSIX shell and lowdown. The full source can be found at https://rnkn.xyz/got/?action=summary&path=homepage.git.

The build command is:

HTML_DIR=/home/rnkn/public_html/homepage/ sh build.sh

https://fountain-mode.org is built with Texinfo:

texi2any --html --css-include=$(CSS_FILE) --output $(HTML_DIR) $(TEXI_FILE)

Mail

IMAP is handled by Dovecot and server-side SMTP by smtpd with DKIM signing performed by filter-dkimsign.

$ openssl pkey -in /etc/mail/dkim/private.key -pubout
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyxS8Vh/XOul6oqaHQ6Oq
RheOfoL0df/h1S1TT2DeU5CW51vVdkpo7ZMQeflVlnXLqCxIJuq7XMU6sTyU7/7W
D6cIK4N9vxBuyUQy1fW/gzsWcwttFA+70nbjBH6gdYodxuLJ0dVK6fZSS8JK5yX6
omlY1CZPENaZJ+ftzTbmXIzhDnerQQ1cSxscH0TR1hXfkcQkQxcCELErYhdGBjD5
M6H75VRjfdO95/c4hKM00fq1zUNyg4yQM0kXlNc1ac57boojstuX7fu4bCu6B1AX
8aygrikt2QyaIrcmUYj8Ql4z9HAJxyFsUyvIeFe+RTbUyGnOJTnq0SMBQr8YuJtn
twIDAQAB
-----END PUBLIC KEY-----
$ dig dkim._domainkey.starbeastie.rnkn.xyz +short TXT | fold -w64
"v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyxS8Vh/X
Oul6oqaHQ6OqRheOfoL0df/h1S1TT2DeU5CW51vVdkpo7ZMQeflVlnXLqCxIJuq7
XMU6sTyU7/7WD6cIK4N9vxBuyUQy1fW/gzsWcwttFA+70nbjBH6gdYodxuLJ0dVK
6fZSS8JK5yX6omlY1CZPENaZJ+ftzTbmXIzhDnerQQ1cSxscH0TR1hXfkcQkQxcC
" "ELErYhdGBjD5M6H75VRjfdO95/c4hKM00fq1zUNyg4yQM0kXlNc1ac57boojs
tuX7fu4bCu6B1AX8aygrikt2QyaIrcmUYj8Ql4z9HAJxyFsUyvIeFe+RTbUyGnOJ
Tnq0SMBQr8YuJtntwIDAQAB"

The server has a read_later script that takes a URL, converts the article content of a webpage to an email and sends the email to the user. This script uses the C programs webdump for the plaintext message part and rdrview for the HTML message part. Email is filed using Pigeonhole for Sieve.

Feeds

Feeds are fetched on a cron job using the C program sfeed, which stores data in TSV files.

Feeds are converted to two output formats:

Monitoring

HTTP and IMAP uptime is monitored externally at https://status.rnkn.xyz.