Wanting to run XWiki with Docker, I went to Docker Hub : https://hub.docker.com/\_/xwiki
Which pointed me to the official docs on GitHub, containing a reference docker-compose YAML.
Running it makes XWiki start (I can see the progress in percents), but then all views crash with the following screen. Note that this also happens in private mode, so it isn’t related to my browser’s cookies.
I’m not sure what the cause is, especially since a bit below the docs indicate you can run xwiki on a localhost domain.
Is there any way to make this work (e.g. by tweaking the compose file)? Thanks 
It’s supposed to work but we’re not testing it. I guess we should add a step in the release process to test it.
I’ll try to find some time to see if I can reproduce your problem today.
1 Like
In the meantime, please use the tested way which is to start the DB and then the app server, as indicated in the doc.
So I think your problem is that you had some old mysql data stored on your machine.
I had the same issue and got in the “docker compose up” logs:
xwiki-mysql-db | 2026-06-11T08:28:31.870711Z 1 [ERROR] [MY-014060] [Server] Invalid MySQL server upgrade: Cannot upgrade from 80100 to 90700. Upgrade to next major version is only allowed from the last LTS release, which version 80100 is not.
xwiki-mysql-db | 2026-06-11T08:28:31.870871Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
xwiki-mysql-db | 2026-06-11T08:28:31.870894Z 0 [ERROR] [MY-010119] [Server] Aborting
xwiki-mysql-db | 2026-06-11T08:28:32.425165Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 9.7.0) MySQL Community Server - GPL.
xwiki-mysql-db | 2026-06-11T08:28:32.425183Z 0 [System] [MY-015016] [Server] MySQL Server - end.
This is because mysql is trying to convert data from mysql 8 to mysql 9 and cannot.
You can check this by running docker volume ls and finding the volume ending with mysql-data. You can remove it with docker volume rm <volume name>.
What I’ve also done:
- Removed the examples from the doc since that’s too hard to maintain.
- Fixed the broken links in the doc: links were pointing to cycle 16 which doesn’t exist anymore. It’s now pointing to cycle 17. We’ll need to fix that to reduce maintenance, using some symlinks for ex.
- Tested mysql-tomcat and postgresql-tomcat for cycles 17 and 18 and they all worked fine
Hope it helps
Thanks, I was actually able to start a stack in the end by using the PostgreSQL configuration with a Docker Swarm. The docs don’t mention creating a Swarm but it’s required to store the secrets, so this is something we definitely should update.
Oh it seems I just misread the docs, don’t know how I missed that part. Thanks 
I re-tried using the base compose file with brand new volumes, still have the same problem, and no MySQL upgrade error.
I managed to fix it: for some weird reason, my init.sql file was turned into a directory. I re-downloaded the file as shows in the docs, and now it works fine!