commit 03172d7084cae65903b12e1be0254ac1cebffbe5
parent 21b3aed27ac92d1f68f3ce5b1c1bdc356bef5a66
Author: MTRNord <MTRNord@users.noreply.github.com>
Date: Sat, 18 Apr 2026 00:03:10 +0200
improvements and fixes for mediawiki
Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
Diffstat:
3 files changed, 65 insertions(+), 1 deletion(-)
diff --git a/apps/talos_cluster/mediawiki/Dockerfile b/apps/talos_cluster/mediawiki/Dockerfile
@@ -1,12 +1,38 @@
ARG MEDIAWIKI_VERSION=1.45.3
FROM mediawiki:${MEDIAWIKI_VERSION} AS mediawiki-src
-# Add CodeMirror while git is available in the source image
+# Clone extensions not shipped in the MW tarball
RUN apt-get update && apt-get install -y --no-install-recommends git \
&& git clone --depth 1 --branch REL1_45 \
https://github.com/wikimedia/mediawiki-extensions-CodeMirror.git \
/var/www/html/extensions/CodeMirror \
&& rm -rf /var/www/html/extensions/CodeMirror/.git \
+ && for EXT in \
+ ArticleCreationWorkflow \
+ Babel \
+ BetaFeatures \
+ ContactPage \
+ CreditsSource \
+ GuidedTour \
+ LoginNotify \
+ NearbyPages \
+ RSS \
+ ; do \
+ git clone --depth 1 --branch REL1_45 \
+ "https://gerrit.wikimedia.org/r/mediawiki/extensions/${EXT}" \
+ "/var/www/html/extensions/${EXT}" \
+ && rm -rf "/var/www/html/extensions/${EXT}/.git"; \
+ done \
+ && git clone --depth 1 --branch REL1_45 \
+ https://gerrit.wikimedia.org/r/mediawiki/extensions/cldr \
+ /var/www/html/extensions/CLDR \
+ && rm -rf /var/www/html/extensions/CLDR/.git \
+ && for EXT in EmailAuth GPGMail RealMe; do \
+ git clone --depth 1 \
+ "https://gerrit.wikimedia.org/r/mediawiki/extensions/${EXT}" \
+ "/var/www/html/extensions/${EXT}" \
+ && rm -rf "/var/www/html/extensions/${EXT}/.git"; \
+ done \
&& apt-get purge -y git && apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/*
@@ -14,7 +40,11 @@ FROM php:8.3-fpm-bookworm
RUN apt-get update && apt-get install -y --no-install-recommends \
apache2 \
+ ghostscript \
+ gnupg \
+ imagemagick \
librsvg2-bin \
+ poppler-utils \
python3-pygments \
libicu-dev \
libonig-dev \
diff --git a/apps/talos_cluster/mediawiki/configmap.yaml b/apps/talos_cluster/mediawiki/configmap.yaml
@@ -123,9 +123,40 @@ data:
wfLoadExtension('CodeMirror');
wfLoadExtension('ParserFunctions');
wfLoadExtension('Cite');
+ wfLoadExtension('CiteThisPage');
wfLoadExtension('SyntaxHighlight_GeSHi');
wfLoadExtension('TemplateStyles');
+ # === User / account extensions ===
+ wfLoadExtension('Babel');
+ wfLoadExtension('BetaFeatures');
+ wfLoadExtension('EmailAuth');
+ wfLoadExtension('GPGMail');
+ wfLoadExtension('GuidedTour');
+ wfLoadExtension('LoginNotify');
+ wfLoadExtension('RealMe');
+
+ # === Content / navigation extensions ===
+ wfLoadExtension('ArticleCreationWorkflow');
+ wfLoadExtension('CLDR');
+ wfLoadExtension('CreditsSource');
+ wfLoadExtension('NearbyPages');
+ wfLoadExtension('RSS');
+
+ # === ContactPage ===
+ wfLoadExtension('ContactPage');
+ $wgContactConfig['default'] = [
+ 'RecipientUser' => 'MTRNord',
+ 'SenderName' => 'Wiki Contact Form',
+ 'SenderEmail' => 'support@midnightthoughts.space',
+ 'RequireDetails' => true,
+ 'IncludeIP' => false,
+ ];
+
+ # === PdfHandler ===
+ wfLoadExtension('PdfHandler');
+ $wgFileExtensions[] = 'pdf';
+
# === Skin ===
wfLoadSkin('Vector');
$wgDefaultSkin = 'vector-2022';
diff --git a/apps/talos_cluster/mediawiki/docker-entrypoint.sh b/apps/talos_cluster/mediawiki/docker-entrypoint.sh
@@ -1,6 +1,9 @@
#!/bin/bash
set -e
+# Apache needs these at runtime; create them in case the image layer didn't persist them
+mkdir -p /var/run/apache2 /var/lock/apache2
+
# Start PHP-FPM as a daemon
/usr/local/sbin/php-fpm --daemonize