Complete reference for all FHIRLab Core scripts.
Starts all FHIRLab Core services.
./scripts/start.sh [options]Options:
| Option | Description |
|---|---|
--smart |
Also start the SMART launcher service (separate service) |
Behavior:
- Creates
.envfrom.env.exampleif missing - Starts Docker containers
- Waits for health checks to pass
- Displays service URLs
Example:
# Start core services
./scripts/start.sh
# Start with SMART launcher (separate service)
./scripts/start.sh --smartStops all running services, preserving data.
./scripts/stop.shBehavior:
- Stops all containers (including SMART profile)
- Preserves data in Docker volumes
Stops services and removes all data.
./scripts/reset.sh [options]Options:
| Option | Description |
|---|---|
--force |
Skip confirmation prompt |
Behavior:
- Prompts for confirmation (unless
--force) - Stops all containers
- Removes Docker volumes
- Cleans up orphaned resources
⚠ Warning: This permanently deletes all data. Cannot be undone. Example:
# Interactive reset
./scripts/reset.sh
# Force reset (no prompt)
./scripts/reset.sh --forceLoads example FHIR resources into HAPI FHIR.
./scripts/load-data.shRequirements:
- HAPI FHIR CLI installed
- HAPI FHIR server running
Behavior:
- Checks for HAPI FHIR CLI
- Waits for server to be ready
- Uploads example R4 resources
Reference: HAPI FHIR CLI upload-examples
Uploads terminology files to HAPI FHIR.
./scripts/upload-terminology.sh <file>Arguments:
| Argument | Description |
|---|---|
<file> |
Path to terminology file (JSON or XML) |
Supported Formats:
- CodeSystem resources
- ValueSet resources
- FHIR Bundles containing terminology
Example:
./scripts/upload-terminology.sh ./my-codesystem.json
./scripts/upload-terminology.sh ./valueset-bundle.xmlReference: HAPI FHIR CLI upload-terminology
Verifies all services are running correctly.
./scripts/smoke-test.sh [options]Options:
| Option | Description |
|---|---|
--smart |
Also test SMART Launcher |
Checks Performed:
| Service | Test |
|---|---|
| HAPI FHIR | Fetches CapabilityStatement |
| HAPI FHIR R4 | Verifies FHIR version |
| Elasticsearch | Checks cluster health |
| Snowstorm | Fetches version info |
| SNOMED Browser | HTTP connectivity |
| SMART Launcher | HTTP connectivity (if --smart) |
Exit Codes:
| Code | Meaning |
|---|---|
| 0 | All critical tests passed |
| N | N tests failed |
Example:
# Test core services
./scripts/smoke-test.sh
# Include SMART launcher (separate service)
./scripts/smoke-test.sh --smartAll scripts are in the docker/scripts/ directory:
docker/
└── scripts/
├── start.sh
├── stop.sh
├── reset.sh
├── load-data.sh
├── upload-terminology.sh
└── smoke-test.sh
Scripts can be run from any directory using the full path:
/path/to/core/docker/scripts/start.shOr add to your PATH:
export PATH="/path/to/core/docker/scripts:$PATH"