This is an old revision of the document!
Table of Contents
folk.zone Wiki
A public knowledge base for self-hosting, terminal computing, and life on the small web, built around the folk.zone homelab.
Atomic pages. One topic per page. Everything interlinked.
About This Wiki
This is the public documentation and knowledge base for folk.zone, a self-hosted homelab running on a ThinkPad X270 (casa) in Calgary, Alberta, accessible via direct HTTPS with Let's Encrypt.
It serves three overlapping purposes:
- Operations reference: how the homelab is configured, why each service exists, and how to fix things when they break. Every service has a page. Every bug that required more than five minutes to resolve has a page named after its root cause.
- Terminal and tools reference: dotfiles, shell configuration, CLI tools, SSH setup, editors. The kind of thing that takes an afternoon to reconstruct from memory after a fresh install.
- Web philosophy: notes on the IndieWeb, the small web, alternative protocols (Gopher, Gemini, Finger), tilde communities, and the broader question of what the internet is for and who it belongs to. These pages are part reference, part essay.
The wiki lives at wiki.folk.zone and is itself a service on the homelab, a DokuWiki instance running in Docker, proxied through Caddy.
What's Here
The folkzone section documents the physical server, Docker Compose stack, every deployed service, and a full troubleshooting log. If a service is running at *.folk.zone, it has a page here. Several services (Mastodon, Lemmy, Forgejo, Pixelfed, BookWyrm) are on hiatus: stopped, with data preserved and configs in server/dormant/.
The hosting section is a step-by-step guide to self-hosting web infrastructure: hardware selection, networking and port forwarding, domain setup, Docker, and the Caddy reverse proxy.
The terminal section covers shell configuration (bash, dotfiles, profile.d), text editors (Micro, Vim, Nano), and CLI tools, both the classic ones (git, rsync, SSH) and modern Rust-era replacements (eza, bat, fzf, ripgrep, starship). Also covers tmux/byobu for persistent SSH sessions.
The protocols section covers the small web beyond HTTP, including Gopher (port 70), Gemini (port 1965), and Finger (port 79). Also includes the philosophy of the small web: solarpunk, browser monoculture, old hardware preservation.
The IndieWeb section is the largest. It covers IndieWeb principles and terminology, the broader Good Web framing, community spaces (Dreamwidth, omg.lol, tilde servers), blogging workflow, syndication, digital gentrification, trust online, and the social and political context for why any of this matters.
The tilde section covers the tildeverse: the network of public-access unix servers, its history back to 1960s timesharing, how to join, and per-server references for tilde.town, tilde.pink, tilde.club, SDF, cosmic.voyage, envs.net, tilde.green, and rw.rs.
The guides section contains reusable how-to references that aren't tied to a specific homelab instance, including licensing (copyleft, Creative Commons) and the workflow for adding a new service.
The troubleshooting section holds cross-service incident writeups: database permissions, federation failures, environment variable bugs, each named by root cause.
Namespaces
| Namespace | Pages | Words | Description |
|---|---|---|---|
| :root: | 3 pages | ~1,318 words | Wiki home, sidebar, navigation |
| :folkzone: | 8 pages | ~2,546 words | Server infrastructure, stack overview, Docker Compose |
| :folkzone:history: | 3 pages | ~550 words | Homelab history |
| :folkzone:infrastructure: | 1 pages | ~39 words | Infrastructure overview |
| :folkzone:networking: | 5 pages | ~1,595 words | CDN, DDoS, bot traffic, Deflect |
| :folkzone:services: | 23 pages | ~3,006 words | One page per deployed service |
| :folkzone:services:irc: | 5 pages | ~984 words | IRC setup and management |
| :folkzone:services:irc:troubleshooting: | 10 pages | ~1,016 words | IRC incident writeups |
| :folkzone:troubleshooting: | 19 pages | ~3,196 words | Bugs and resolutions, named by root cause |
| :guides: | 6 pages | ~2,559 words | Reusable how-to guides |
| :hosting: | 2 pages | ~456 words | Self-hosting guide index |
| :hosting:caddy: | 6 pages | ~1,537 words | Caddy reverse proxy |
| :hosting:docker: | 9 pages | ~3,353 words | Docker and compose |
| :hosting:domain: | 7 pages | ~1,746 words | Registrars, DNS, DDNS |
| :hosting:hardware: | 9 pages | ~3,262 words | Hardware selection |
| :hosting:networking: | 8 pages | ~2,448 words | Port forwarding, static IP, CG-NAT |
| :indieweb: | 51 pages | ~18,801 words | IndieWeb principles, community, tools, philosophy |
| :indieweb:webmentions: | 4 pages | ~658 words | Webmention service notes |
| :meta: | 5 pages | ~1,847 words | Wiki maintenance and community guidelines |
| :playground: | 2 pages | ~138 words | Test space |
| :protocols: | 1 pages | ~136 words | Alternative internet protocols |
| :protocols:finger: | 2 pages | ~416 words | Finger protocol |
| :protocols:gemini: | 2 pages | ~530 words | Gemini protocol and gemtext |
| :protocols:gopher: | 1 pages | ~408 words | Gopher protocol |
| :protocols:smallweb: | 7 pages | ~1,322 words | Solarpunk, browser monoculture, old hardware |
| :terminal: | 1 pages | ~123 words | Shell, editors, CLI tools |
| :terminal:editors: | 4 pages | ~673 words | Micro, Vim, Nano |
| :terminal:shell: | 10 pages | ~2,223 words | Bash config, dotfiles, profile.d |
| :terminal:tools: | 19 pages | ~3,704 words | git, rsync, SSH, tmux, bin/ scripts |
| :tilde: | 19 pages | ~7,619 words | Tildeverse, pubnix history, per-server references |
| :troubleshooting: | 20 pages | ~5,124 words | Cross-service incident writeups |
| :wiki: | 4 pages | ~4,029 words | DokuWiki-specific documentation |
Total: 294 pages · ~84,924 words
Quick Links
Principles
- Atomic: one topic per page
- Evergreen titles: named as facts, not questions
- Bidirectional links: all children link back to parent; run
python3 wiki_linkcheck.py –fixto enforce - Source of truth: wiki supersedes scattered
.mdfiles in the homelab repository
