Enumerating many attempts to make wiki hosting easier. Reflecting on the many dead ends in this years-long random walk over possible solutions feels discouraging. Why is this so difficult?
I have been searching for something that feels possible for someone who isn't me—for someone who hasn't been living and breathing computer systems for decades. The object is to build ladders for folks to follow me who don't have to retrace my every footstep and dead-end.
I abandoned paths that felt proliferate with complexity; none of them yet feel like they collapse the complexity or even partition it into approachable smaller problems.
Although this page began its life as an extended complaint, we maintain hope that there are ways to make hosting a wiki easier. The graph below outlines the tangled web of skills that might guide curriculum development.
digraph { rankdir=RL node [shape=box style="rounded,filled"] { node [fillcolor=palegreen] DC Docker DO } { node [fillcolor=bisque] DNS Glitch GitHub [label="GitHub\nPages"] Local [label="Local\nWiki"] Sleepy [label="Sleepy\nWiki"] Docker DO [label="Digital\nOcean"] } { rank=same Docker DC [label="Docker\nCompose"] Local Static } { rank=same DNS Glitch GitHub DO } A -> DO CNAME -> { GitHub Glitch DO } DC -> Docker Docker -> DO Docker -> Local [color="#AAAAAA"] DNS -> Registrar { TTL CNAME A NS } -> DNS Glitch { Sleepy } -> Glitch Local -> Static -> Git -> { GitHub Glitch } }
We might begin with the bisque colored nodes—how an individual author can have control and independence over their own content by leveraging free services from GitHub or Glitch. The green nodes are how someone might support a community by hosting a wiki farm. There are DNS things to know in any of these cases.
Docker can be usefully used to run a local wiki. But that's also a useful path for learning skills to support hosting a wiki for a community.
.
dobbs/container-terminal—a 2016 effort to apply what I'd been learning at work to a complete, from-the-ground-up, self-sufficient system with real auth examples built-in; need dns and tls; and docker; got stuck in the circular dependencies in certificates and domain names; proved a lot of ideas and also proved to myself just how sprawling the problem is. github ![]()
wiki.dbbs.co—a docker composition which works; don't like how MAX_CERTS inhibits creation of new wikis; don't want to suggest others follow this path; the proxy container is way out of date; but it does work; I like being able to still read the bash functions five years later; I like how I encapsulated digital ocean's DNS api in pretty reusable bash; there are some other bash tricks in here I like, but won't explain right now; I like how almost all of the unique secrets and names are encapsulated in .env.example, that this felt completely safe to publish while protecting my own secrets; github ![]()
local-farm.wiki.dbbs.co & dobbs/wiki-tls—out of date; couple years of experimenting with docker and docker-compose for hosting a local wiki farm including self-generated local TLS certs; some examples for developing wiki plugins; hoped to be worthwhile for other wiki devs to fork and bootstrap their own work; hoped to maybe also grow into something like an admin console for managing a publicly hosted wiki; worked at one time and most likely bit-rot has set in; wiki
github ![]()
dobbs/farm...examples/k8s—second generation of the local-farm; trusts rancher to continue investing in k3d and k3s for lower-administrative cost kubernetes; hopes to draft on the staggering industry-wide investment in kubernetes ecosystem; after a year or more abandoned all these extra layers; github
k3d ![]()
launchctl—third generation of the local-farm; just runs wiki as a MacOS launch agent; we stopped running Docker for Mac; the fan on our laptop is much quieter now; it is current, it works, I like it, but it's completely MacOS specific; feels a bit like the most compelling proof that I have basically given up.
glitch.com—several experiments of note including a wiki plugin development environment, a custom node package repository, an example wiki, and a bookmarking wiki outpost; remains the most promising path to date for a lower-maintenance wiki; despite the remarkable ease, wiki community has not adopted this hosting environment; wiki
glitch
dev
outpost ![]()
Commons-Server/noisy-baja—a variant on wiki.dbbs.co that used traefik instead of caddy and drew inspiration from Ward and Pat's work on a docker-compose devops solution; experimented with using docker-compose tools to customize wiki config files, which was clever in the worst sort of way; instructions in the readme didn't work when followed by someone other than the author; github ![]()
host.fed.wiki
—ward outlined the many moving parts needed to enable wiki hosting.
I also have six different local wiki servers, not publicly accessible, each a different hypermedia document explaining different dimensions of the problem.