Several components collaborate to make this local wiki farm work. Here we consider the parts and their interaction with the whole.
# Browser
Your web browser is an essential component. Most of your interaction with the local wiki farm will happen through your browser.
# DNS (& especially localtest.me)
When your browser asks The Net where to find "localtest.me", it replies, "127.0.0.1" also known as "localhost" which is right where you are: on your own computer.
# Docker & docker-compose
For our purposes, docker simulates a network within our laptop. In that network we run several services. The `docker-compose.yml` config file allows us to describe the network services succinctly, and the `docker-compose` command allows us to type simpler instructions at the command line when we wish to control or interact with the admin side of these services.
# Proxy
A reverse proxy server manages transport layer security (TLS) for our wiki. We use a web server named Caddy configured with self-signed certificates in large part because the configuration is remarkably easy. Including a reverse proxy also offers us a place to dispatch requests to adjacent services. For example, Caddy directs requests for the image-transporter to that service, and sends all other requests to our wiki farm. See Caddy
The configuration for our proxy service is maintained at Github, and published at Dockerhub:
# Farm
The heart of our service is a federated wiki server configured to act as a farm using the friends security plugin.
The configuration for our wiki container is also maintained at Github and published at Dockerhub:
# Image Transporter
You can read About Transport Plugin.
The configuration for our image transporter service is also maintained at Github and published at Dockerhub