Pro/Contra of xwiki on docker in production?

Dear community and devs,

i’ve successfully installed the latest xwiki stable on docker ce on a CentOS host, using the stable tomcat postgres image.
It works like a charm, including test-imports of xar backups of production, subwikis, LDAP authentication, …

On https://www.xwiki.org/xwiki/bin/view/Download/DownloadVersion/?projectVersion=10.6.1 below the Docker Image link you state: “An easy solution to test a full-fledged XWiki, with a configuration very close to a production setup.”

Sooo, what are the differences / disadvantages of this setup versus an old-school installation using tomcat and postgresql? Is anyone of you running a xwiki production instance on docker?

Any feedback greatly appreciated.
Thanks, Mario

1 Like

I’m also interested in the answer to those questions! :slight_smile:

IMO if you know how to run Docker in production then you’re good. This means knowing how to:

  • create/restore backups (easy since you only need to save the permanent directory)
  • upgrade XWiki (easy again since you just need to point a new docker container to the existing permanent directory)
  • monitor docker containers, e.g. restart them if they’re down
  • etc

The XWiki docker images are still missing some configuration abilities such as clustering, etc. See https://jira.xwiki.org/projects/XDOCKER/issues/XDOCKER-67?filter=allopenissues

Thanks
-Vincent

PS: I’m one of the creators of the Docker images for XWiki

1 Like

Does this still hold in 2022 and the recent XWiki versions? I see there are a lot of open issues in the linked Jira project.

Not sure what your question is. If it’s whether the XWiki docker images can be used in production then the answer is: does your infra team knows how to use docker in production? If the answer to that is yes then the answer to the former question is yes too :wink: Basically my answer from above still stands.

Re open issues, you can check if they affect you. Note that the number of open issues is not a great criteria. With that criteria you wouldn’t use XWiki at all (or any software for that matter ;)). The XWiki platform project has over 3000 open issues

OMG!!

No, seriously. Let me give you an example: suppose a new servlet container comes out, you decide to support it, of course there will be a initial phase where issues will arise that could make Xwiki unstable or however not production-ready (risk of data loss, etc) when deployed inside that servlet container, despite it being very stable in another one.

So, to me at least, Docker is a bit like a new servlet container: while XWiki works perfectly inside, i.e., Tomcat on a regular server, I’m asking whether there are issues that can make XWiki inside Docker less reliable.

E.g. I gave a quick look at Jira and found these that look important:

Yes, that was the question. I hope my post clears my point.

We also use the docker-compose setup and it’s actually nice to get started, but there could be better documentation on (what I found a bit confusing):

  • how to adjust the available memory for the application (e.g. which env variables to the docker internals: the tomcat ones or the jvm ones or both)
  • how to increase the log level or even see application logs in case the startup fails
  • there seem to be some configurations that become reset after a restart e.g. some of the notification events (and even the log levels?)