Multi-Environment Management
Multi-Environment Management
Section titled “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 Flow Overview
Section titled “Environment Flow Overview”Environment Configuration
Section titled “Environment Configuration”Configure environment-specific credentials using shell environment variables or a .env file (not committed to Git):
# Development environmentexport DEV_MIRTH_URL="https://mirth-dev.example.com:8443/api"export DEV_MIRTH_USERNAME="admin"export DEV_MIRTH_PASSWORD="dev-password"
# Staging environmentexport STAGING_MIRTH_URL="https://mirth-staging.example.com:8443/api"export STAGING_MIRTH_USERNAME="admin"export STAGING_MIRTH_PASSWORD="staging-password"
# Production environmentexport PROD_MIRTH_URL="https://mirth.example.com:8443/api"export PROD_MIRTH_USERNAME="admin"export PROD_MIRTH_PASSWORD="prod-password"Deploying to Environments
Section titled “Deploying to Environments”Deploy to specific environments using explicit server URLs:
# Deploy to developmentexport MIRTHSYNC_PASSWORD=$DEV_MIRTH_PASSWORD./mirthsync.sh push -s $DEV_MIRTH_URL -u $DEV_MIRTH_USERNAME -t . --deploy-all
# Deploy to stagingexport MIRTHSYNC_PASSWORD=$STAGING_MIRTH_PASSWORD./mirthsync.sh push -s $STAGING_MIRTH_URL -u $STAGING_MIRTH_USERNAME -t . --deploy-all
# Deploy to productionexport MIRTHSYNC_PASSWORD=$PROD_MIRTH_PASSWORD./mirthsync.sh push -s $PROD_MIRTH_URL -u $PROD_MIRTH_USERNAME -t . --deploy-allShell Aliases for Quick Access
Section titled “Shell Aliases for Quick Access”Add these to your shell profile (.bashrc, .zshrc) for convenience:
# First, set MIRTHSYNC_PATH to your installation directoryexport MIRTHSYNC_PATH="/path/to/mirthsync-3.5.0"
# MirthSync environment aliasesalias 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