mediawiki-oidc-docker/README.md
teutat3s 529554b4d1
All checks were successful
Build docker image / build-image (push) Successful in 17s
fix: revert adding QuickInstantCommons extension
https://wiki.pub.solar/index.php/Special:RecentChanges throws:
Internal error LogicException: Backend with name 'wikimediacommons-backend' already registered.
2024-01-08 21:48:26 +01:00

62 lines
2.8 KiB
Markdown

# Mediawiki docker image with OIDC extension
This image is based on the community maintained [mediawiki docker image](https://hub.docker.com/_/mediawiki).
Currently used mediawiki extensions in this customized docker image:
* [PluggableAuth](https://www.mediawiki.org/wiki/Extension:PluggableAuth)
* [OpenID_Connect](https://www.mediawiki.org/wiki/Extension:OpenID_Connect)
* [TemplateStyles](https://www.mediawiki.org/wiki/Extension:TemplateStyles)
### Updating the docker image
Check for [new releases of mediawiki](https://www.mediawiki.org/wiki/Download)
and take a moment to read the release notes. For a good starting point, read the
[upgrading manual](https://www.mediawiki.org/wiki/Manual:Upgrading)
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](https://hub.docker.com/_/mediawiki)
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
... 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
```
After making your changes and [testing them locally](#local-testing), run the
following to trigger a [CI build and push](https://git.pub.solar/pub-solar/mediawiki-oidc-docker/actions)
of the [docker image](https://git.pub.solar/pub-solar/mediawiki-oidc-docker/packages).
```
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
```