Update README

This commit is contained in:
Ben Meadors
2025-04-16 09:41:18 -05:00
parent 6283f6e695
commit a735b04a64

View File

@@ -1,14 +1,18 @@
# Meshtastic MQTT Broker Boilerplate
This project provides an MQTT broker boilerplate specifically designed for Meshtastic device networks. It handles encrypted mesh packets, validates messages, and can be configured to run with or without SSL.
This project provides an MQTT broker boilerplate specifically designed for Meshtastic mesh networks. It handles encrypted mesh packets, validates messages, and can be configured to run with SSL.
## Features
- MQTT server implementation for Meshtastic devices
- Support for encrypted mesh packet handling and validation
- Allows for more precise access control than Mosquito ACLs
- Support for encrypted mesh packet handling and validation
- Support for validating client connections and subscriptions
- SSL support for secure MQTT connections
- Configurable logging with Serilog
- Packet filtering and validation logic
- Built using C# / .NET 9.0 with [MQTTnet](https://github.com/dotnet/MQTTnet)
- Multi-platform support
- Can be easily be packaged to run as a [portable standalone binary](https://learn.microsoft.com/en-us/dotnet/core/deploying/single-file/overview?tabs=cli)
- Configurable logging with [Serilog](https://serilog.net/)
## Docker Setup
@@ -49,23 +53,21 @@ services:
mqtt-broker:
build: .
ports:
- "1883:1883" # Standard MQTT port
# - "8883:8883" # SSL port (uncomment if using SSL)
# environment:
# - SSL=true # Uncomment to enable SSL
# volumes:
# - ./certificate.pfx:/app/certificate.pfx # Mount certificate if using SSL
- "8883:8883"
volumes:
- ./certificate.pfx:/app/certificate.pfx
restart: unless-stopped
```
## Configuration Options
- **SSL**: Set environment variable `SSL=true` to enable SSL mode
- **Certificate**: Mount your PFX certificate file to `/app/certificate.pfx` in the container
- **Ports**: The application uses port 1883 for standard MQTT and 8883 for SSL MQTT
- **Ports**: The application uses 8883 for SSL MQTT (default) and port 1883 for standard MQTT
## Troubleshooting
- Ensure proper network access to the Docker container
- Check that certificates are correctly formatted (for SSL mode)
- Check that certificates are correctly formatted
- Review logs using `docker logs [container-id]`