Sign inSign up

jpdevoto/dingo-dicom-migration

By jpdevoto

•Updated 3 months ago

DINGO - DICOM Ingest And Go! PACS migration, verification, and reporting web dashboard.

Image
Integration & delivery
0

846

jpdevoto/dingo-dicom-migration repository overview

⁠DINGO - DICOM Ingest And Go!

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.

⁠Quick Start

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

⁠Persistent Data

DINGO stores runtime data in Docker volumes:

  • dingo_data for configuration and activation data
  • dingo_logs for logs
  • dingo_reports for generated reports
  • dingo_pgdata for PostgreSQL data

⁠Configuration

The .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.

⁠Activation

After starting DINGO, open:

Setup > License

Copy the displayed Hardware ID and use your provided license file to activate the system.

⁠Updating

Pull the latest image and restart:

docker compose pull
docker compose up -d

Tag summary

Content type

Image

Digest

sha256:fe2b71b94…

Size

109.9 MB

Last updated

3 months ago

docker pull jpdevoto/dingo-dicom-migration