MongoDB and Mongo Express
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:
27017inside 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
backendmembership and service namemongodb.