Kevin Veen-Birkenbach c729edb525
Refactor async task handling
- Standardize async/poll usage with 'ASYNC_ENABLED | bool'
- Add async/poll parameters to Cloudflare, Nginx, Mailu, MIG, Nextcloud, and OpenLDAP tasks
- Update async configuration in 'group_vars/all/00_general.yml' to ensure boolean evaluation
- Allow CAA, cache, and DNS tasks to run asynchronously when enabled

https://chatgpt.com/share/689cd8cc-7fbc-800f-bd06-a667561573bf
2025-08-13 21:56:26 +02:00
..
2025-08-13 00:33:47 +02:00
2025-08-13 21:56:26 +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.