azwm: workspace 0 focused ariazonaa@obsidian --:--
ariazonaa@obsidian: ~0 · HOME

ariazonaa@obsidian


OS
Debian — stable, by choice
Host
1× dedicated · rented metal
Kernel
stock — whatever Debian ships
WM
azwm · tiling
Shell
zsh · far too many aliases
Services
41 · workspace 2 ▸
Locale
DE · Europe/Berlin

One rented box. Everything I use runs on it.

A homelab kept online by one person, for one person — my mail, my files, my chat, this page. Nothing here is for hire; it's just the log. Press 0–5 or h/l to switch workspaces.

ariazonaa@obsidian: ~/README1 · ABOUT

$ cat ~/README

N1

Somewhere in Germany, in a room with too many terminals open. The first thing I ever kept online was a Minecraft server on a hand-me-down desktop — it fell over constantly, and figuring out why is more or less how I ended up here.

N2

Current footprint: one dedicated server plus a handful of VMs scattered across hosters. It runs my mail, my files, my chat backends and this page. Nobody else depends on it, which is exactly the point — I get to break things on a Tuesday.

N3

Why I run it myself instead of clicking a checkbox somewhere: managed services keep surprising me. Pricing pages change, free tiers disappear, APIs deprecate without notice. My setup hasn’t surprised me in a year — and when it does, the logs are on my disk.

N4

The part I actually like: tracing a slow request from the edge through nginx, into the container, into postgres, and finding out it was a missing index the whole time. There’s no ticket, no customer and no deadline attached to that. That’s why it’s fun.

ariazonaa@obsidian: ~/log.md3 · NOTES

$ less ~/log.md # newest first

2026-06-09 it was the index, of course

Gitea crawled — two seconds to render a repo page. I blamed the edge, then the container, then my own network, and spent an evening tcpdumping the wrong hop. It was a table that had quietly grown past a million rows without an index. One CREATE INDEX later it was back to normal. Note to self: measure every hop before guessing at any of them.

2026-03-22 the service I didn’t install

Nearly deployed a whole thing to do one job. Wrote 20 lines of bash and a cron entry instead. It has been running since, needs no updates, no backups of its own and no reverse-proxy entry. About half the time this works; the other half I end up installing the real thing anyway, grumbling.

2025-12-05 reading WARN on purpose

nginx logs every request, Grafana graphs the metrics, Uptime Kuma pings every endpoint — and none of it helps if nobody looks. Made it a weekly habit to read everything WARN-and-above. Two of the last three things that woke me up had been complaining in the logs for days beforehand.

2025-09-14 boring rebuild

Rebuilt the box after a disk swap and briefly considered making it interesting — new distro, new orchestration, the works. Put Debian, systemd, nginx and postgres back on instead. It has not woken me up since. Unimpressive on paper, and that appears to be the feature.

~/log.md (END)

ariazonaa@obsidian: ~4 · CONTACT

$ cat ~/.contacts # click to open · or copy to clipboard

These channels reach me directly. Pick one.

discord .ariazonaa
telegram @tcpsus

$