- Normalize domain blocks across apps: - Add explicit 'aliases: []' everywhere (no implicit aliases) - Standardize canonical subdomains for consistency: * Bluesky: web/api under *.bluesky.<PRIMARY_DOMAIN> * EspoCRM: espo.crm.<PRIMARY_DOMAIN> * Gitea: tea.git.<PRIMARY_DOMAIN> * GitLab: lab.git.<PRIMARY_DOMAIN> * Joomla: joomla.cms.<PRIMARY_DOMAIN> * Magento: magento.shop.<PRIMARY_DOMAIN> * OpenProject: open.project.<PRIMARY_DOMAIN> * Pretix: ticket.shop.<PRIMARY_DOMAIN> * Taiga: kanban.project.<PRIMARY_DOMAIN> - Remove legacy/duplicate aliases and use empty list instead - Fix 'alias' -> 'aliases' where applicable Context: preparing for AUTO_BUILD_ALIASES=False and deterministic redirect mapping. Ref: conversation https://chatgpt.com/share/68cd512c-c878-800f-bdf2-81737adf7e0e
Nginx Static HTML Server
🔥 Description
This role configures an Nginx server to host a static HTML homepage securely over HTTPS. It automates domain configuration, SSL/TLS certificate retrieval using Let's Encrypt, and ensures your site is ready for production with minimal setup.
📖 Overview
Optimized for Archlinux environments, this role provides a lightweight, reliable solution for serving static websites. It automatically configures Nginx to serve files from a predefined directory, sets up secure HTTPS connections, and includes support for .well-known
paths required by ACME challenges.
Key Features
- Static Site Hosting: Serves HTML, CSS, JavaScript, and other static files.
- Let's Encrypt Integration: Automatically requests and installs SSL/TLS certificates.
- Simple Root Configuration: Defines a clean webroot with
index.html
support. - Secure by Default: Includes modern SSL headers and best practices via Nginx.
- .well-known Support: Ensures full ACME challenge compatibility.
🎯 Purpose
The Nginx Static HTML Server role provides a simple and efficient method to publish static websites with HTTPS, perfect for personal homepages, landing pages, or small projects.
🚀 Features
- Automatic HTTPS Certificates: Handles secure certificate issuance via Let's Encrypt.
- Minimal Nginx Setup: Clean and optimized default configurations.
- Highly Portable: Works out-of-the-box with minimal variables.
- Local Time Support: Properly displays directory listing timestamps when needed.
🔗 Learn More
🧑💻 Author Information
Created in 2023 by Kevin Veen-Birkenbach