Skip to content

MongoDB and Mongo Express

MongoDB logo

Overview

Field Value
Purpose Document database with web administration UI
Business function Persistent data for document-oriented applications
Owner IT Operations
Criticality High
Images mongo:latest, mongo-express:latest
UI route mongodb.kh3group.com

Architecture

MongoDB runs only on backend. Mongo Express joins backend to reach it and aproxy for Traefik ingress. MeshCentral also uses MongoDB storage.

Installation

Docker Compose at /root/mongodb/docker-compose.yml.

Configuration

  • Database: /root/mongodb/data/database:/data/db
  • Additional Docker volume: /data/configdb
  • MongoDB port: 27017 inside Docker
  • Restart policy: always
  • Environment includes root username and password variables

Operational Procedures

cd /root/mongodb
docker compose logs --tail=200 mongodb mongo-express
docker exec mongodb mongosh --eval 'db.adminCommand({ ping: 1 })'
docker compose restart mongodb mongo-express
docker compose pull
docker compose up -d

Use mongodump and mongorestore for logical backup and recovery. Pin tested image versions instead of relying indefinitely on latest.

Troubleshooting

  • UI unavailable with database healthy: check Mongo Express credentials, route, and aproxy.
  • Database unavailable: check /root/mongodb/data/database, permissions, capacity, and logs.
  • Client failure: confirm backend membership and service name mongodb.