2.6 KiB
Telegram WEB proxy runbook
Components
| Component | Name | Purpose |
|---|---|---|
| Container | tg-web-proxy |
Runs MTProxy, tproxy-server and ingress |
| Docker volume | tg_webproxy_data |
Stores generated secrets and runtime data |
| Ingress port | 8088 |
Receives HTTP and WebSocket traffic from NPM |
No Docker host port is published. Nginx Proxy Manager and the proxy container must share the external Docker network selected during installation.
Nginx Proxy Manager
Create a Proxy Host using the values printed by install.sh:
| Field | Value |
|---|---|
| Domain Names | the hostname entered during installation |
| Scheme | http |
| Forward Hostname / IP | tg-web-proxy |
| Forward Port | 8088 |
| Websockets Support | enabled |
| Force SSL | enabled |
| HTTP/2 Support | enabled |
| Certificate | a valid certificate for the selected hostname |
Expected responses
| Request | Expected result |
|---|---|
Plain GET / |
HTTP 200 and the small fallback page |
Authenticated GET /?bridge=... |
bridge page with Cache-Control: no-store |
| Carrier API and WebSocket paths | proxied to tproxy-server |
Wrong Host header |
HTTP 421 |
Never paste a bridge capability into tickets, logs or monitoring labels. It is derived from the client secret and must be treated as sensitive.
Health checks
- Confirm that
tg-web-proxyis running and healthy. - Request the public root over HTTPS and expect HTTP 200.
- Confirm that the TLS certificate validates and HTTP redirects to HTTPS.
- Validate an authenticated bridge request from a trusted diagnostic process without printing or persisting the complete URL.
- Confirm that a WebSocket upgrade reaches the relay. An invalid test token may be rejected, but it must not return the public fallback page.
Updating
Pull the reviewed repository revision and run ./install.sh again. Docker builds
the new image before replacing the running container. Keep the named volume so
the client secret remains stable.
Rollback
Keep the previously built image until the new deployment passes every health
check. To roll back, restore the previous Compose revision and start it with the
same .env and named volume. Do not recreate the volume during rollback.
Secret handling
- Keep management-system access tokens short lived and revoke them after use.
- Keep
client-secret,profiles.json, bridge URLs and MTProxy secret files out of Git. - The generated
.envis for non-secret deployment settings only. - Never attach a volume export or management-system backup to a public issue.