mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-09 12:17:13 +00:00
# Conflicts: # roles/web-app-akaunting/TODO.md # roles/web-app-friendica/meta/volumes.yml # roles/web-app-fusiondirectory/TODO.md # roles/web-app-keycloak/TODO.md # roles/web-app-lam/meta/volumes.yml # roles/web-app-phpmyadmin/meta/volumes.yml # roles/web-app-pixelfed/meta/volumes.yml # scripts/docker/cache/package.sh
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 sys-svc-webserver-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-keycloak's SSO-proxy sidecar is present.
- Modular includes: headers, locations, and global snippets are factored for easy extension.