teutat3s
529554b4d1
All checks were successful
Build docker image / build-image (push) Successful in 17s
https://wiki.pub.solar/index.php/Special:RecentChanges throws: Internal error LogicException: Backend with name 'wikimediacommons-backend' already registered.
62 lines
2.8 KiB
Markdown
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
|
|
```
|