Files
computer-playbook/roles/sys-svc-webserver
Kevin Veen-Birkenbach 9ba0efc1a1 Refactor resource configuration:
- Introduce new resource_filter plugin (mandatory hard_default, auto entity_name fallback)
- Replace get_app_conf calls with resource_filter in resource.yml.j2
- Add WEBSERVER_CPUS_EFFECTIVE, WEBSERVER_WORKER_PROCESSES, WEBSERVER_WORKER_CONNECTIONS to 05_webserver.yml
- Update Nginx templates (sys-svc-webserver, web-app-magento, web-app-nextcloud) to use new vars
- Extend svc-prx-openresty config with cpus/mem limits
- Add unit tests for resource_filter

Details: https://chatgpt.com/share/68d3a493-9a5c-800f-8cd2-bd2e7a3e3fda
2025-09-24 09:58:30 +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.