Skip to content

Add XRDB app template with Authelia and Cloudflare DDNS wiring#97

Open
IbbyLabs wants to merge 3 commits intoViren070:mainfrom
IbbyLabs:XRDB
Open

Add XRDB app template with Authelia and Cloudflare DDNS wiring#97
IbbyLabs wants to merge 3 commits intoViren070:mainfrom
IbbyLabs:XRDB

Conversation

@IbbyLabs
Copy link
Copy Markdown

Summary

Add XRDB to the docker-compose template as a first-class app module.

Included

  • add apps/xrdb/compose.yaml
  • add apps/xrdb/.env with the XRDB environment surface
  • add XRDB_HOSTNAME and XRDB Traefik override vars to the root .env
  • include XRDB in the root compose.yaml
  • wire XRDB into Authelia with TEMPLATE_XRDB_HOSTNAME
  • add XRDB bypass rules for image, proxy, preview, API, and static asset routes in Authelia config
  • enable authelia@docker on the XRDB router
  • add XRDB to the Cloudflare DDNS domain list

Why

This makes XRDB work out of the box in the same style as the other app modules in the template, including reverse proxy routing, optional DNS automation, and Authelia protection without breaking media-client-facing endpoints.

Notes

  • UI and non-bypassed routes are protected by Authelia
  • poster, backdrop, logo, thumbnail, proxy, preview, API, and static asset routes bypass Authelia so clients can still fetch images

Hey boss @Viren070 i know you’re busy but I’d appreciate it if you would be willing to check this out and approve it for people. Thank you 🫡

Add XRDB as an include-based app module in the docker compose template.

Wire the root hostname and Traefik override variables and add the full XRDB app environment template so the service can be enabled in the same style as the other modules.
Add TEMPLATE_XRDB_HOSTNAME to the Authelia service environment and insert XRDB bypass rules for image, proxy, preview, API, and static asset endpoints.

Enable the authelia@docker middleware on the XRDB router so the configurator and other non-bypassed pages are protected by default in the template stack.
Include XRDB in the Cloudflare DDNS domain list so the template can create and maintain its DNS record alongside the other app modules.
Copilot AI review requested due to automatic review settings April 12, 2026 15:01
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds XRDB as a first-class app module in the template, including Traefik routing, Authelia integration (with selective bypass for media-client routes), and Cloudflare DDNS support.

Changes:

  • Added the XRDB app module (apps/xrdb) and wired it into the root compose.yaml include list.
  • Integrated XRDB with Authelia via TEMPLATE_XRDB_HOSTNAME and added bypass rules for image/proxy/preview/API/static routes.
  • Added XRDB_HOSTNAME (and optional Traefik override vars) to the root .env, and included XRDB in the Cloudflare DDNS domain list.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
compose.yaml Includes the new XRDB compose module in the main stack.
apps/xrdb/compose.yaml Defines the XRDB service, Traefik router/service labels, Authelia middleware, and data volume.
apps/xrdb/.env Provides the XRDB environment surface template for configuration.
apps/cloudflare-ddns/compose.yaml Adds XRDB_HOSTNAME to the DDNS-managed domains list.
apps/authelia/config/configuration.yml Adds XRDB-specific bypass rules for media-client-facing routes while leaving other routes protected.
apps/authelia/compose.yaml Exposes TEMPLATE_XRDB_HOSTNAME to Authelia’s templated configuration.
.env Adds XRDB_HOSTNAME and optional Traefik override variables for XRDB.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants