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
Contrast Clean Fast Install Locally