Docker Compose-based infrastructure for the IPNet Mesh network, providing reverse proxy, MQTT messaging, and web services.
This repository contains the containerized infrastructure components for IPNet Mesh:
- Traefik: Reverse proxy , load balancer and authorisation platform with automatic HTTPS
- Mosquitto: MQTT message broker with WebSocket support
- Hub Backend: MeshCore Hub Collector, API and Web frontend
- Docker and Docker Compose
- Cloudflare account with DNS API access
- Domain configured to use Cloudflare DNS
Configure environment variables for Traefik:
export ROOT_DOMAIN="ipnt.uk"
export CF_API_EMAIL="your-cloudflare-email@example.com"
export CF_DNS_API_TOKEN="your-cloudflare-dns-token"
export ACME_EMAIL="your-email@example.com"Set up Mosquitto authentication:
cd
cp config/mosquitto/acl.conf.example config/mosquitto/acl.conf
cp config/mosquitto/passwd.example config/mosquitto/passwd
# Edit passwd file with your MQTT usersdocker network create proxy
docker volume create acme# Start all services
docker compose up -d# Stop all services
docker compose downThe infrastructure is configured for these domains:
- Website:
ipnt.uk,beta.ipnt.uk,alpha.ipnt.uk - MQTT:
mqtt.ipnt.uk
| Variable | Description | Required |
|---|---|---|
CF_API_EMAIL |
Cloudflare account email | Yes |
CF_DNS_API_TOKEN |
Cloudflare DNS API token | Yes |
ACME_EMAIL |
Email for Let's Encrypt certificates | Yes |
- Host:
mqtt.ipnt.uk - TLS Port: 8883 (MQTT over TLS)
- WebSocket URL:
wss://mqtt.ipnt.uk/mqtt - Authentication: Required (configured in
passwdfile)