Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Mini PACS

Featured Replies

It's a bit niche, I use PACS at work each day, but as I'm not a radiologist, have no desire to have remote access to it, what you thinking of doing, running a CT Scanner at home?!

  • Author

No, I was thinking of building turnkey PACS systems for veterinary use. Vets have no money so a cheap PACS that is plug and play might be attractive to them.

Wow, great idea, but would imagine you're on your own with this one.  Good luck though dude.

 

Just looking at my cat and started to wonder how the hell you'd keep him still long enough to have an X-Ray or CT without giving him an anaesthetic...

Wow, great idea, but would imagine you're on your own with this one.  Good luck though dude.

 

Just looking at my cat and started to wonder how the hell you'd keep him still long enough to have an X-Ray or CT without giving him an anaesthetic...

 

hit it with a brick and put it in a sack.

  • Author

http://www.dcm4che.org/

 

Is an open source PACS with packages for most distros. I think I should try to run the PACS in a VM instead of a docker container.

I'd be interested in hearing how this plays out.

  • Author

It uses DICOM standards to acquire and distribute images. Since X-Ray film is now obsolete, all modalities (Radiology image generating devices) output DICOM images over TCP/IP.

It uses DICOM standards to acquire and distribute images. Since X-Ray film is now obsolete, all modalities (Radiology image generating devices) output DICOM images over TCP/IP.

 

I see, a little digging around and I found a pre-existing docker for this, which could be adapted to fit unraid.

 

https://github.com/dpatriarche/docker-dcm4chee

 

I forked it and ran a build in my docker vm i use for test building.

 

I got some kind of web interface for settings etc... and then some records interface.

 

 

Had a play with the preexisting docker and thus far I have this.

 

FROM phusion/baseimage:0.9.16
ENV DEBIAN_FRONTEND noninteractive
# Set correct environment variables
ENV HOME /root
ENV TERM xterm
# Use baseimage-docker's init system
CMD ["/sbin/my_init"]

# output volumes
VOLUME /DICOM /DATABASE

# expose ports
EXPOSE 8080 11112

# Add local files
ADD src/ /root/

# Fix a Debianism of the nobody's uid being 65534
RUN usermod -u 99 nobody && \
usermod -g 100 nobody && \

# set temporary installation folder
DCM4CHEE_TEMP=/root/temp-setup/dcm4chee && \
mkdir -p  $DCM4CHEE_TEMP && \

# install dependencies
apt-get update && \
apt-get install -y wget unzip mysql-server openjdk-6-jdk && \

# fetch, unzip and install required packages
cd $DCM4CHEE_TEMP && \
wget --directory-prefix=/root http://sourceforge.net/projects/dcm4che/files/dcm4chee/2.17.1/dcm4chee-2.17.1-mysql.zip && \
unzip -q /root/dcm4chee-2.17.1-mysql.zip && \
DCM_DIR=$DCM4CHEE_TEMP/dcm4chee-2.17.1-mysql && \
wget --directory-prefix=/root http://colocrossing.dl.sourceforge.net/project/jboss/JBoss/JBoss-4.2.3.GA/jboss-4.2.3.GA-jdk6.zip && \
unzip -q /root/jboss-4.2.3.GA-jdk6.zip && \
JBOSS_DIR=$DCM4CHEE_TEMP/jboss-4.2.3.GA && \
wget --directory-prefix=/root http://sourceforge.net/projects/dcm4che/files/dcm4chee-arr/3.0.11/dcm4chee-arr-3.0.11-mysql.zip && \
unzip -q /root/dcm4chee-arr-3.0.11-mysql.zip  && \
ARR_DIR=$DCM4CHEE_TEMP/dcm4chee-arr-3.0.11-mysql && \
rm -rf /root/*.zip && \
$DCM_DIR/bin/install_jboss.sh jboss-4.2.3.GA > /dev/null && \
$DCM_DIR/bin/install_arr.sh dcm4chee-arr-3.0.11-mysql > /dev/null && \

# Patch the JPEGImageEncoder issue for the WADO service
sed -e "s/value=\"com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageWriter\"/value=\"com.sun.image.codec.jpeg.JPEGImageEncoder\"/g" < $DCM_DIR/server/default/conf/xmdesc/dcm4chee-wado-xmbean.xml > dcm4chee-wado-xmbean.xml && \
mv dcm4chee-wado-xmbean.xml $DCM_DIR/server/default/conf/xmdesc/dcm4chee-wado-xmbean.xml && \

# Update environment variables
echo "\
JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64\n\
PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\n\
" > /etc/environment && \

# clean up apt etc....
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

  • Author

Dude, you totally rock. My current contract ends in a few months and I will get home to play with this. To test it you can set up a DICOM workstation and get some sample images off the web. I recommend Osirix but it is only MacOS so an alternative is a demo of ClearCanvas.

 

 

Dude, you totally rock. My current contract ends in a few months and I will get home to play with this. To test it you can set up a DICOM workstation and get some sample images off the web. I recommend Osirix but it is only MacOS so an alternative is a demo of ClearCanvas.

 

 

it still needs modification of the startup scripts in that other docker and a script to check for existing databases and if they don't exist, create them.

 

 

I've put it into my beta repo, it really needs someone who knows this software to take a look at it, I wouldn't even know where to begin with running it.

 

The default password is admin/admin

 

the webui link in dockerman takes you to the "records interface" there is another interface which seems to be for settings etc... at

 

/jmx-console

The databases and the dcm4chee setup are made inside the image when built on dockerhub. When you run the container locally for the first time, they are copied to local storage. So if anything ever cocks up (or you just want to test it out on dummy data etc...) , if you delete the contents of the database and dicom folders on local storage and restart the container, it takes you back to a virgin install again.

  • Author

I can't thank you enough. Like I said I can't spare any cycles to look at this until June. Such is the life of a medical imaging consultant who takes contracts away from home.

I may have to play with this DCM4CHEE docker. The GUI is often the sticking point of many of these open-source PACS. They can be very difficult to use and set up. As you mentioned, Osirix is a terrific alternative. You could always try loading a MacOS VM and load it on there.

  • Author

Those cost several million dollars and have quarter million dollar yearly maintenance fees to boot.

I've rebuilt the whole thing again, if you build it from git you can change two variables to select folders for the databases and the dcm4chee files and with the variables i've used everything gets changed automatically.

 

There's also a placeholder output volume called IMAGES in the root.

 

I've also swapped out runit in favour of supervisor, both the database and dcm4chee run as nobody:users, if you take out this section here from the Dockerfile, you take out the unraid specifics and it becomes portable.

 

# Fix a Debianism of the nobody's uid being 65534
RUN usermod -u 99 nobody && \
usermod -g 100 nobody && \

 

(just remember to add the RUN back in to the next command in the Dockerfile)

 

 

git here.

 

https://github.com/sparklyballs/pacs

 

Those cost several million dollars and have quarter million dollar yearly maintenance fees to boot.

 

I work for the NHS, suspect we buy the cheapest ones available....  ::)

  • 1 year later...

Bump....

 

What is the current state of this? Does anyone have it working?

 

  • 3 years later...

..Bump?

  • 1 year later...

Another bump. I am really interested in some hosting solution for my DICOMs

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.