Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MeshCentral Docker

A production-ready Docker Compose stack for self-hosting MeshCentral — a full web-based remote monitoring and management platform.

With MeshCentral you can remotely access, control, and manage Windows, Linux, macOS, FreeBSD, and Android devices from any browser, with no plugins required. Once the server is running and an agent is installed on a target device, that device appears in the portal within seconds and you can open a remote desktop, terminal, or file manager session.

Official image: ghcr.io/ylianst/meshcentral — source: Ylianst/MeshCentral


What Is Included

File Purpose
docker-compose.yml MeshCentral and MongoDB services, volumes, networks, and healthchecks
meshcentral_env Environment variable template — copy to .env and fill in before starting
docs/installation.md Step-by-step guide from zero to first login
docs/meshcentral.md Full reference for ports, volumes, env vars, NPM settings, and troubleshooting

Features

  • Official MeshCentral image from ghcr.io/ylianst/meshcentral:latest-mongodb
  • MongoDB 7.0 backend — supports unlimited devices
  • MongoDB isolated on an internal Docker network, never exposed to the host
  • Healthchecks on both services so MeshCentral only starts after MongoDB is ready
  • All data persisted in named Docker volumes
  • Ready to sit behind Nginx Proxy Manager with a single proxy host entry
  • Full .env template covering every configuration variable from the official docs
  • Critical NPM notes included (WebSocket required, HTTP/2 must be disabled)

Requirements

  • Docker CE and the Docker Compose plugin installed and running
  • A user account with sudo privileges
  • A domain name or public IP for the server
  • Ports 80 and 443 reachable from the internet (for remote access outside your LAN)
  • Nginx Proxy Manager already running (if using a reverse proxy)

If you do not have Docker installed, the docker_installs script sets it up in one command.


Quick Start

# 1. Clone this repository
git clone https://github.com/aiagentaut0mati0n2026/meshcentral_docker.git
cd meshcentral_docker

# 2. Copy the environment template and fill in your values
cp meshcentral_env .env
nano .env   # set HOSTNAME, MONGO_PASS, and REVERSE_PROXY

# 3. Start the stack
sudo docker compose up -d

# 4. Open your browser and create your admin account
# https://<your-server-ip>:4430

For the full step-by-step setup including Nginx Proxy Manager configuration, agent installation, and post-install hardening, see docs/installation.md.


Ports

Port Purpose
4430 MeshCentral HTTPS (maps from container port 443)
8080 HTTP redirect (maps from container port 80)
4433 Intel AMT — commented out by default, uncomment if needed

When running behind Nginx Proxy Manager, only the proxy host entry on port 443 needs to be open externally. NPM forwards to MeshCentral's internal port 443 by container name.


Data Locations

All data is stored in named Docker volumes.

Volume Purpose
meshcentral-data config.json, TLS certificates, session keys — back this up
meshcentral-files User file uploads and device file transfers
meshcentral-web Custom themes and branding
meshcentral-backups Automated MeshCentral backups
meshcentral-db MongoDB data directory

Image Variants

Choose the tag that matches your database setup. Default in this stack is latest-mongodb.

Tag Database Use case
latest All backends Full flexibility, largest image
latest-slim None (NeDB local) Under 100 devices only
latest-mongodb MongoDB Recommended for most self-hosted installs
latest-postgresql PostgreSQL If you already run PostgreSQL
latest-mysql MariaDB/MySQL If you already run MariaDB/MySQL
1.1.59-mongodb MongoDB Pinned version for production stability

To pin to a specific version, edit the image: line in docker-compose.yml.


Documentation


Security Notes

  • Set ALLOW_NEW_ACCOUNTS=false in .env after creating your admin account.
  • MongoDB has no exposed host port. It is only reachable from within the internal Docker network.
  • Back up the meshcentral-data volume regularly. It contains your TLS certificates and server configuration.
  • Never commit your .env file to a public repository — it contains your database password.
  • Enable two-factor authentication for your admin account after first login.

License

MeshCentral is licensed under Apache 2.0 by Ylian Saint-Hilaire and the MeshCentral community.

This Docker Compose configuration is offered free of charge and without warranty. You are free to use and modify it in any way.

About

Production-ready Docker Compose stack for self-hostng MeshCentral — web-based remote desktop, terminal,and device management with MongoDB backend

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors