NORA inside a Docker ​Install Docker on your host system First, install docker, git and jq on your host system sudo apt-get install docker.io git jq There might be an issue with the DNS address in docker. To check this, run docker run busybox nslookup google.com If the host cannot be reached, grep the address of your DNS server nmcli dev show | grep 'IP4.DNS' create the file /etc/docker/daemon.json and insert the address as { "dns": ["yourDNSip", "8.8.8.8"] } then restart docker sudo service docker restart go back to the busybox above and check if it works now. Now, you should add your user to the docker group, otherwise you have not to sudo all NORA commands sudo adduser docker !!! you have to re-login to make these changes apply !!!!!! Clone the git repository NORA was historically named DPX. Note that this name might still often be used in the following. Clone the repository into to a temp folder, or to your favorite program place.Let's say we clone to your home directory into ~/nora git clone  https://@bitbucket.org/reisert/dpx.git ~/nora If want to use NORA in a multi-user environment you might want to create a specific group (we usually use dpxuser) and change the group of that directory (recursivey) accordingly. In any case, you have to set the s -flag and some ACLs recursively to that dir (you might have to run this as sudo. In this case make sure to apply it to the correct ~/nora directory !! ) find ~/nora  -type d -exec  chmod g+s {} + If want to manage rights by ar group user chgrp -R NORA ~/nora # if you manage your right via usergroup NORA./dp nonetheless setfacl -R -d -m g::rwx ~/nora Initial configuration Go into the nora directory and run ./install This will create some local config files in the "conf" directory (for details see separate section below). NORA has 3 modules Frontend: webserver with image viewer DICOM node to receive images from a PACS Backend: processing module (depending on your preferences  matlab or nodejs and slurm or SGE based) By default, all three modules are enabled. To run NORA in this default configuration edit main.conf and set at least MATLABPATH: If you are behind a proxy, it might also be necessary to set the proxy (maybe even with user/password) DOCKER_http_proxy:" ... " Also set the user Nora should act as in the main.conf DPXUSER: " ... "DPXGROUP: " ... " Build the docker image Your main function to control NORA is dpxcontrol. You can always run ./dpxcontrol to get more help. To build the DOCKER image, first run ./dpxcontrol docker build This will take a while. If everything went well, start all modules with ./dpxcontrol start If something went wrong during installation / starts, there might be old 'zombie' containers. In this case you will be suggested docker commands to remove them. You can also start with --forceto autoremove old NORA containers. To check the status, now use ./dpxcontrol status If at least the first point, Docker, is running nicely, you should be able to log into the Webinterface. (see below) Log into the Webinterface Now, open a web-browser and go to localhost:81. Default login isuser:      rootpassword:  dpxuser There are several options to create new users. You can either connect to an existing LDAP server, or just create users based on the internal user management of NORA (see Administration section for details). Troubleshooting and testing Most log files are written into /var/syslogs/ These can also be seen from the admin dialog at the top of the webinterface. If the daemon is not starting (or stopping again, red status) check the daemon.log for more info. In case of a license error, maybe you have to forward your MAC adress to Docker (see main.conf for more info) For other system parts, there are also some test functions ./dpxcontrol test [slurm | email | more_to_be_programmed] Upgrade the database When your daemon is running nicely, it might be necessary to upgrade the initial database with ./dpxcontrol matlab updatedb Autostart on system startup To automatically start NORA when your computer starts, you can for example add /dpxcontrol start --force to your /etc/rc.local Slurm setup A proper configuration of slurm is a science on its own. Ask google for more information. If you are running slurm inside docker (default), the conf/slurm.conf is used and you do not have to do too much. Otherwise, if docker is installed outside (this should be  the correct practice) you have to it install via sudo apt-get install slurm-wlm on a deb-system and set DOCKER_run_daemon_in_docker: 0, in the /conf/main.conf file. For configuring slurm itself there is a configurator interface via html, which you usually find here /usr/share/doc/slurmctld/slurm-wlm-configurator.easy.html which generates a conf file  /etc/slurm-llnl/slurm.conf where you have replace the hostname by the machine you are running NORA on. Further, the partitions have to specified. NORA has as default two partitions(computing queues) DPXproc and DPXimport, which have to specified in the slurm.conf like in this example: # COMPUTE NODESNodeName=hostname CPUs=8 State=UNKNOWNPartitionName=DPXproc Nodes=hostname Default=YES MaxTime=INFINITE State=UPPartitionName=DPXimport Nodes=hostname Default=YES MaxTime=INFINITE State=UP Alternatively, if you have an existing SLURM running with predefined paritions,  you can change the paritions (queues) in NORA’s configuration in  /conf/main.conf (SLURM_QUEUES) Also consider ./dpxcontrol test slurm for testing whether your slurm configuration is working. General Configuration All configuration files are located in /conf  directory. The configuration files are main.conf  -  includes all major configurations, responsible for Location of external programs (MATLAB etc) DOCKER port forwarding Daemon beahviour Import behavior (dicoms etc) Mysql information signin/signup behaviour, LDAP configuration Backup behavior pacs.conf - includes all information how to connect to external dicom nodes routes.conf -  ip-addresses of DB, and routes of mount dirs (depending on hostnames diffferent mount locations are possible slurm.conf - slurm configuration smail.conf - mail configuration