Automated deployment of MediaWiki
As a contributor to Meza, and developer of QualityBox, we've been closely following the efforts in the MediaWiki community around easier/automated deployments of MediaWiki. Actually, it's a goal of the MWStakeholders Group. And, it's a crucial aspect of the whole 2017 Wikimedia Technology Department Goals since at least 2018. Here is a list of some of the efforts and projects within and outside the WMF for automating deployments of MediaWiki:
- Our own efforts: MediaWiki on Kubernetes
WMF
- https://gerrit.wikimedia.org/r/q/project:releng/dev-images+ Gerrit repo for "dev-images": Docker images for local MediaWiki development. Considered experimental (2020/08). Can be used with Docker Compose. Published to the WikiMedia Docker Registry, e.g. https://dockerregistry.toolforge.org/wikimedia-buster/tags/
- https://gerrit.wikimedia.org/r/plugins/gitiles/releng/local-charts/ Gerrit repo for "local-charts": Alpha (2020/08)
- Per RFC, distributors can override DefaultSettings.php with
includes/PlatformSettings.php
- OPEN task: Allow DefaultSettings.php be overridden by environment variables
- MediaWiki-Docker
- Official Docker repository of MediaWiki
- Phabricator workboard for MediaWiki-Containers
- Addshore's GitHub repo for using Docker and MediaWiki (Developers) See also: MediaWiki API library Not exactly DevOps, but good to know/use/contribute. Addwiki repos are by Addshore, Jeroen DeDauw and Sam Wilson
- Wikimedia Git repo of the Docker official image for MediaWiki (forked from https://github.com/benhutchins/docker-mediawiki)
- Docker Library Docs
- Docker Library Docs for MediaWiki
- MediaWiki Node Services Run several MediaWiki nodejs services (RESTBase, Parsoid) in a single docker container. Useful for small / low-memory installs. By WMF's d00rman (Marko Obrovac - Croatia) and gwicke (Gabriel Wicke - Menlo Park)
- Wikimedia base docker images for production by lavagetto (Giuseppe Lavagetto - Italy)
- Set up BlueSpice MediaWiki Enterprise Distribution by lexsulzer (Lex Sulzer at Dataspects - Zurich, Switzerland)
- Dataspects' Easy System Cloning
- Meza Building Blocks A series of roles to add to or complement Meza by Lex Sulzer
Configuration Management and Deployment at WMF
It should be noted that the WMF uses Puppet for configuration management, and Scap3 (which is used in SWAT) for deployments. There is the Cloud VPS which is powered by wp:OpenStack for projects related to the Wikimedia movement. The environment includes access to a variety of data services. Cloud VPS is meant to make it easier for developers and system administrators to try out improvements to Wikimedia infrastructure (including MediaWiki), power research and analytics, and host projects that are not viable in the Toolforge environment. Virtual machines running on Cloud VPS are subject to the instance lifecycle.
Puppet
Config Settings
With any automation tooling and deployment, you will inevitably need to refer to the long list of MediaWiki Configuration settings.