Skip to content
Contact Us

Multi-Environment Management

Manage multiple Mirth Connect or OIE environments (development, staging, production) with MirthSync. This guide covers configuration strategies, deployment workflows, and environment-specific settings.

Environment promotion flow from dev to staging to production

Configure environment-specific credentials using shell environment variables or a .env file (not committed to Git):

Terminal window
# Development environment
export DEV_MIRTH_URL="https://mirth-dev.example.com:8443/api"
export DEV_MIRTH_USERNAME="admin"
export DEV_MIRTH_PASSWORD="dev-password"
# Staging environment
export STAGING_MIRTH_URL="https://mirth-staging.example.com:8443/api"
export STAGING_MIRTH_USERNAME="admin"
export STAGING_MIRTH_PASSWORD="staging-password"
# Production environment
export PROD_MIRTH_URL="https://mirth.example.com:8443/api"
export PROD_MIRTH_USERNAME="admin"
export PROD_MIRTH_PASSWORD="prod-password"

Deploy to specific environments using explicit server URLs:

Terminal window
# Deploy to development
export MIRTHSYNC_PASSWORD=$DEV_MIRTH_PASSWORD
./mirthsync.sh push -s $DEV_MIRTH_URL -u $DEV_MIRTH_USERNAME -t . --deploy-all
# Deploy to staging
export MIRTHSYNC_PASSWORD=$STAGING_MIRTH_PASSWORD
./mirthsync.sh push -s $STAGING_MIRTH_URL -u $STAGING_MIRTH_USERNAME -t . --deploy-all
# Deploy to production
export MIRTHSYNC_PASSWORD=$PROD_MIRTH_PASSWORD
./mirthsync.sh push -s $PROD_MIRTH_URL -u $PROD_MIRTH_USERNAME -t . --deploy-all

Add these to your shell profile (.bashrc, .zshrc) for convenience:

Terminal window
# First, set MIRTHSYNC_PATH to your installation directory
export MIRTHSYNC_PATH="/path/to/mirthsync-3.5.0"
# MirthSync environment aliases
alias ms-dev='MIRTHSYNC_PASSWORD=$DEV_MIRTH_PASSWORD $MIRTHSYNC_PATH/bin/mirthsync.sh -s $DEV_MIRTH_URL -u $DEV_MIRTH_USERNAME'
alias ms-staging='MIRTHSYNC_PASSWORD=$STAGING_MIRTH_PASSWORD $MIRTHSYNC_PATH/bin/mirthsync.sh -s $STAGING_MIRTH_URL -u $STAGING_MIRTH_USERNAME'
alias ms-prod='MIRTHSYNC_PASSWORD=$PROD_MIRTH_PASSWORD $MIRTHSYNC_PATH/bin/mirthsync.sh -s $PROD_MIRTH_URL -u $PROD_MIRTH_USERNAME'
# Usage:
# ms-dev pull -t .
# ms-staging push -t . --deploy-all
# ms-prod push -t . --deploy-all