Skip to content

Migrate to Docker Compose with stateless build#19

Merged
toniher merged 1 commit into
masterfrom
mw-1.43-smw-6.0
Jun 21, 2026
Merged

Migrate to Docker Compose with stateless build#19
toniher merged 1 commit into
masterfrom
mw-1.43-smw-6.0

Conversation

@toniher

@toniher toniher commented Jun 21, 2026

Copy link
Copy Markdown
Owner

Refactor the project to use docker-compose instead of shell scripts, implementing a stateless image that handles all runtime state via docker-entrypoint.sh. Build-time database setup is eliminated; instead, the entrypoint waits for the DB, runs maintenance/install.php on first boot, and applies schema migrations on every boot via maintenance/update.php.

Key changes:

  • Replace shell scripts (smw-*.sh) with compose.yaml and compose.prod.yaml
  • Update Dockerfile to PHP 8.4 and MediaWiki 1.43.8
  • Add docker-entrypoint.sh for DB initialization and SMW data rebuild
  • Move configuration to .env (copy from example.env)
  • Layered config via bind-mounted LocalSettings.*.php files
  • Update nginx config with modern MediaWiki URL handling and asset caching
  • Replace semantic-bundle with explicit SMW + Chameleon deps in composer.local.json
  • Add healthcheck to wiki service and Dockerfile
  • Expand README with deployment and upgrade instructions

Refactor the project to use docker-compose instead of shell scripts,
implementing a stateless image that handles all runtime state via
docker-entrypoint.sh. Build-time database setup is eliminated; instead,
the entrypoint waits for the DB, runs maintenance/install.php on first
boot, and applies schema migrations on every boot via maintenance/update.php.

Key changes:
- Replace shell scripts (smw-*.sh) with compose.yaml and compose.prod.yaml
- Update Dockerfile to PHP 8.4 and MediaWiki 1.43.8
- Add docker-entrypoint.sh for DB initialization and SMW data rebuild
- Move configuration to .env (copy from example.env)
- Layered config via bind-mounted LocalSettings.*.php files
- Update nginx config with modern MediaWiki URL handling and asset caching
- Replace semantic-bundle with explicit SMW + Chameleon deps in composer.local.json
- Add healthcheck to wiki service and Dockerfile
- Expand README with deployment and upgrade instructions
@toniher toniher merged commit 0aef4f7 into master Jun 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant