Streamlit x GHCR x CI/CD

Streamlit x GHCR x CI/CD

December 20, 2025

Tl;DR

Not a post about IQVIA nor FMCG, nor D&A tech stack for healthcare analytics.

But one to make the development operations more efficient.

Intro

It all comes down to doing + sharing/helping.

Even better if you do so around a well defined offer, so people know what to expect.

In this case, it has been a success story based on github actions x containers best practices

What we have done:

  1. Define the problem

  2. Solution proposal: container image versioning and automatic creation

  1. Enabling the public ghcr artifacts to public to share within other hospitals: https://github.com/jlleongarcia/X-ray-imaging-analysis/pkgs/container/x-ray-imaging-analysis

Its also recommended to provide a docker-compose for users who want to build their own image:

version: '3.8'

services:
  streamlit-app:
    # Build context points to the current directory (where this file lives)
    build: 
      context: .
      dockerfile: Dockerfile
    container_name: X-ray-imaging-analysis
    restart: unless-stopped
    ports:
    - "8502:8502"
    # Define the healthcheck to ensure the container is truly ready for the tunnel
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8502"]
      interval: 30s
      timeout: 10s
      retries: 3

And one for the ones that just want to push a particular image version with certain features:

docker pull ghcr.io/jlleongarcia/x-ray-imaging-analysis:v1.0
version: '3.8'

services:
  streamlit-app:
    image: ghcr.io/jlleongarcia/x-ray-imaging-analysis:v1.0
    container_name: x-ray-imaging-analysis
    restart: unless-stopped
    ports:
    - "8502:8502"
    # Define the healthcheck to ensure the container is truly ready for the tunnel
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8502"]
      interval: 30s
      timeout: 10s
      retries: 3
sudo docker stats x-ray-imaging-analysis

Conclusions

Healthcare Analytics is a broad field, and it can be applied to many different areas of healthcare:

mindmap
  root((Medical Physics))
    Radiotherapy
      Linac QA
      Patient Treatment
        3D CRT
        IMRT
        VMAT
    Nuclear Medicine
      Patient Treatment
        Radiopharmaceuticals
      Patient Diagnostic
        Radiotracers
        Machine QA
    Diagnostic Radiology
      Machine QA
      Diagnose
        Clinical Image Validation
    Radiation Protection
      Patient Treatment & Diagnose
        ALARA criteria
      Workers & Public Protection
        Time
        Distance
        Shielding

FAQ

Latest features shipped properly: https://github.com/JAlcocerT/X-ray-imaging-analysis + youtube video