Skip to content

Instantly share code, notes, and snippets.

@jgsuess
Last active July 15, 2025 03:56
Show Gist options
  • Save jgsuess/2f00dc6941b38242b68899c732058c48 to your computer and use it in GitHub Desktop.
Save jgsuess/2f00dc6941b38242b68899c732058c48 to your computer and use it in GitHub Desktop.
FHIRFLARE IG Toolkit via Docker Compose

FHIRFLARE IG Toolkit

This directory provides scripts and configuration to start and stop a FHIRFLARE instance with an attached HAPI FHIR server using Docker Compose.

Usage

  • To start the FHIRFLARE toolkit and HAPI server:

    ./up.sh
  • To stop and remove the containers and volumes:

    ./down.sh

The web interface will be available at http://localhost:5000 and the HAPI FHIR server at http://localhost:8080/fhir.

For more details, see the configuration files in this directory.

hapi.fhir:
ig_runtime_upload_enabled: false
narrative_enabled: true
logical_urls:
- http://terminology.hl7.org/*
- https://terminology.hl7.org/*
- http://snomed.info/*
- https://snomed.info/*
- http://unitsofmeasure.org/*
- https://unitsofmeasure.org/*
- http://loinc.org/*
- https://loinc.org/*
cors:
allow_Credentials: true
allowed_origin:
- '*'
tester.home.name: FHIRFLARE Tester
inline_resource_storage_below_size: 4000
services:
fhirflare:
image: ghcr.io/jgsuess/fhirflare-ig-toolkit:latest
ports:
- "5000:5000"
volumes:
- ./instance:/app/instance
- ./static/uploads:/app/static/uploads
- ./instance/hapi-h2-data/:/app/h2-data # Keep volume mounts consistent
- ./logs:/app/logs
environment:
- FLASK_APP=app.py
- FLASK_ENV=development
- NODE_PATH=/usr/lib/node_modules
- APP_MODE=lite
- APP_BASE_URL=http://localhost:5000
- HAPI_FHIR_URL=http://fhir:8080/fhir
command: supervisord -c /etc/supervisord.conf
fhir:
container_name: hapi
image: "hapiproject/hapi:v8.2.0-1"
ports:
- "8080:8080"
configs:
- source: hapi
target: /app/config/application.yaml
depends_on:
- db
db:
image: "postgres:17.2-bookworm"
restart: always
environment:
POSTGRES_PASSWORD: admin
POSTGRES_USER: admin
POSTGRES_DB: hapi
volumes:
- ./hapi.postgress.data:/var/lib/postgresql/data
configs:
hapi:
file: ./application.yaml
#!/bin/bash
# Stop and remove all containers defined in the Docker Compose file,
# along with any anonymous volumes attached to them.
docker compose down --volumes
#!/bin/bash
# Run Docker Compose
docker compose up --detach --force-recreate --renew-anon-volumes --always-recreate-deps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment