Clean Fast Install in Docker

Can we write a "clean, fast install" that would bring up a new server from an existing one? Maybe it uses a Transporter: Create an account on Digital Ocean and drag that page to the install transporter. Repeat the same process for an upgrade. There are tons of cross-site issues here for sure. But what is the most wiki thing we could do assuming one had a whole wiki site to explain it and do it with tractable automation?" matrix

I gradually refactor the configurations in my public wiki and in the local-farm code. I nudge them in the direction of almost identical configs with the aim of maximizing what is shared between them and minimizing them to only their essential differences.

I expect those differences to be mainly: * domain names * real TLS certs vs self-signed TLS certs * content of pages

not clean nor fast yet

# Create a Docker Host in Digital Ocean

I think you can use my digitalocean-bootstrap.sh script to create your own docker host in Digital Ocean.

1. generate an API token from Digital Ocean's control panel 2. edit the `.env` file (you're domain goes in `DROPLET`, choose your own `REGION`, you can wait on the `LE_EMAIL`. 3. tell your domain registrar to use Digital Ocean's DNS servers. 4. run `./digitalocean-bootstrap.sh`

# Start your Wiki (probably not working yet)

TODO (for the author): simplify the docker-compose thing so this works: 1. setup `LE_EMAIL` 2. setup domain names in Digital Ocean 2. clone repo 3. start with Let's Encrypt's sandbox first 4. `docker-compose up -d` 5. change to real certs from Let's Encrypt 6. `docker-compose restart proxy`

.

Updating my running wiki was clean and fast. Today Paul announced an update to wiki and a security update for nodejs. I took a couple small steps to update my public wiki.

First, I updated the `dobbs/farm` container. I jumped up to `nodejs 8` and `wiki 0.13.0`. I committed, tagged and pushed that change to github. github

Because I have them connected to each other, dockerhub noticed the new code and built new containers for them. dockerhub

Second, I updated the version noted in `docker-compose.yml` for my public site, and then ...

# set shell env to control my public docker host eval $(docker-machine env wiki.dbbs.co) # recreated the farm container docker-compose up -d farm