Mediawiki docker image with OIDC extension
Find a file
teutat3s 99c47f88a6
All checks were successful
Build docker image / build-image (push) Successful in 37s
feat: add QuickInstantCommons extension
https://www.mediawiki.org/wiki/Extension:QuickInstantCommons
Minor fixes to the README
2024-01-08 17:55:00 +01:00
.forgejo/workflows chore: update mediawiki to version 1.41.0 2024-01-08 14:06:31 +01:00
Dockerfile feat: add QuickInstantCommons extension 2024-01-08 17:55:00 +01:00
README.md feat: add QuickInstantCommons extension 2024-01-08 17:55:00 +01:00

Mediawiki docker image with OIDC extension

This image is based on the community maintained mediawiki docker image.

Currently used mediawiki extensions in this customized docker image:

Updating the docker image

Check for new releases of mediawiki and take a moment to read the release notes. For a good starting point, read the upgrading manual though we use a very customized docker image and all steps necessary for upgrading will be mentioned here. You should also check if the newest release is already published as a docker image by the community.

First, update the FROM image tag in the Dockerfile to the newest version, for example 1.41.0.

Next, download the newest version of each extension (matching the mediawiki docker image version, e.g. 1.41.0) ...

  1. PluggableAuth download https://www.mediawiki.org/wiki/Special:ExtensionDistributor/PluggableAuth
  2. OpenID_Connect download https://www.mediawiki.org/wiki/Special:ExtensionDistributor/OpenIDConnect
  3. TemplateStyles download https://www.mediawiki.org/wiki/Special:ExtensionDistributor/TemplateStyles
  4. QuickInstantCommons download https://www.mediawiki.org/wiki/Special:ExtensionDistributor/QuickInstantCommons

... and replace the SHA256 hash in Dockerfile for each file by running:

NEW_PLUGGABLE_AUTH_HASH=$(sha256sum ~/Downloads/PluggableAuth-REL1_41-0273c84.tar.gz | cut -d " " -f1)
sed -i "s/PLUGGABLE_AUTH_SHA256SUM= *[^ ]*/PLUGGABLE_AUTH_SHA256SUM=${NEW_PLUGGABLE_AUTH_HASH}/" Dockerfile

NEW_OPENID_CONNECT_HASH=$(sha256sum ~/Downloads/OpenIDConnect-REL1_41-7aa039e.tar.gz | cut -d " " -f1)
sed -i "s/OPENID_CONNECT_SHA256SUM= *[^ ]*/OPENID_CONNECT_SHA256SUM=${NEW_OPENID_CONNECT_HASH}/" Dockerfile

NEW_TEMPLATE_STYLE_HASH=$(sha256sum ~/Downloads/TemplateStyles-REL1_41-a9dde29.tar.gz | cut -d " " -f1)
sed -i "s/TEMPLATE_STYLES_SHA256SUM= *[^ ]*/TEMPLATE_STYLES_SHA256SUM=${NEW_TEMPLATE_STYLE_HASH}/" Dockerfile

NEW_QUICK_INSTANT_COMMONS_HASH=$(sha256sum ~/Downloads/QuickInstantCommons-REL1_41-c472ea9.tar.gz | cut -d " " -f1)
sed -i "s/QUICK_INSTANT_COMMONS_SHA256SUM= *[^ ]*/QUICK_INSTANT_COMMONS_SHA256SUM=${NEW_QUICK_INSTANT_COMMONS_HASH}/" Dockerfile

After making your changes and testing them locally, run the following to trigger a CI build and push of the docker image.

git add --update
git commit
git push

Local testing

Build the docker image locally to test your changes.

docker build --tag git.pub.solar/pub-solar/mediawiki-oidc-docker:test .
docker run --detach --rm --publish 8080:80 git.pub.solar/pub-solar/mediawiki-oidc-docker:test

# open http://localhost:8080 in your browser to test if mediawiki starts fine