Files
computer-playbook/roles/sys-svc-webserver-core
Kevin Veen-Birkenbach 26a1992d84 Nextcloud/Talk: add Janus config & fix WebSocket proxying
Nginx: define 'map $http_upgrade $connection_upgrade' once in http{} and reuse; drop duplicate map from ws_generic vhost; tidy ws location headers/spacing. Nextcloud: add WS location for standalone signaling; render & mount Janus config (NAT 1:1, ICE enforce/ignore lists, libnice hardening); extend CSP (connect-src/frame-src for cloud & collabora, worker-src blob:); disable keeporsweep app; replace nginx reload handler with compose up; add NEXTCLOUD_HOST_JANUS_CONF_PATH and related vars.

Context: https://chatgpt.com/share/68db9f41-16ec-800f-9cdf-7530862f89aa
2025-09-30 11:14:15 +02:00
..

Webserver

This Ansible role installs and configures Nginx as a core HTTP/stream server on Arch Linux systems. It provides:

  • HTTP serving with MIME types, gzip compression, caching, and custom nginx.conf templating.
  • TCP/UDP stream support via the Nginx Streams module.
  • Directory management for configuration, sites-available/enabled, cache, and data.
  • Debugging helpers: log formats and instructions for general and detailed troubleshooting.

Features

  • Package installation of nginx and nginx-mod-stream.
  • Idempotent setup: tasks run only once per host.
  • Configurable reset and cleanup modes to purge and recreate directories.
  • Custom nginx.conf template with sensible defaults for performance and security.
  • Stream proxy support: includes stream block for TCP/UDP proxies.
  • Cache directory management: cleanup and recreation based on MODE_CLEANUP.

Debugging Tips

  • General logs: journalctl -f -u nginx
  • Filter by host: journalctl -u nginx -f | grep "{{ inventory_hostname }}"
  • Enable detailed format: set MODE_DEBUG: true and reload Nginx.