Nginx Docker Reverse Proxy ๐Ÿš€ยถ

Descriptionยถ

This Ansible role deploys Nginx as a high-performance reverse proxy in front of Docker-hosted services.
It provides automatic TLS integration, WebSocket support, and a flexible templating system for per-application configuration.

Overviewยถ

Optimised for Arch Linux, the role installs Nginx, prepares opinionated configuration snippets and exposes a simple interface for other roles to drop in new virtual-hosts.
It plays well with Letโ€™s Encrypt, OAuth2 Proxy, and your existing Docker stack.

Purposeยถ

The goal of this role is to deliver a hassle-free, production-ready reverse proxy for self-hosted containers, suitable for homelabs and small-scale production workloads.

Featuresยถ

  • Automatic TLS & HSTS โ€” integrates with the srv-web-7-6-https role for certificate management.

  • Flexible vHost templates โ€” basic and ws_generic flavours cover standard HTTP and WebSocket applications.

  • Security headers โ€” sensible defaults plus optional X-Frame-Options / CSP based on application settings.

  • WebSocket & HTTP/2 aware โ€” upgrades, keep-alive tuning, and gzip already configured.

  • OAuth2 gating โ€” drop-in support when web-app-oauth2-proxy is present.

  • Modular includes โ€” headers, locations, and global snippets are factored for easy extension.

Credits ๐Ÿ“ยถ

Developed and maintained by Kevin Veen-Birkenbach.
More at https://www.veen.world

Part of the CyMaIS Project โ€” licensed under the CyMaIS NonCommercial License (CNCL)