“The hardest part of this migration wasn’t the data — it was the design.”
Once we had containerized services built and connected, importing even an ancient MediaWiki dump went smoothly. From an infrastructure standpoint, this migration proves that future upgrades, scale-outs, or service splits can be done confidently. It’s a win not just for the wiki, but for how we manage services across our team. We now have a clean, documented, and tested container stack that handles secure DB import, interface validation, reverse proxy integration, and legacy-to-modern compatibility — all under air-gapped conditions.
This isn’t just a version upgrade. It’s a foundation for future growth.
1. A Long-Overdue Upgrade — Finally Realized
-
Legacy MediaWiki (1.22.5, PHP 5.3, MySQL 5.1) has been running in production far beyond its shelf life
-
This project provided a clean, modern, supported version: MediaWiki 1.35.9
-
Setup prepares us for a smooth jump to MediaWiki 1.39+
2. Modern Infrastructure Designed for the Future
-
Designed and tested with a microservices-first container strategy
-
Each component — MediaWiki, MariaDB, phpMyAdmin — runs as its own isolated service
-
Built to integrate with reverse proxies, firewalls, and air-gapped environments
-
Pre-production Docker > Dev environment with Podman (RHEL8) transition = Proven compatibility
3. Repeatable, Auditable, Air-Gapped Process
-
Everything was done without external internet access
-
Containers, SQL, config — all transferable and secure
-
Documented volumes, port mappings, and container networks
-
Easy to replicate the process across staging, dev, and prod
4. Migration Was the Easiest Part
-
The actual data migration was smooth
-
Took a fresh dump of the live production DB, ran it through the pipeline — no issues
-
We anticipated problems; instead, we hit “run” and watched it flow
-
The structure and planning paid off
5. Built-in Wins
-
Clean separation of concerns = easier maintenance
-
LocalSettings.php and container configs saved and version-controlled
-
Easy rollback and re-import strategies in place
-
Future upgrades will be easier thanks to the two-stage bridge model (Step0 → Step1 → Step2)