operations icon indicating copy to clipboard operation
operations copied to clipboard

Container for OpenStreetMap Wiki / Mediawiki

Open Firefishy opened this issue 2 years ago • 8 comments

Create a container for OpenStreetMap wiki. Possibly based on WikiBase existing work?

Bake in OSM standard extensions.

Primary initial purpose for testing updates.

Firefishy avatar Apr 06 '23 17:04 Firefishy

Wikibase container documentation: https://www.mediawiki.org/wiki/Wikibase/Docker

Firefishy avatar Apr 06 '23 17:04 Firefishy

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.

lectrician1 avatar Jun 13 '23 12:06 lectrician1

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.

tomhughes avatar Jun 13 '23 12:06 tomhughes

And are we looking at making Docker or Kubernetes-based containers?

lectrician1 avatar Jun 18 '23 02:06 lectrician1

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.

tomhughes avatar Jun 18 '23 07:06 tomhughes

Okay thanks for clarifying. I've only worked with Docker before and wasn't really clear of the differences with Kubernetes.

lectrician1 avatar Jun 18 '23 13:06 lectrician1

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!

lectrician1 avatar Aug 11 '23 22:08 lectrician1

Upstream change created for supporting installing a wiki with an existing LocalSettings.php: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/952276

lectrician1 avatar Aug 24 '23 21:08 lectrician1