Skip to content

Nginx Proxy Manager

Nginx Proxy Manager (NPM) is a GUI-based reverse proxy built on nginx. It is a common homelab choice because it manages Let’s Encrypt certificates automatically.

NPM automatically forwards X-Forwarded-Proto, X-Forwarded-For, and Host to all proxy hosts, satisfying calit’s secure-cookie requirement.

In the NPM web UI, go to Hosts → Proxy Hosts → Add Proxy Host.

FieldValue
Domain NamesYour public hostname, e.g. book.example.com
Schemehttp
Forward Hostname / IPThe hostname or IP of the calit container (e.g. calit-app if on the same Docker network, or 127.0.0.1 if on the same host)
Forward Port8080
Block Common ExploitsEnable
Websockets SupportNot required — leave disabled
FieldValue
SSL CertificateRequest a new Let’s Encrypt certificate
Force SSLEnable
HTTP/2 SupportEnable

Save the host. NPM will obtain the certificate and activate the proxy.

In calit’s .env, set:

APP_BASE_URL=https://book.example.com

Browse to https://book.example.com. Log in and confirm the session cookie carries the Secure attribute (browser DevTools → Application → Cookies). NPM’s automatic header forwarding ensures X-Forwarded-Proto: https reaches calit, which sets the flag correctly.