This is a Dicoogle plugin to support the storage of files over IPFS.
IPFS is a P2P distributed file system that targets to connect all computing devices with the same system of files. IPFS provides a high-throughput, content-addressed block storage model, with addressed with a hash URI. Dicoogle IPFS is as far as we know, the first PACS archive supporting DICOM communications with IPFS capabilities.
First, go to and download the IPFS. You can use Go IPFS Daemon.
Run init to create the hash files and keys with:
$ ./ipfs init
Start the daemon:
$ ./ipfs daemon
It should retrieve something similar:
Initializing daemon...
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/169.254.195.127/tcp/4001
Swarm listening on /ip4/172.20.20.25/tcp/4001
Swarm listening on /ip4/192.168.1.72/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
Swarm listening on /p2p-circuit/ipfs/QmPYwyhd9WfH6cmyXh4SJpSkxweeHmUbohao6g4H4zhD3G
Swarm announcing /ip4/127.0.0.1/tcp/4001
Swarm announcing /ip4/169.254.195.127/tcp/4001
Swarm announcing /ip4/172.20.20.25/tcp/4001
Swarm announcing /ip4/192.168.1.72/tcp/4001
Swarm announcing /ip4/2.83.194.251/tcp/60663
Swarm announcing /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready
Copy your plugin's package with dependencies (target/ipfs-plugin-1.0.0-SNAPSHOT-jar-with-dependencies.jar) to the "Plugins" folder inside the root folder of Dicoogle.
Run Dicoogle. The plugin will be automatically included.
You can configure the IPFS endpoint in the Plugin settings. Check here:
| => cat Plugins/settings/IPFS.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
<ipfs>
<endpoint>/ip4/127.0.0.1/tcp/5001</endpoint>
</ipfs>
</configuration>
If Dicoogle is running on PORT 8082:
Status Web service available at: ipfs/status?action=status
URL: http://localhost:8082/ipfs/status?action=status
List Web service available at: ipfs/status?action=fileCount
URL: http://localhost:8082/ipfs/list?action=fileCount
List Web service available at: ipfs/status?action=fileList
URL: http://localhost:8082/ipfs/list?action=fileList
This repository uses DICOM data for testing. The DICOM files listed under src/test/resources
are made available by NEMA in ftp://medical.nema.org/medical/dicom/DataSets/WG02/RDSR/.
By default Dicoogle and IPFS Daemon open the 8080 tcp port, so one of application should change the port to avoid problems.
1) Store medical imaging over IPFS 2) Failures 3) Avoid changes in medical imaging 4) Allow tracebility
Please contact BMD Software for professional support and consulting services.
Dicoogle IPFS has been tested in:
For more information, please visit http://www.dicoogle.com