Sign inSign up

meddream/mdstatistics

By meddream

Updated 7 days ago

Dashboard for MedDream viewer study-opening performance

Image
Monitoring & observability
0

961

meddream/mdstatistics repository overview

mdstatistics — MedDream viewer performance dashboard

A small, self-contained web app that reads a MedDream telemetry database (MySQL or PostgreSQL) and shows study-opening performance as an expandable timeline browser: the latest opens, newest first, each drawn as a multi-lane timeline of the startup/loading phases and expandable into per-series queue-wait → download → decode lines. Search, per-column sorting, modality / date / version / study-role filters, and a client-side time-window zoom sit above the list.

Quick start

docker run -d --name mdstatistics -p 8050:8050 \
  -e MDSTATS_DB_TYPE=postgresql \
  -e MDSTATS_DB_HOST=db.example -e MDSTATS_DB_NAME=mdstatistics \
  -e MDSTATS_DB_USER=stats -e MDSTATS_DB_PASSWORD=secret \
  meddream/mdstatistics:latest

Then open http://localhost:8050.

Database host inside Docker: 127.0.0.1 points at the container itself, not your database. Use the DB container/service name on a shared Docker network, host.docker.internal (add --add-host host.docker.internal:host-gateway on Linux), or the database's real hostname/IP.

docker compose

services:
  mdstatistics:
    image: meddream/mdstatistics:latest
    restart: unless-stopped
    ports:
      - "8050:8050"
    environment:
      MDSTATS_DB_TYPE: postgresql
      MDSTATS_DB_HOST: postgres          # e.g. the database service name
      MDSTATS_DB_NAME: mdstatistics
      MDSTATS_DB_USER: ${MDSTATS_DB_USER}
      MDSTATS_DB_PASSWORD: ${MDSTATS_DB_PASSWORD}
      MDSTATS_AUTH_ENABLED: "1"
      MDSTATS_AUTH_USERNAME: ${MDSTATS_AUTH_USERNAME}
      MDSTATS_AUTH_PASSWORD: ${MDSTATS_AUTH_PASSWORD}
      MDSTATS_AUTH_SECRET_KEY: ${MDSTATS_AUTH_SECRET_KEY}

Configuration (environment variables)

VariableDefaultPurpose
MDSTATS_DB_TYPEmysqlmysql or postgresql
MDSTATS_DB_HOST127.0.0.1Database host (see note above)
MDSTATS_DB_PORT3306 / 5432Database port (default per type)
MDSTATS_DB_USERrootDatabase user
MDSTATS_DB_PASSWORDrootDatabase password
MDSTATS_DB_NAMEmdstatisticsDatabase name
MDSTATS_PORT8050Port the app listens on
MDSTATS_URL_BASE_PATH(root)Subpath when behind a reverse proxy, e.g. /mdstatistics
MDSTATS_AUTH_ENABLEDoff1 requires a login for all routes
MDSTATS_AUTH_USERNAME(none)Login username (required when auth is on)
MDSTATS_AUTH_PASSWORD(none)Login password (required when auth is on)
MDSTATS_AUTH_SECRET_KEYrandomSession-signing key; set a fixed value to keep sessions (incl. "Remember me") across restarts
MDSTATS_AUTH_COOKIE_SECUREtrueSend the session cookie over HTTPS only; set false only for plain-HTTP testing
MDSTATS_FRONTEND_ONLY_TSHTJ2K + JPEG BaselineComma-separated transfer-syntax UIDs the viewer decodes purely client-side ("Front-End only"); drives the FO column

Notes:

  • The container already listens on 0.0.0.0 inside, so there is no need to set MDSTATS_HOST.
  • Enable authentication (MDSTATS_AUTH_*) for any internet-facing deployment, and set a fixed MDSTATS_AUTH_SECRET_KEY.
  • The app only reads the database; it never writes to it.

Ports

  • 8050/tcp — the web UI (override with MDSTATS_PORT).

Tag summary

Content type

Image

Digest

sha256:d14669d25

Size

81.8 MB

Last updated

7 days ago

docker pull meddream/mdstatistics