mediawiki-docker-dev, a history

May 22, 2021 1 By addshore

MediaWiki-Docker-Dev (or MWDD) is a development environment for MediaWiki, based on Docker and docker-compose. It was created back in 2017 at the Wikimedia Hackathon in Vienna where it had a slightly difference feature set and focus. (Original Slides).

Since inception the git repo now has 180 commits from 20 authors over the course of 4 years, of which 7 have been WMF employees and 11 have been WMDE employees, though the project has had no “official” support from either organization. Counting forks we have 12 WMF employees and 16 WMDE employees.

Due to the nature of the project (being setup from a git clone), it is quite hard to figure out how many users it has. We can infer that in the last year, thanks to a custom image that has been required, it has been set up roughly 1200 times, by checking the pull stats of silvanwmde/nginx-proxy.

Evolution of main

The main branch is the current release of mwdd, and has seen the most use and development.

Creation of v1 (unreleased)

In May 2020 after 3 years of continued evolution in its original form I experimented with a second iteration creating the v1 branch, which is unreleased, but I have been using as a daily driver for the past year.

Details of the v1 branch can be found in this blog post which includes a full overview. A quick summary of changes would be:

  • Actual CLI interface, instead of bash script
  • Fewer startup services (to 4 from 9), for a faster experience, and control over individual services
  • More services available: adminer, fresh, quibble, composer

This v1 prototype really showed the potential power of a usable CLI, with included help texts etc instead of the previous pile of bash.

MediaWiki CLI (unreleased)

Shortly after creating the v1 branch in May 2020, and seeing the value in the CLI tool, I created a rough port (see on gerrit) of the CLI interface to golang and the mwcli tool that the WMF Release Engineering team have been working toward.

Over the past year and discussing with multiple stakeholders along the way this initial port has evolved into the new and future version of mwdd.

If you’re interested in giving it a go in it’s unreleased state, take a look at this page.

Otherwise, keep your ear to the ground for a future release!

Thanks to everyone that has participated in this journey so far.