github dannybouwers/trala v0.19.0
v0.19.0: Configure Everything From Environment Variables

one hour ago

🧩 v0.19.0: Configure Everything From Environment Variables

This one's all about the config layer. Traefik instances — all of them — can now be configured straight from environment variables, which makes container-only setups a lot less YAML-heavy. Under the hood the whole environment parsing path got centralized too, so this is less a one-off patch and more of a foundation for what comes next.

What's New

  • Multi-instance env vars — Traefik instances can now be configured with indexed variables of the form TRAEFIK_INSTANCES_<n>_<OPTION> (for example TRAEFIK_INSTANCES_1_API_HOST and TRAEFIK_INSTANCES_2_NAME). They merge with the instances list from your config file by position, so you can tweak a single field on a file-configured instance, or spin up a whole fleet without touching a file — extra indexes simply append new instances. Any indexed variable switches TraLa into multi-instance mode.
  • Centralized env parsing — Every option under environment.* in the config file now gets an environment variable automatically, following the same uppercase-dots-to-underscores rule (environment.grouping.columns → GROUPING_COLUMNS). No more wiring each one up by hand.
  • Renamed grouping variable — GROUPED_COLUMNS is now GROUPING_COLUMNS, matching the rest of the GROUPING_* family. The old name still works as a deprecated alias, so nothing breaks, but you'll see it mentioned in the docs as on its way out.
  • Safer debug logs — Password values are now redacted in the environment override debug logs, and a duplicate log line for env overrides was removed. Turn on LOG_LEVEL=debug without worrying about what ends up in your terminal history.
  • Dependency refresh — Go toolchain, Node, go-i18n, go.yaml.in/yaml/v4, golang.org/x/text updated to latest version.
  • Website updates — The docs site moved to the latest Astro version.

How to Use

Pull the latest image:

docker pull ghcr.io/dannybouwers/trala:0.19.0
# or
# docker pull dannybouwers/trala:0.19.0

To configure two Traefik instances entirely from environment variables — no config file needed:

# docker-compose.yml
services:
  trala:
    image: ghcr.io/dannybouwers/trala:0.19.0
    environment:
      - TRAEFIK_INSTANCES_1_NAME=public
      - TRAEFIK_INSTANCES_1_API_HOST=http://traefik:8080
      - TRAEFIK_INSTANCES_2_NAME=arr
      - TRAEFIK_INSTANCES_2_API_HOST=http://traefik-arr:8080

The indexed variables merge with any instances list from your config file by position — set TRAEFIK_INSTANCES_2_NAME and only that instance's name changes. The legacy TRAEFIK_* variables still apply to the first instance in single-instance mode. Full merge rules live in the Multi-Host docs.

As always, if you run into anything weird, drop a note in the discussions — I read everything.

What's Changed

  • Update module golang.org/x/text to v0.43.0 by @renovate[bot] in #197
  • Update astro monorepo by @renovate[bot] in #198
  • fix(config): redact password values in env debug logs by @dannybouwers in #200
  • ✨ feat(config): add multi-instance Traefik env vars and centralize env parsing by @dannybouwers in #199
  • Update astro monorepo by @renovate[bot] in #201
  • Update Go Toolchain to v1.27.3 by @renovate[bot] in #202
  • Update module github.com/nicksnyder/go-i18n/v2 to v2.7.0 by @renovate[bot] in #203
  • Update Node.js to v26 by @renovate[bot] in #204
  • Update module go.yaml.in/yaml/v4 to v4.0.0-rc.7 by @renovate[bot] in #205
  • Update module github.com/go-playground/validator/v10 to v10.30.6 by @renovate[bot] in #208
  • Update astro monorepo by @renovate[bot] in #207
  • Update module go.yaml.in/yaml/v4 to v4.0.0 by @renovate[bot] in #206

Full Changelog: v0.18.2...v0.19.0

Don't miss a new trala release

NewReleases is sending notifications on new releases.