All apps · 0 apps
MeshCore-Self-Hosted
Docker app from lalexfrank's Repository
Overview
Readme
View on GitHubMeshCore Self-Hosted
Self-hosted Docker container for the MeshCore web application.
Automatically downloads the latest MeshCore web release on startup and checks for updates daily.
Quick Start
docker-compose up -d
Access at http://localhost:7171
Connection Methods
USB (No HTTPS required)
Plug your MeshCore companion radio into your Unraid server via USB and connect directly in Chrome/Edge over HTTP. This is the simplest setup and works without any additional configuration.
Bluetooth (HTTPS required)
Bluetooth requires a secure context (HTTPS) in the browser. You must put this container behind a reverse proxy with a valid SSL certificate. Options:
- Cloudflare Tunnel — Easiest. Create a tunnel pointing to
localhost:7171and you get HTTPS automatically with no port forwarding needed. - Nginx Proxy Manager — GUI-based reverse proxy, available in Unraid Community Applications.
- Caddy — Minimal config, auto-handles Let's Encrypt certificates.
Browser Compatibility
- Chrome / Edge — Works out of the box.
- Brave — Web Bluetooth is disabled by default. Go to
brave://flags/#enable-web-bluetooth, set to Enabled, and restart. - Safari / Firefox — Not supported. Web Bluetooth is not available in these browsers.
Note: Your MeshCore companion radio must be flashed with BLE companion firmware to use Bluetooth. USB serial and BLE are separate firmware builds — you can only use one at a time.
Environment Variables
| Variable | Default | Description |
|---|---|---|
TZ |
UTC |
Timezone |
MESHCORE_BASE_URL |
https://files.liamcottle.net/MeshCore |
Base URL for releases |
MESHCORE_VERSION |
(latest) | Pin to a specific version e.g. v1.43.0. If set, auto-updates are disabled. |
UPDATE_INTERVAL |
86400 |
How often to check for updates in seconds (default: 24 hours) |
Auto-Updates
The container checks for a new MeshCore release every UPDATE_INTERVAL seconds. When a new version is found it downloads and replaces the web files in place — nginx serves the new version immediately without a restart.
To disable auto-updates, pin to a specific version using MESHCORE_VERSION.
Unraid
Set container port 80 to your desired host port (e.g. 7171).
Map /app/data to a persistent path (e.g. /mnt/user/appdata/meshcore-selfhosted) to cache downloads. On restart the container will use the cached version instantly and only download again when a new release is available. If no cache exists or the server is unreachable, it falls back gracefully.
Install MeshCore-Self-Hosted on Unraid in a few clicks.
Find MeshCore-Self-Hosted in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/lalexfrank/meshcore-selfhosted:latestRuntime arguments
- Web UI
http://[IP]:[PORT:80]/- Network
bridge- Shell
sh- Privileged
- false
Template configuration
Port to access the MeshCore web interface
- Target
- 80
- Default
- 7171
- Value
- 7171
Timezone for container logs e.g. America/Chicago, America/New_York, Europe/London
- Target
- TZ
- Default
- America/Chicago
- Value
- America/Chicago
How often to check for MeshCore updates in seconds. Default is 86400 (24 hours).
- Target
- UPDATE_INTERVAL
- Default
- 86400
- Value
- 86400
Pin to a specific MeshCore version e.g. v1.43.0. Leave blank to always use the latest version. When set, auto-updates are disabled.
- Target
- MESHCORE_VERSION
Base URL for MeshCore releases. Do not change unless you know what you are doing.
- Target
- MESHCORE_BASE_URL
- Default
- https://files.liamcottle.net/MeshCore
- Value
- https://files.liamcottle.net/MeshCore
Persistent storage for cached downloads and version tracking.
- Target
- /app/data
- Default
- /mnt/user/appdata/meshcore-selfhosted
- Value
- /mnt/user/appdata/meshcore-selfhosted