### Install GPG and Generate Key Pair Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Perform this one-time setup on the backup server to install GPG and generate a new key pair for encryption. ```bash sudo apt-get install gnupg gpg --gen-key ``` -------------------------------- ### Run the Base Distro Source: https://github.com/msf-ocg/lime-emr/blob/main/docs/README.md After building, source the script to navigate to the correct directory and then start the demo environment. OpenMRS will be accessible at http://localhost:4001/openmrs. ```bash source distro/target/go-to-scripts-dir.sh ./start-demo.sh ``` -------------------------------- ### Frontend Configuration Inheritance Example Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Demonstrates how frontend configuration URLs are inherited and overridden from distro to site level using the SPA_CONFIG_URLS environment variable. ```properties # Distro-level only: SPA_CONFIG_URLS=/openmrs/spa/configs/msf-frontend-config.json # Site-level (inherits distro + adds site overrides): SPA_CONFIG_URLS=/openmrs/spa/configs/msf-frontend-config.json,/openmrs/spa/configs/msf-mosul-frontend-config.json ``` -------------------------------- ### Build and Run New Site Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Command to build the new site module and start the demo script. This includes packaging the site and running its Docker environment. ```bash ./scripts/mvnw clean package -pl sites/newsite -am cd sites/newsite/target/ozone-msf-newsite-/run/docker/scripts ./start-demo.sh ``` -------------------------------- ### Run Restore Backup Manually Source: https://github.com/msf-ocg/lime-emr/wiki/Backups Execute the restore backup script, specifying the paths to the full and incremental backup directories. This example also includes commands to stop and start a demo service, potentially related to the environment being restored. ```bash bash restore_backup.sh --full /home/backup/full/2025-05-01_16-45-10/ --incremental /home/backup/incremental/2025-05-01_16-45-24/ export TRAEFIK="false" && ./stop-demo.sh export TRAEFIK="false" && ./start-demo.sh ``` -------------------------------- ### Build the Project with Maven Source: https://github.com/msf-ocg/lime-emr/blob/main/docs/README.md Execute this command to clean and package the project using the included Maven wrapper. Ensure Java 8+ and Maven 3.x are installed. ```bash ./scripts/mvnw clean package ``` -------------------------------- ### Install Docker and Docker Compose on Ubuntu Source: https://github.com/msf-ocg/lime-emr/wiki/Troubleshooting Use these commands to update your package list and install the latest versions of Docker CE, Docker Compose, and related plugins on an Ubuntu system. Ensure you have the necessary permissions to run these commands. ```bash sudo apt update sudo apt install -y ca-certificates curl gnupg lsb-release sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ``` -------------------------------- ### Run Bunia Site Configuration Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Navigate to the Bunia site's Docker scripts directory and run the start script to launch the site-specific configuration. This includes distro configuration plus Bunia overrides. ```bash cd sites/bunia/target/ozone-msf-bunia-/run/docker/scripts ./start-demo.sh ``` -------------------------------- ### OpenFn Project State JSON Example Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Contains OpenFn project metadata, retention policies, and credential references. It maps credential names to their IDs and owners. ```json { "id": "69066751-5f2c-459c-b42e-feba1c802383", "name": "msf-lime-mosul", "history_retention_period": 90, "dataclip_retention_period": 90, "project_credentials": { "owner@openfn.org-OpenMRS-Demo": { "id": "45634fcb-...", "name": "OpenMRS Demo", "owner": "owner@openfn.org" }, "owner@openfn.org-MSF-DHIS2-UAT": { "id": "9716980f-...", "name": "MSF DHIS2 UAT", "owner": "owner@openfn.org" } } } ``` -------------------------------- ### OpenFn Workflow Definition Example Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Defines OpenFn projects, workflows, jobs, triggers, and edges. This example shows a workflow with two jobs: Fetch-Metadata using the HTTP adaptor and Map-DHIS2-to-OpenMRS using the FHIR adaptor. ```yaml workflows: wf1-dhis2-omrs-migration: name: wf1-dhis2-omrs-migration jobs: Fetch-Metadata: name: Fetch Metadata adaptor: "@openfn/language-http@6.5.1" body: | // JavaScript job code for data transformation Map-DHIS2-to-OpenMRS: name: Map DHIS2 to OpenMRS adaptor: "@openfn/language-fhir@1.0.0" body: | // FHIR-based mapping logic ``` -------------------------------- ### New Site pom.xml Configuration Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Example pom.xml for a new site, specifying dependencies and packaging. It inherits from the distro artifact and requires specific Maven plugins for configuration management. ```xml com.ozonemsf ozone-msf-newsite 1.0.0-SNAPSHOT pom ozone-msf-distro com.ozonemsf 1.0.0-SNAPSHOT zip ``` -------------------------------- ### OpenFn Adaptor Registry Cache Example Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md A local cache of available OpenFn adaptors and their versions to prevent repeated registry lookups and improve startup performance. ```json [ { "name": "@openfn/language-http", "versions": [{"version": "1.0.0"}, {"version": "6.5.1"}], "latest": "6.5.1" }, { "name": "@openfn/language-dhis2", "versions": [...], "latest": "..." } ] ``` -------------------------------- ### Run Mosul Site Configuration Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Navigate to the Mosul site's Docker scripts directory and run the start script to launch the site-specific configuration. This includes distro configuration plus Mosul overrides. ```bash cd sites/mosul/target/ozone-msf-mosul-/run/docker/scripts ./start-demo.sh ``` -------------------------------- ### Run Matsapha Site Configuration Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Navigate to the Matsapha site's Docker scripts directory and run the start script to launch the site-specific configuration. This includes distro configuration plus Matsapha overrides. ```bash cd sites/matsapha/target/ozone-msf-matsapha-/run/docker/scripts ./start-demo.sh ``` -------------------------------- ### Single-Command VPS Deployment Orchestrator Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md The deploy-lime.sh script automates the provisioning of a LIME EMR instance on a fresh Ubuntu VPS. It orchestrates four phases: security hardening, Docker installation, pulling bundled scripts, and starting the LIME instance. ```text ┌─────────────────────────────────────────────────────────────────┐ │ deploy-lime.sh │ │ │ │ Phase 1 ── VPS Security Hardening (secure-vps.sh) │ │ Phase 2 ── Docker & Package Installation (bundled_docker_…) │ │ Phase 3 ── Pull Bundled-Docker Scripts (pull_bundled_…) │ │ Phase 4 ── Start LIME Instance (start-bundled-…) │ │ │ │ Output: Running LIME EMR on a hardened VPS with HTTPS └─────────────────────────────────────────────────────────────────┘ ``` -------------------------------- ### Run Base MSF Distribution Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Execute these commands to start the base MSF distribution, which includes organization-wide defaults. OpenMRS will be accessible at http://localhost:4001/openmrs. ```bash source distro/target/go-to-scripts-dir.sh ./start-demo.sh ``` -------------------------------- ### Run Iraq Country-Level Configuration Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Navigate to the Iraq country-level Docker scripts directory and run the start script to launch the configuration. This includes distro configuration plus Iraq overrides, without site-specific settings. ```bash cd countries/iraq/target/ozone-msf-iraq-/run/docker/scripts ./start-demo.sh ``` -------------------------------- ### Build LIME EMR Project Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Use this command to clean and package the LIME EMR project. Ensure you have Java 8+ and Maven 3.x installed. ```bash ./scripts/mvnw clean package ``` -------------------------------- ### Example Form JSON Structure Source: https://github.com/msf-ocg/lime-emr/blob/main/docs/translations.md This JSON structure represents a form definition, including its name, description, version, and pages with sections and questions. It serves as a reference for creating translation files. ```json { "name": "F13-PNC", "description": "Postnatal Care Form", "version": "1", "published": true, "uuid": "", "processor": "EncounterFormProcessor", "encounter": "Maternal Health", "encounterType": "dd528487-82a5-4082-9c72-ed246bd49591", "retired": false, "referencedForms": [], "pages": [ { "label": "Postnatal Care", "sections": [ { "label": "General information", "isExpanded": false, "questions": [ { "id": "typeOfConsultation", "label": "Type of consultation", "type": "obs", "required": false, "questionOptions": { "rendering": "radio", "concept": "typeOfConsultation", "answers": [ { "label": "Admission", "concept": "admission" }, { "label": "Follow up", "concept": "followUp" }, { "label": "Discharge", "concept": "discharge" } ] } }, { "id": "caretakersName", "label": "Caretaker's name", "type": "obs", "required": false, "questionOptions": { "rendering": "text", "concept": "caretakersName" } } ] } ] } ] } ``` -------------------------------- ### Run a Specific Site Demo Source: https://github.com/msf-ocg/lime-emr/blob/main/docs/README.md Navigate to the specific site's Docker scripts directory and run the start-demo script to launch a particular site's environment. Replace with the actual version number. ```bash # Mosul (Iraq) cd sites/mosul/target/ozone-msf-mosul-/run/docker/scripts ./start-demo.sh ``` ```bash # Matsapha (Eswatini) cd sites/matsapha/target/ozone-msf-matsapha-/run/docker/scripts ./start-demo.sh ``` ```bash # Bunia (DRC) cd sites/bunia/target/ozone-msf-bunia-/run/docker/scripts ./start-demo.sh ``` -------------------------------- ### Build and Restart OpenMRS with Initializer Source: https://github.com/msf-ocg/lime-emr/blob/main/docs/content-management.md After adding the OCL ZIP file, build the OpenMRS project and restart the relevant site or distribution to load the concepts. ```bash ./scripts/mvnw clean package # then start the relevant site or distro ``` -------------------------------- ### Perform Manual PostgreSQL Backup Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md This command creates a manual backup of the OpenFn PostgreSQL database. Replace `hello` and `lightning_prod` with your specific database user and name if they differ. ```bash docker exec openfn-postgresql pg_dump \ -U hello lightning_prod \ | gzip > openfn_backup_$(date +%Y%m%d).sql.gz ``` -------------------------------- ### Enable HTTPS with Traefik Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Enable HTTPS for LIME EMR by setting the TRAEFIK environment variable and running the start script. This configures Traefik as a reverse proxy with automatic SSL certificates. ```bash export TRAEFIK="true" && ./start-demo.sh ``` -------------------------------- ### New Site Directory Structure Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Illustrates the required directory structure for a new site, including configuration files for OpenMRS, OpenFn, and other components. ```text sites/newsite/ ├── pom.xml ├── assembly.xml └── configs/ ├── openmrs/ │ ├── frontend_config/ │ │ └── msf-newsite-frontend-config.json │ └── initializer_config/ │ ├── addresshierarchy/ # Site-specific address hierarchy CSV + XML │ ├── locations/ # Facility location definitions │ ├── idgen/ # Patient ID generation schemes │ ├── visittypes/ # Visit type definitions │ ├── appointmentservicedefinitions/ │ └── ... # Any other overrides └── openfn/ ├── newsite-project.yaml # OpenFn workflow definitions ├── projectState.json # OpenFn credentials and project metadata ├── adaptor_registry_cache.json # Cached OpenFn adaptor versions └── version.txt ``` -------------------------------- ### New Site assembly.xml Configuration Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md The assembly.xml file for a new site, which is typically identical across sites and defines how the final ZIP artifact is assembled. ```xml zip zip false . ${project.build.directory}/${project.artifactId}-${project.version} ``` -------------------------------- ### Create Backup Directory Source: https://github.com/msf-ocg/lime-emr/blob/main/docs/restic_backup.md Create and set permissions for the local directory where Restic will store backups. ```bash sudo mkdir -p ~/backups/restic_data # Set appropriate permissions sudo chmod 700 ~/backups/restic_data # Change ownership if needed sudo chown $USER:$USER ~/backups/restic_data ``` -------------------------------- ### Restore and Reset Database Scripts Source: https://github.com/msf-ocg/lime-emr/wiki/Go-Live Execute SQL scripts to restore a backup, reset the database, and create users. Ensure correct database credentials and file paths are used. ```bash zcat -v LIME-EMR-Tooling/Backups/Mosul/mosul__20250508_140058.sql.gz | docker exec -i ozone-msf-mosul-mysql-1 /usr/bin/mysql -u root --password='dbpassword' openmrs -v ``` ```bash cat -v LIME-EMR-Tooling/Procedures/Reset\ Database/reset_db.sql | docker exec -i ozone-msf-mosul-mysql-1 /usr/bin/mysql -u openmrs --password='dbpassword' openmrs -v ``` ```bash cat -v LIME-EMR-Tooling/Users/Mosul_Users_202503172205.sql | docker exec -i ozone-msf-mosul-mysql-1 /usr/bin/mysql -u openmrs --password='dbpassword' openmrs -v ``` -------------------------------- ### Create Backup Directory for Restic Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Create and set permissions for the Restic backup directory. Ensure it is owned by the current user. ```bash sudo mkdir -p ~/backups/restic_data sudo chmod 700 ~/backups/restic_data sudo chown $USER:$USER ~/backups/restic_data ``` -------------------------------- ### Encrypt Backup File with GPG Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Encrypt a backup file using GPG. Replace `"Your Name"` with the name associated with your GPG key. ```bash gpg --encrypt --recipient "Your Name" openmrs_backup_20250101.sql.gz ``` -------------------------------- ### Build Bundled Docker Images Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Build bundled Docker images using Maven. Use the `-Pbundled-docker` profile for standard builds and add `-Pproduction` for production tags. ```bash ./scripts/mvnw clean package -Pbundled-docker ``` ```bash ./scripts/mvnw clean package -Pbundled-docker -Pproduction ``` -------------------------------- ### Perform Manual MySQL/MariaDB Backup Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Use this command to create a manual backup of the OpenMRS MySQL/MariaDB database. Ensure you replace `` with your actual database password. ```bash docker exec openmrs-db /usr/bin/mysqldump \ --max_allowed_packet=512M \ -u openmrs --password='' \ openmrs --skip-lock-tables --single-transaction --skip-triggers \ | gzip > openmrs_backup_$(date +%Y%m%d).sql.gz ``` -------------------------------- ### Configuration Inheritance Diagram Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Visual representation of the LIME EMR's three-level configuration inheritance model, showing how Distro, Country, and Site configurations are layered. ```mermaid %%{init: {'theme':'forest'}}%% flowchart TD subgraph Inheritance["Configuration Inheritance"] direction TB OZONE["Ozone HIS (Parent Platform)"] --> DISTRO["Distro: MSF Base Config"] DISTRO --> COUNTRY["Country: e.g., Iraq"] DISTRO --> SITE_A["Site: e.g., Mosul"] DISTRO --> SITE_B["Site: e.g., Matsapha"] DISTRO --> SITE_C["Site: e.g., Bunia"] end subgraph Build["Build & Deploy"] direction TB GH["GitHub Repository"] -->|Maven build| ARTIFACTS["ZIP Artifacts + Docker Images"] ARTIFACTS -->|GitHub Actions deploy| SERVER["Execution Server"] end Inheritance --> Build ``` -------------------------------- ### Run Full Backup Manually Source: https://github.com/msf-ocg/lime-emr/wiki/Backups Execute the full backup script directly from the command line for immediate backup operations. ```bash bash full_backup.sh ``` -------------------------------- ### Build Bundled Docker Images Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Activate the bundled-docker Maven profile to build and push pre-configured Docker images to Docker Hub. This command packages all necessary components for deployment. ```bash ./scripts/mvnw clean package -Pbundled-docker ``` -------------------------------- ### Configure Follow-up Table Columns Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Define the columns for the follow-up table by editing the `obs-table-horizontal-widget` configuration in the frontend config. Add concept UUIDs to the `data` array to specify which concepts to display. ```json "obs-table-horizontal-widget": { "title": "My Follow-up Table", "oldestFirst": true, "editable": true, "encounterTypeToCreateUuid": "", "data": [ {"concept": ""}, {"concept": ""} ] } ``` -------------------------------- ### List Available Restic Snapshots Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Execute this command within the backup container to view a list of all available snapshots for restoration. ```bash docker exec backup restic snapshots ``` -------------------------------- ### Add Custom System Task Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Define custom system tasks by adding rows to the `systemtasks.csv` file located in `configs/openmrs/initializer_config/systemtasks/`. Ensure all required columns are populated. ```csv Uuid,Name,Title,Description,Priority,Default Assignee Role,Rationale a1b2c3d4-e5f6-...,check-wound-dressing,Check wound dressing,Monitoring > Wound Care,Medium,Nurse, ``` -------------------------------- ### Add OCL ZIP to Distribution Configuration Source: https://github.com/msf-ocg/lime-emr/blob/main/docs/content-management.md Place the exported OCL ZIP file in the appropriate configuration directory for the Initializer module to load concepts automatically on OpenMRS startup. ```bash distro/configs/openmrs/initializer_config/ocl/ # for distro-level concepts sites//configs/openmrs/initializer_config/ocl/ # for site-specific concepts ``` -------------------------------- ### Copy Initializer Config with Content-Package Structure in POM Source: https://github.com/msf-ocg/lime-emr/blob/main/setting_up_new_site.md Add an antrun execution in pom.xml to copy initializer_config files, structuring them with the artifact name as a subfolder for correct override order. ```xml Copy local initializer_config with content-package structure process-resources run ``` -------------------------------- ### Restore Manual PostgreSQL Backup Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md This command restores a manual SQL dump to the OpenFn PostgreSQL database. Ensure the backup file `openfn_backup_20250101.sql.gz` exists. ```bash gunzip < openfn_backup_20250101.sql.gz | docker exec -i openfn-postgresql psql -U hello lightning_prod ``` -------------------------------- ### Root pom.xml Module Registration Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Shows how to register a new site module within the root pom.xml file to include it in the multi-module build. ```xml distro countries/iraq sites/mosul sites/matsapha sites/newsite ``` -------------------------------- ### Configure Backup Script Logging Source: https://github.com/msf-ocg/lime-emr/wiki/Backups Redirect the standard output and standard error of the backup and restore scripts to a central log file for monitoring and troubleshooting. ```bash /home/lime/full_backup.sh >> /var/log/backup.log 2>&1 /home/lime/incremental_backup.sh >> /var/log/backup.log 2>&1 /home/lime/restore_backup.sh >> /var/log/backup.log 2>&1 ``` -------------------------------- ### Maven Execution to Copy Distro Resources Source: https://github.com/msf-ocg/lime-emr/blob/main/setting_up_new_site.md This Maven execution configuration is used to copy metadata files from the distro directory to the build output. It allows for excluding specific configuration files and directories that are not needed for the site. ```xml Copy Ozone MSF files process-resources copy-resources ${project.build.directory}/${project.artifactId}-${project.version} true ${project.build.directory}/ozone-msf-distro distro/configs/**/addresshierarchy/*.* distro/configs/**/addresshierarchy/**/*.* distro/configs/**/locations/**/*.* distro/configs/**/idgen/**/*.* distro/configs/**/visittypes/**/*.* distro/configs/**/appointmentservicedefinitions/**/*.* distro/configs/**/appointmentservicetypes/**/*.* distro/ozone-info.json ``` -------------------------------- ### Exclude App from Build Entirely (Distro-Level) Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Exclude a frontend app from the build for all sites by adding it to the `frontendModuleExcludes` array in the `spa-assemble-config.json` file. ```json { "frontendModuleExcludes": [ "@openmrs/esm-some-app" ] } ``` -------------------------------- ### Run All E2E Tests Locally Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Execute all end-to-end tests locally using the yarn command. Ensure your environment variables are correctly set in the .env file. ```bash yarn test:e2e ``` -------------------------------- ### Set Java 8 Environment Variables Source: https://github.com/msf-ocg/lime-emr/blob/main/java8_profile_config.txt Configures the JAVA_HOME and PATH environment variables for Java 8. Ensure the JDK path is correct for your system. ```bash export JAVA_HOME="/Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home" export PATH="$JAVA_HOME/bin:$PATH" ``` -------------------------------- ### Restore Manual MySQL/MariaDB Backup Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md This command restores a manual SQL dump to the OpenMRS database. Ensure the backup file `openmrs_backup_20250101.sql.gz` exists and replace `` if necessary. ```bash gunzip < openmrs_backup_20250101.sql.gz | docker exec -i openmrs-db mysql -u openmrs --password='' openmrs ``` -------------------------------- ### Run Specific E2E Login Tests Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Execute only the end-to-end login tests locally. This is useful for quickly verifying authentication flows. ```bash yarn test:login ``` -------------------------------- ### Runtime Services Diagram Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Diagram illustrating the runtime services of LIME EMR, including OpenMRS, OpenFn, databases, and supporting infrastructure like Traefik and Keycloak. ```mermaid %%{init: {'theme':'forest'}}%% flowchart LR subgraph Services["Runtime Services"] direction TB OPENMRS_BE["OpenMRS Backend (Java 8)"] OPENMRS_FE["OpenMRS Frontend (ESM)"] MYSQL["MySQL"] OPENFN["OpenFn Lightning"] POSTGRES["PostgreSQL"] TRAEFIK["Traefik (SSL)"] KEYCLOAK["Keycloak (OAuth2)"] end OPENMRS_FE -->|REST API| OPENMRS_BE OPENMRS_BE --> MYSQL OPENFN --> POSTGRES OPENFN -->|FHIR / REST| OPENMRS_BE OPENFN -->|Tracker API| DHIS2["DHIS2"] TRAEFIK -->|SSL termination| OPENMRS_FE TRAEFIK --> OPENFN KEYCLOAK -->|OAuth2| OPENMRS_BE ``` -------------------------------- ### Replicate Backup Data with Rsync Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md For ongoing file-level replication of backup data, use `rsync`. This command synchronizes the local backup directory with the remote server, deleting extraneous files on the destination. ```bash rsync -a --delete ~/backups/restic_data/ backup@remote-server:/backups/restic_data/ ``` -------------------------------- ### Set GitHub Authentication Token Source: https://github.com/msf-ocg/lime-emr/wiki/Troubleshooting Export your GitHub fine-grained token as an environment variable to authenticate with private repositories when using scripts like `get_lime.sh`. Replace 'your_github_token_here' with your actual token. ```bash export GITHUB_AUTH_TOKEN=your_github_token_here ``` -------------------------------- ### Run Incremental Backup Manually Source: https://github.com/msf-ocg/lime-emr/wiki/Backups Execute the incremental backup script directly from the command line for immediate incremental backup operations. ```bash bash incremental_backup.sh ``` -------------------------------- ### OpenMRS Docker Compose Configuration Source: https://github.com/msf-ocg/lime-emr/blob/main/scripts/docker-compose-files.txt Sets up the OpenMRS service, including its database and application configurations. It typically extends common configurations. ```yaml services: openmrs: image: openmrs/openmrs-reference-app:latest container_name: openmrs ports: - "8080:8080" depends_on: - postgres environment: DB_HOST: postgres DB_PORT: 5432 DB_NAME: emr DB_USER: emr DB_PASSWORD: emr ``` -------------------------------- ### Backup Docker Compose Configuration Source: https://github.com/msf-ocg/lime-emr/blob/main/scripts/docker-compose-files.txt Configures the backup service, likely for database or application data. This file specifies the services required for performing backups. ```yaml services: backup: image: ubuntu:latest container_name: backup volumes: - ./backup-scripts:/scripts command: /bin/bash /scripts/backup.sh ``` -------------------------------- ### Maven GitHub Packages Credentials Source: https://github.com/msf-ocg/lime-emr/blob/main/README.md Configure your Maven settings to authenticate with GitHub Packages. Replace YOUR_GITHUB_USERNAME and YOUR_GITHUB_TOKEN with your actual credentials. ```xml msf-ocg-github-lime-emr YOUR_GITHUB_USERNAME YOUR_GITHUB_TOKEN ```