Configuration

Complete list of configuration options.

Millau Environment Variables

  • LOGGING: logging level, optional, INFO by default.
  • HTTP: HTTP port for incoming traffic, optional, 80 by default.
  • HTTPS: HTTPS port for incoming traffic, optional, 443 by default.
  • LICENSE: Millau license key, optional.

Millau Logging Levels

  • FATAL: indicates an unrecoverable error; the process will exit.
  • ERROR: indicates a proxy failure; the process continues running.
  • WARN: indicates client or microservice misbehavior; the process continues running.
  • INFO: indicates normal functional behavior. Default level.
  • DEBUG: indicates step‑by‑step functional behavior.
services:
  proxy:
    image: codelev/millau:latest
     environment:
       - LOGGING=DEBUG
     ...

Millau HTTP and HTTPS Ports

By default, the HTTP and HTTPS ports are 80 and 443. You can change them as follows:

services:
  proxy:
    image: codelev/millau:latest
     environment:
       - HTTP=8080
       - HTTPS=8443
     ...

Service Labels

  • millau.enabled: enables proxying if set to true.
  • millau.port: service port, required.
  • millau.hosts: space-separated hostnames (domain names), optional, any * by default.
  • millau.path: path portion of the URL starting with /, optional, / by default.
  • millau.timeout: failover timeout in seconds, optional, 30 by default.
  • millau.retry: failover period in seconds, optional, 60 by default.
  • millau.key: TLS private key encoded in base64, optional.
  • millau.cert: TLS public key encoded in base64, optional.

Path Matching

The matching logic selects the services whose millau.path label matches the beginning of the request path. It prioritizes:

  1. Specific path rules matches only that exact file.
  2. Exact or longest prefix matches.
  3. Handling of trailing slashes and partial matches.

Examples

ConfiguredRequestedSelected
/api/ //api//api/
/api/ //api/
/api/ //file.html/
/api/ //api/x/api/
/api/ //api/x//api/
/api/ //api/x/file.html/api/
/api/ / /file.html/file.html/file.html
/file /api/ / /file/file.html/file /file
/api/ / /file /file.html/file.html/file.html
/api/ / /api//api//api/ /api/