DINGO - DICOM Ingest And Go! PACS migration, verification, and reporting web dashboard.
846
DINGO is a web-based dashboard for PACS DICOM migration, verification, and reporting. It helps teams orchestrate C-FIND, C-MOVE, verification checks, and migration reports from a simple browser interface.
Create a docker-compose.yml file:
services:
postgres:
image: postgres:18
restart: unless-stopped
environment:
POSTGRES_DB: ${DINGO_DB_NAME:-dingo}
POSTGRES_USER: ${DINGO_DB_USER:-dingo}
POSTGRES_PASSWORD: ${DINGO_DB_PASSWORD:-dingo_change_me}
# TZ: ${TZ:-America/Argentina/Buenos_Aires}
# Uncomment to allow direct PostgreSQL access from outside Docker.
# ports:
# - "${DINGO_POSTGRES_PORT:-5432}:5432"
volumes:
- dingo_pgdata:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U \"$${POSTGRES_USER}\" -d \"$${POSTGRES_DB}\""]
start_period: 30s
interval: 10s
timeout: 5s
retries: 12
dingo:
image: jpdevoto/dingo-dicom-migration:latest
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
ports:
- "${DINGO_PORT:-4858}:4858"
environment:
DINGO_HOST: 0.0.0.0
DINGO_PORT: 4858
DINGO_DB_HOST: postgres
DINGO_DB_PORT: 5432
DINGO_DB_NAME: ${DINGO_DB_NAME:-dingo}
DINGO_DB_USER: ${DINGO_DB_USER:-dingo}
DINGO_DB_PASSWORD: ${DINGO_DB_PASSWORD:-dingo_change_me}
DINGO_DCMTK_DISCOVERY_MODE: systemPath
DINGO_DCMTK_BIN: /usr/bin
# TZ: ${TZ:-America/Argentina/Buenos_Aires}
volumes:
- dingo_data:/opt/dingo/data
- dingo_logs:/opt/dingo/logs
- dingo_reports:/opt/dingo/reports
volumes:
dingo_data:
dingo_logs:
dingo_reports:
dingo_pgdata:
Create a .env file in the same folder:
DINGO_IMAGE_TAG=latest
DINGO_PORT=4858
DINGO_DB_NAME=dingo
DINGO_DB_USER=dingo
DINGO_DB_PASSWORD=change_this_to_a_strong_password
# TZ=America/Argentina/Buenos_Aires
# DINGO_POSTGRES_PORT=5432
Change DINGO_DB_PASSWORD before the first startup. PostgreSQL uses this value when the database volume is first created.
Uncomment the TZ lines if you want DINGO and PostgreSQL to use a local timezone. Examples: America/Argentina/Buenos_Aires, America/New_York, or America/Chicago.
Start DINGO:
docker compose up -d
Open the dashboard:
http://localhost:4858
Or from another machine:
http://SERVER_IP:4858
DINGO stores runtime data in Docker volumes:
dingo_data for configuration and activation datadingo_logs for logsdingo_reports for generated reportsdingo_pgdata for PostgreSQL dataThe .env file lets you change the web port, database name, database user, database password, and image tag without editing docker-compose.yml.
For production environments, you may pin a specific image version such as jpdevoto/dingo-dicom-migration:v3.3.1 instead of jpdevoto/dingo-dicom-migration:latest.
PostgreSQL is private to the Docker network by default. If you need to connect to PostgreSQL from outside Docker, uncomment the ports section under the postgres service and set DINGO_POSTGRES_PORT in .env if you want a host port other than 5432.
After starting DINGO, open:
Setup > License
Copy the displayed Hardware ID and use your provided license file to activate the system.
Pull the latest image and restart:
docker compose pull
docker compose up -d
Content type
Image
Digest
sha256:fe2b71b94…
Size
109.9 MB
Last updated
3 months ago
docker pull jpdevoto/dingo-dicom-migration