operations
operations copied to clipboard
Container for OpenStreetMap Wiki / Mediawiki
Create a container for OpenStreetMap wiki. Possibly based on WikiBase existing work?
Bake in OSM standard extensions.
Primary initial purpose for testing updates.
Wikibase container documentation: https://www.mediawiki.org/wiki/Wikibase/Docker
Would we be changing the production environment to Docker too? We could reuse the dev environment. The dev environment mediawiki container could use chef to automate installing extensions like what we currently do.
This is all about using it in production - when @Firefishy talks about testing he just means that we can more easily fire up a second, upgraded, instance for testing before we push it into production. There's no point in doing that if what we then deploy in production is something entirely different.
That's easier said than done though because the database would be outside the container, so would need to be cloned and upgraded to the schema for the new version before a test instance could be fired up.
And are we looking at making Docker or Kubernetes-based containers?
That question doesn't really make any sense.
Firstly because docker is a combination of a container construction tool and a container runtime while kubernetes is a container orchestrator for organising the running of groups of containers, typically using the docker runtime as I under stand it.
Secondly because a good container would simply be OCI compliant and independent of any specific run time.
In production we would most likely use podman if possible to run it as we do for most of our existing container based services. It might well be built with docker though again as our existing container based services are.
Okay thanks for clarifying. I've only worked with Docker before and wasn't really clear of the differences with Kubernetes.
Okay, I learned that MediaWiki actually does not have a way to install MediaWiki from an existing LocalSettings.php so we can't currently automate the entire install process for a docker container. I'm going to work on in like 2 weeks making it so that you can install a wiki from an existing LocalSettings.php https://phabricator.wikimedia.org/T288388 .
The container will use puppet or chef to then install all the extensions and users can modify the chef/puppet files to specify which extensions they want to include and then re-provision the machine.
A container setup for managing a MediaWiki is actually something highly-needed in the MediaWiki community so I'm excited to work on this!
Upstream change created for supporting installing a wiki with an existing LocalSettings.php: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/952276