steko
(Stefano Costa)
December 16, 2025, 8:57am
1
Hello, I’m on Fedora 43 and I would like to work with the development environment for Mediawiki as described here MediaWiki Developers
As required I created an .env file and started “docker” (actually podman)
➜ mediawiki git:(master) ✗ docker compose up -d
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
WARN[0000] The deprecated BoltDB database driver is in use. This driver will be removed in the upcoming Podman 6.0 release in mid 2026. It is advised that you migrate to SQLite to avoid issues when this occurs. Set SUPPRESS_BOLTDB_WARNING environment variable to remove this message.
Executing external compose provider “/usr/libexec/docker/cli-plugins/docker-compose”. Please see podman-compose(1) for how to disable this message. <<<<
[+] Running 3/3
✔ Container mediawiki-mediawiki-1 Started 0.5s
✔ Container mediawiki-mediawiki-jobrunner-1 Started 0.4s
✔ Container mediawiki-mediawiki-web-1 Started 0.6s
All good! The following command fails
docker compose exec mediawiki composer update
output here (long)
https://bin.disroot.org/?38e7d531bdea8fc3#4ztt6VTx9fFrnVEod4AxmVwFZR4ogv1deSrXBiH7hwFE
Apparently there is some permission error - of course I’m running podman as unprivileged user.
augenauf
(Flo)
December 16, 2025, 10:03am
2
I guess we need to see your .yml file.
when defining bind mounts, you need to add the :z or :Z option, see https://unix.stackexchange.com/questions/651198/podman-volume-mounts-when-to-use-the-z-or-z-suffix for some explanation. (I am sure there is a lot of other documentation available on the internet).
One way of testing if SELinux is the culprit here is to disable SELInux temporarily and see if it works.
Also be aware of this warning. There is no easy database migration available currently. If this is your only container deployment, I recommend running podman system reset, which tells podman to start using SQLite. However, you loose all your existing containers. See podman-system-reset — Podman documentation
1 Like
barryascott
(Barry A Scott)
December 16, 2025, 10:14am
3
Accully the recommends migration is this from the podman 6.0 proposal for f44
BoltDB : The BoltDB database backend, replaced by SQLite as the default in Podman 4.8, will be removed. A deprecation notice has been added to Podman 5.7 to warn users. Users should first upgrade to Podman 5.8 first (will be release on all active Fedora releases) and reboot before upgrading to Podman 6 to ensure migration. Refer to [ BoltDB Database Migration this blog post] for details on BoltDB to SQLite migration.
2 Likes
augenauf
(Flo)
December 16, 2025, 10:19am
4
Great, thanks for sharing. They will implement automatic database migration In February, that’s one problem less. BoltDB Database Migration
1 Like
steko
(Stefano Costa)
December 16, 2025, 10:59am
5
My .env file is as follows, just a copy and paste from the Mediawiki webpage
MW_SCRIPT_PATH=/w
MW_SERVER=http://localhost:8080
MW_DOCKER_PORT=8080
MEDIAWIKI_USER=Admin
MEDIAWIKI_PASSWORD=dockerpass
XDEBUG_CONFIG=
XDEBUG_ENABLE=true
XHPROF_ENABLE=true
MW_DOCKER_UID=1000
MW_DOCKER_GID=1000
(I don’t need Xdebug features)
steko
(Stefano Costa)
December 16, 2025, 11:13am
6
I tried disabling SELinux, i.e. getenforce returns Disabled , but the command fails with the same error.
steko
(Stefano Costa)
December 18, 2025, 11:42am
7
Just to be sure, I tried starting over with Docker instead of Podman and … it’s just the same. It fails with exactly the same error messages!
The files and directories in the container are owned by root.
➜ mediawiki git:(master) docker compose exec mediawiki bash
steko@e81b6524c3a1:~$ ls -l
total 3152
-rw-r--r--. 1 root root 168 Dec 12 10:12 CODE_OF_CONDUCT.md
-rw-r--r--. 1 root root 19309 Dec 12 10:12 COPYING
-rw-r--r--. 1 root root 16669 Dec 12 10:12 CREDITS
-rw-r--r--. 1 root root 17344 Dec 12 10:12 DEVELOPERS.md
-rw-r--r--. 1 root root 95 Dec 12 10:12 FAQ
-rw-r--r--. 1 root root 5162 Dec 12 10:12 Gruntfile.js
-rw-r--r--. 1 root root 1799877 Dec 12 10:12 HISTORY
-rw-r--r--. 1 root root 3770 Dec 12 10:12 INSTALL
-rw-r--r--. 1 root root 1643 Dec 12 10:12 README.md
-rw-r--r--. 1 root root 20276 Dec 12 10:12 RELEASE-NOTES-1.46
-rw-r--r--. 1 root root 199 Dec 12 10:12 SECURITY
-rw-r--r--. 1 root root 4394 Dec 12 10:12 UPGRADE
-rw-r--r--. 1 root root 780 Dec 12 10:12 api.php
-rw-r--r--. 1 root root 436142 Dec 12 10:12 autoload.php
-rw-r--r--. 1 root root 3604 Dec 12 10:12 bundlesize.config.json
drwxr-xr-x. 1 root root 18 Dec 12 10:12 cache
-rw-r--r--. 1 root root 8684 Dec 12 10:12 composer.json
-rw-r--r--. 1 root root 125 Dec 12 10:12 composer.local.json-sample
-rw-r--r-- 1 root root 1763 Dec 16 11:17 docker-compose.yml
drwxr-xr-x. 1 root root 1288 Dec 12 10:12 docs
drwxr-xr-x. 1 root root 52 Dec 12 10:12 extensions
drwxr-xr-x. 1 root root 30 Dec 12 10:12 images
-rw-r--r--. 1 root root 1490 Dec 12 10:12 img_auth.php
drwxr-xr-x. 1 root root 2220 Dec 12 10:12 includes
-rw-r--r--. 1 root root 1482 Dec 12 10:12 index.php
-rw-r--r--. 1 root root 1403 Dec 12 10:12 jsdoc.json
drwxr-xr-x. 1 root root 50 Dec 12 10:12 languages
-rw-r--r--. 1 root root 733 Dec 12 10:12 load.php
drwxr-xr-x. 1 root root 7844 Dec 12 10:12 maintenance
drwxr-xr-x. 1 root root 114 Dec 12 10:12 mw-config
-rw-r--r--. 1 root root 1030 Dec 12 10:12 opensearch_desc.php
-rw-r--r--. 1 root root 797332 Dec 12 10:12 package-lock.json
-rw-r--r--. 1 root root 1999 Dec 12 10:12 package.json
-rw-r--r--. 1 root root 3455 Dec 12 10:12 phpunit.xml.dist
drwxr-xr-x. 1 root root 86 Dec 12 10:12 resources
-rw-r--r--. 1 root root 508 Dec 12 10:12 rest.php
drwxr-xr-x. 1 root root 52 Dec 12 10:12 skins
drwxr-xr-x. 1 root root 140 Dec 12 10:12 sql
drwxr-xr-x. 1 root root 136 Dec 12 10:12 tests
-rw-r--r--. 1 root root 626 Dec 12 10:12 thumb.php
-rw-r--r--. 1 root root 928 Dec 12 10:12 thumb_handler.php
steko
(Stefano Costa)
December 18, 2025, 1:26pm
8
Actually, after reading more carefully the Mediawiki guide, there is a helpful troubleshooting section at the bottom that helped me solve the problem with Docker MediaWiki Developers
sudo usermod -aG docker $USER
This was enough to get it working with docker.
1 Like