diff --git a/README.md b/README.md index 0789a04..64ac8be 100644 --- a/README.md +++ b/README.md @@ -1173,8 +1173,8 @@ services: environment: # Enable Docker provider for automatic container discovery CADDY_INGRESS_NETWORKS: caddy - # Cloudflare API token for DNS challenge (wildcard certificates) - CLOUDFLARE_API_TOKEN: ${CLOUDFLARE_API_TOKEN} + # Vultr API token for DNS challenge (wildcard certificates) + VULTR_API_TOKEN: ${VULTR_API_TOKEN} networks: - caddy volumes: @@ -1184,7 +1184,7 @@ services: restart: unless-stopped labels: # Global TLS configuration for wildcard certificates - caddy.tls.dns: cloudflare + caddy.tls.dns: vultr mcmqtt: image: python:3.11-slim @@ -1213,7 +1213,7 @@ services: labels: caddy: mqtt-dashboard.yourdomain.com caddy.reverse_proxy: "{{upstreams 80}}" - caddy.tls.dns: cloudflare + caddy.tls.dns: vultr networks: caddy: @@ -1232,8 +1232,8 @@ volumes: # .env file COMPOSE_PROJECT_NAME=mcmqtt-production -# Cloudflare DNS challenge for wildcard certificates -CLOUDFLARE_API_TOKEN=your_cloudflare_global_api_key_here +# Vultr DNS challenge for wildcard certificates +VULTR_API_TOKEN=your_vultr_api_key_here # Domain configuration DOMAIN=yourdomain.com @@ -1252,7 +1252,7 @@ docker volume create caddy_config # 2. Configure environment variables cp .env.example .env -# Edit .env with your domain and Cloudflare token +# Edit .env with your domain and Vultr token # 3. Deploy the stack docker compose up -d @@ -1286,7 +1286,7 @@ docker run -d \ --label "caddy.reverse_proxy={{upstreams 1883}}" \ --label "caddy.handle_path=/ws" \ --label "caddy.handle_path.reverse_proxy={{upstreams 9001}}" \ - --label "caddy.tls.dns=cloudflare" \ + --label "caddy.tls.dns=vultr" \ python:3.11-slim uvx amqtt # 3. caddy-docker-proxy automatically detects the new container @@ -1297,7 +1297,7 @@ docker run -d \ # reverse_proxy mqtt-broker-customer-acme-prod:9001 # } # tls { -# dns cloudflare +# dns vultr # } # } @@ -1310,9 +1310,9 @@ docker run -d \ git clone https://github.com/your-org/mcmqtt-production-stack cd mcmqtt-production-stack -# Configure your domain and Cloudflare +# Configure your domain and Vultr DNS cp .env.example .env -# Edit .env with your settings +# Edit .env with your domain and Vultr API token # Deploy production stack make deploy @@ -1354,7 +1354,7 @@ uvx mcmqtt --transport http-streamable --hostname mqtt-control.yourdomain.com ```docker --label "caddy=${HOSTNAME}" --label "caddy.reverse_proxy={{upstreams ${PORT}}}" - --label "caddy.tls.dns=cloudflare" # If CLOUDFLARE_API_TOKEN detected + --label "caddy.tls.dns=vultr" # If VULTR_API_TOKEN detected --label "caddy.handle_path=/ws" # For WebSocket support ``` 3. **Configures FastMCP server for streaming responses** @@ -1364,7 +1364,7 @@ uvx mcmqtt --transport http-streamable --hostname mqtt-control.yourdomain.com ```bash # mcmqtt detects these environment variables: CADDY_NETWORK=caddy # Join caddy network automatically -CLOUDFLARE_API_TOKEN=xxx # Enable DNS challenge for wildcard certs +VULTR_API_TOKEN=xxx # Enable DNS challenge for wildcard certs DOMAIN=yourdomain.com # Use as base domain for spawned brokers SSL_EMAIL=admin@yourdomain.com # Let's Encrypt certificate email @@ -1384,7 +1384,7 @@ services: environment: - DOMAIN=${DOMAIN} - CADDY_NETWORK=caddy - - CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN} + - VULTR_API_TOKEN=${VULTR_API_TOKEN} # No manual labels needed - all automatic! ``` @@ -1426,7 +1426,7 @@ docker run -d \ --label "caddy.reverse_proxy={{upstreams 1883}}" \ --label "caddy.handle_path=/ws" \ --label "caddy.handle_path.reverse_proxy={{upstreams 9001}}" \ - --label "caddy.tls.dns=cloudflare" \ + --label "caddy.tls.dns=vultr" \ python:3.11-slim uvx amqtt # caddy-docker-proxy immediately detects container @@ -1437,7 +1437,7 @@ docker run -d \ # reverse_proxy mqtt-broker-customer-acme:9001 # } # tls { -# dns cloudflare +# dns vultr # } # } @@ -1498,9 +1498,9 @@ wss://customer-acme.mqtt.yourapp.com/ws # WebSocket from browsers **Production Security Features:** - 🔒 **Automatic HTTPS/TLS encryption** via Let's Encrypt -- 🛡️ **DDoS protection** via Cloudflare/Caddy +- 🛡️ **DDoS protection** via Vultr/Caddy - 🔑 **Authentication** built into MQTT broker -- 🌐 **Global CDN** if using Cloudflare +- 🌐 **Global CDN** if using Vultr - 📊 **Request logging & monitoring** via Caddy - ⚡ **Rate limiting** and traffic shaping - 🔄 **Automatic failover** with health checks @@ -1729,8 +1729,8 @@ This isn't just exposing existing services - it's **spawning infrastructure with ```caddyfile # Global options for wildcard certificate management { - # Cloudflare DNS challenge for wildcard certs - acme_dns cloudflare {env.CLOUDFLARE_API_TOKEN} + # Vultr DNS challenge for wildcard certs + acme_dns vultr {env.VULTR_API_TOKEN} } # Wildcard certificate covers all subdomains @@ -1770,7 +1770,7 @@ This isn't just exposing existing services - it's **spawning infrastructure with # Automatic certificate for *.mqtt.yourdomain.com tls { - dns cloudflare {env.CLOUDFLARE_API_TOKEN} + dns vultr {env.VULTR_API_TOKEN} wildcard } }