mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-30 23:38:13 +02:00
- Renamed all Readme.md → README.md - Renamed all Todo.md → TODO.md - Added integration test (tests/integration/test_filename_conventions.py) to automatically check naming convention. Background: Consistency in file naming (uppercase README.md and TODO.md) avoids issues with case-sensitive filesystems and ensures desktop cards (e.g. Pretix) are properly included. Ref: https://chatgpt.com/share/68b1d135-c688-800f-9441-46a3cbfee175
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
andnginx-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.