Repository files navigation
Updates 9th May 2026 - JDK21
Uses tomcat:9-jdk21-temurin-noble base image for XNAT
garbage collector changed , with G1GC, and EnableJVMCI
Only works with XNAT 1.10+
Many code improvements.
pg_maintenence script added to postgresql image.
added postgresql:alpine as option in xnat.cfg.
docker_tls in xnat.cfg, adds -DDOCKER_TLS_VERIFY=1 tomcat setenv.sh to connect to container service using SSL certificates.
postgresql-client upgraded to v17 for easier upgrading of Postgresql.
Checks whether postgresql running and password found when upgrading.
Updates postgresql settings in restart.sh
restore_from_pg_backup.sh - can detect and restore from plain, custom and directory format backups. Extra checks added.
update_image_war.sh - detects base images from dockerfiles, not hardcoded.
Fixed pg_backup.sh to delete the files according to config file.
update_xnat_war.sh updated to build a docker image from base instead of modifying existing container.
docker subnet added as advanced option.
MIT Licence added.
Added LDAP install script. Makes it easy to install LDAP authenticator server.
limits on cpu/memory removed. Reservation set for PostgreSQL.
Set Nginx logrotate - limits size of log files generated by NGinx.
BUGFIX: NGinx, wrong timezone. Now built with host TZ.
Postgresql: set default docker base image to Posgresql:16 - debian as more stable than alpine and extensible.
huge_pages added to pg_settings. Should be set to OFF for Linux
Changed default docker server from swarm to docker. Due to bug in XNAT, swarm needs manual config.
Script added run_tomcat.sh - tomcat automatically restarts if it stops at any point.
site_monitor.sh script runs as cronjob on host. Restarts docker stack if XNAT not reachable.
XNAT base image upgraded from focal to noble (ubuntu 20.04 to ubuntu 24.04) as focal EOL. Changed packages accordingly.
site-config template updated for 1.9+. Default month format MMM (Jul,Mar etc)
Container service log directory cleaned up, deleted after 30 days. /data/xnat/archive/CONTAINER/EXEC. Else becomes huge number of directories.
import_dicoms.sh - storescu replaced with dcmsend
pg_back and pg_restore: now uses parallel implementation and directory format in order to use pg_restore.
BUGFIX: admin user not created during build. Fixed.
Java GC options. Settings changed.
Shared memory for Postgresql as for large databases, errors are generated.
Host scripts folder with optional cron jobs to run on host.
XNAT 1.8.9.1 default
Jupyterhub plugin added to xnat.cfg. Default plugin versions updated.
update_xnat_war.sh and restore_from_pg_backup.sh scripts added
Repo tidied, removed redundent files.
site-config updated to 1.8.9.1
XNAT 1.8.7.1 default, updated default plugins, updated site-config
Setting timezone in docker container rather than mounting, taking timezone from host
compgen in xnat-setup to check to see if server is restarting (else change access.log does not exist if stopped for a long period)
Upgrade now an option of the build.sh script (./build.sh upgrade )
Container names changed - xnat-web rather than xnat-web1 , etc
archive_path removed from xnat.cfg.
Extra checks of xnat.cfg
Updates 20th September 2022
Updated plugin version defaults, 1.8.5.1 by default.
Updated plugin version defaults, 1.8.5 by default.
site-config updated.
apt-get update/upgrade added to xnat image.
Removed optional plugins directory as ISO datetime format no longer required - XNAT now has datetime settings built in.
Updated site-config settings
Updates 10 March 2022: XNAT V. 1.8.4.1
Common plugins configured in xnat.cfg - downloaded during installation rather than included in repo.
xnat-version added to xnat.cfg
pg_backup improved, small bug fixes.
You can’t perform that action at this time.