From b8dc8d2c3c99010c68c032736014478415027a58 Mon Sep 17 00:00:00 2001 From: RocketQuack <202538874+Rocket-Quack@users.noreply.github.com> Date: Thu, 29 Jan 2026 19:57:40 +0100 Subject: [PATCH] docs: split docs, variables for usage of traefik or nginx-proxy --- docs/02-setup/04-env-variables.md | 37 +++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/docs/02-setup/04-env-variables.md b/docs/02-setup/04-env-variables.md index a9c73a8a..54ed2956 100644 --- a/docs/02-setup/04-env-variables.md +++ b/docs/02-setup/04-env-variables.md @@ -43,12 +43,14 @@ Then edit `.env` and set variables according to your needs. --- -## HTTPS & SSL Configuration +## Reverse Proxy and SSL (HTTPS) Configuration -| Variable | Purpose | Default | When to Set | -| ------------------- | ------------------------------------------------------------- | ------- | ---------------------------------------- | -| `LETSENCRYPT_EMAIL` | Email for Let's Encrypt certificate registration | — | Required if using HTTPS override | -| `SITES_RULE` | List of domains for SSL (Traefik rule for TLS domain routing) | — | Required if using reverse proxy override | +### Traefik (compose.proxy.yaml / compose.https.yaml) + +| Variable | Purpose | Default | When to Set | +| ------------------- | ------------------------------------------------ | ------- | -------------------------------------------- | +| `LETSENCRYPT_EMAIL` | Email for Let's Encrypt certificate registration | - | Required for `compose.https.yaml` | +| `SITES_RULE` | Domains for routing (Traefik rule expression) | - | Required for Traefik routing/HTTPS overrides | **Format for `SITES_RULE`:** @@ -63,6 +65,28 @@ SITES_RULE=Host(`a.example.com`) || Host(`b.example.com`) > Note: The Traefik v3 migration is complete. Use `SITES_RULE` as a full v3 rule expression; `SITES` is deprecated. > Rule syntax now defaults to v3, so no `core.defaultRuleSyntax` or per-router `ruleSyntax` settings are required. +### nginx-proxy + acme-companion (compose.nginxproxy\*.yaml) + +| Variable | Purpose | Default | When to Set | +| ------------------- | ----------------------------------------- | ------- | ------------------------------------------ | +| `LETSENCRYPT_EMAIL` | Email for Let's Encrypt certificate | - | Required for `compose.nginxproxy-ssl.yaml` | +| `NGINX_PROXY_HOSTS` | Comma-separated hostnames for nginx-proxy | - | Required for `compose.nginxproxy*.yaml` | + +**Example:** + +```bash +NGINX_PROXY_HOSTS=example.com,www.example.com +``` + +> Note: Automatic certificates require port 80 to be reachable (HTTP-01). + +### Published Ports (Traefik and nginx-proxy) + +| Variable | Purpose | Default | When to Set | +| -------------------- | -------------------- | ------------------------------- | ---------------------------- | +| `HTTP_PUBLISH_PORT` | Published HTTP port | `80` (proxy) / `8080` (noproxy) | Change if port is in use | +| `HTTPS_PUBLISH_PORT` | Published HTTPS port | `443` | Change if port 443 is in use | + --- ## Site Configuration @@ -94,13 +118,12 @@ If your site is named `example.com` and you access it via that domain, no need t --- -## Nginx Proxy Configuration +## Frontend Nginx Configuration (inside the frontend container) | Variable | Purpose | Default | Allowed Values | | ---------------------- | ---------------------------------- | -------------- | -------------------------------------------- | | `BACKEND` | Backend service address and port | `0.0.0.0:8000` | `{host}:{port}` | | `SOCKETIO` | Socket.IO service address and port | `0.0.0.0:9000` | `{host}:{port}` | -| `HTTP_PUBLISH_PORT` | Published HTTP port | `8080` | Any available port | | `PROXY_READ_TIMEOUT` | Upstream request timeout | `120s` | Any nginx timeout value (e.g., `300s`, `5m`) | | `CLIENT_MAX_BODY_SIZE` | Maximum upload file size | `50m` | Any nginx size value (e.g., `100m`, `1g`) |