Credential redaction + CVE fix + multi-host logging
Release history
trala releases
A simple, modern, and dynamic dashboard for your Traefik services.
All releases
29 shown
- Comprehensive unit tests for configuration package
- New CI pipeline
Full changelog
🧪 Test-Enablement & Configuration Refactor
What's that? You want more tests? Well, I've got you covered! This release is all about making TraLa more testable and maintainable for the future. The configuration system has been completely refactored to remove global state, and we've added comprehensive unit tests for the config package. Plus, a shiny new CI pipeline now runs tests on every PR. Your dashboard is about to get even more reliable!
What's New
- Config Refactor: Configuration system refactored to remove global state, making it testable and more maintainable
- Unit Tests: Added comprehensive unit tests for the configuration package (828 lines of tests!)
- CI Pipeline: New unit test workflow runs automatically on every PR
How to Use
No configuration changes required. Just pull the latest image!
docker pull ghcr.io/dannybouwers/trala:v0.15.2
# or
docker pull dannybouwers/trala:v0.15.2
What's Changed
- Lightly refactor config to support tests by @shwoop in https://github.com/dannybouwers/trala/pull/130
Full Changelog: https://github.com/dannybouwers/trala/compare/v0.15.1...v0.15.2
Minor fixes and improvements.
Full changelog
🧹 Dependency Refresh
Just a quick polish this time! The underlying libraries have been updated to their latest versions, keeping TraLa running smoothly with the newest Go and Node.js tooling. You probably won't notice anything—but that's exactly the point!
What's New
- Build Update: Node.js
v25.8.2→v25.9.0 - Go Update:
v1.26.1→v1.26.2 - Dependency Updates:
golang.org/x/text:v0.35.0→v0.36.0
How to Use
No configuration changes required—just pull the latest image!
docker pull ghcr.io/dannybouwers/trala:v0.15.0
# or
docker pull dannybouwers/trala:v0.15.0
What's Changed
- chore(deps): update node.js to v25.9.0 by @renovate[bot] in https://github.com/dannybouwers/trala/pull/127
- chore(deps): update go toolchain to v1.26.2 by @renovate[bot] in https://github.com/dannybouwers/trala/pull/128
- fix(deps): update module golang.org/x/text to v0.36.0 by @renovate[bot] in https://github.com/dannybouwers/trala/pull/129
Full Changelog: https://github.com/dannybouwers/trala/compare/v0.15.0...v0.15.1
- Security headers (X-Content-Type-Options, X-Frame-Options, Referrer-Policy)
- Non-root user container execution
- Directory listing disabled
- Modular Go packages structure (internal/config, internal/handlers, internal/services, internal/traefik, internal/icons, internal/i18n, internal/models)
- Frontend JavaScript/CSS extracted to dedicated directories
- XSS protection via HTML escaping
- Docker Hub added as secondary registry for image distribution
- Icon URL resolution for services behind redirects
Full changelog
🐳 Dual Registry Publishing & Icon Fix
Ever wanted more flexibility in pulling your TraLa image? Now you can! I've added Docker Hub as a secondary registry alongside GitHub Container Registry, giving you backup options for deployments. Plus, a sneaky bug in icon fetching for redirected services has been squashed.
How to Use
Pull from Docker registry:
services:
trala:
# Secondary (Docker Hub)
image: dannybouwers/trala:latest
The icon fix is automatic - no configuration needed. Services behind redirects will now display their icons correctly.
What's Changed
- feat: enhance Docker image publishing to include Docker Hub support by @dannybouwers in https://github.com/dannybouwers/trala/pull/79
- fix(deps): update module golang.org/x/text to v0.33.0 by @renovate[bot] in https://github.com/dannybouwers/trala/pull/80
- Fix Icon URL Resolution and Manual Services Support by @dannybouwers in https://github.com/dannybouwers/trala/pull/81
- feat: add Docker Hub description update step in publish workflow by @dannybouwers in https://github.com/dannybouwers/trala/pull/82
- Update readme by @dannybouwers in https://github.com/dannybouwers/trala/pull/83
Full Changelog: https://github.com/dannybouwers/trala/compare/v0.13.0...v0.13.1
- Skip SSL certificate verification for Traefik API connections via `insecure_skip_verify` config option or `TRAEFIK_INSECURE_SKIP_VERIFY` environment variable
Full changelog
🔓 Insecure Connections to Traefik API
Ever been frustrated by SSL certificate errors when connecting to the Traefik API over the Docker network? I've got you covered! With this release, you can now allow insecure connections to the Traefik API, making it easier to use TraLa in environments where redirects to HTTPS are configured on all entrypoints.
How to Use
Update your configuration.yml file to include the new setting:
environment:
traefik:
api_host: http://traefik:8080
enable_basic_auth: true
insecure_skip_verify: true # Skip SSL certificate verification for Traefik API (default: false)
Or use the environment variable:
services:
trala:
image: ghcr.io/dannybouwers/trala:latest
environment:
TRAEFIK_INSECURE_SKIP_VERIFY: "true"
What's Changed
- add support for insecure SSL verification in Traefik API connections by @dannybouwers in https://github.com/dannybouwers/trala/pull/78
- fix(deps): update module github.com/nicksnyder/go-i18n/v2 to v2.6.1 by @renovate[bot] in https://github.com/dannybouwers/trala/pull/76
Full Changelog: https://github.com/dannybouwers/trala/compare/v0.12.0...v0.13.0
- Configurable minimum services per group (default: 2) via min_services_per_group setting or GROUPING_MIN_SERVICES_PER_GROUP environment variable
- Improved group sizing algorithm for more evenly distributed dashboard organization
Full changelog
🚀 Minimum Services Per Group
Ever felt like a group with just one service is a bit... lonely? Well, now you can set the minimum number of services required to form a group! No more "groups" that are just a single service hanging out by itself. Or, if you prefer, you can now allow single-service groups to form - because sometimes even a solo service deserves its own group!
What's New
- Configurable Minimum Services Per Group: You can now specify the minimum number of services required for a tag to form a group. By default, it's set to 2, but you can adjust it to your liking.
- Improved Group Size Algorithm: The grouping algorithm is improved to ensure that groups are more evenly sized, improving the overall organization of your dashboard.
How to Use
Update your configuration.yml file to include the new setting:
environment:
grouping:
enabled: true
columns: 3
tag_frequency_threshold: 0.9
min_services_per_group: 2 # Minimum number of services required for a tag to form a group (default: 2)
Or use the environment variable:
services:
trala:
image: ghcr.io/dannybouwers/trala:latest
# ... your existing TraLa configuration ...
environment:
GROUPING_MIN_SERVICES_PER_GROUP=2
What's Changed
- Minimum services per group by @dannybouwers in https://github.com/dannybouwers/trala/pull/75
Full Changelog: https://github.com/dannybouwers/trala/compare/v0.11.1...v0.12.0
Minor fixes and improvements.
Full changelog
🤖 Tag Fetching Improvements
Thanks to Ethan Sholly, the owner of selfh.st, who provided a custom integration for TraLa, I could simplify and make tag fetching more robust. You probably won't notice anything, but under the hood, the application now handles tags more efficiently and reliably.
What's Changed
- Using new Selfh.st Apps integration by @dannybouwers in https://github.com/dannybouwers/trala/pull/74
Full Changelog: https://github.com/dannybouwers/trala/compare/v0.11.0...v0.11.1
- Smart grouping automatically organizes services based on tags from selfh.st/apps
- Manual group assignment via group field in service overrides
- Collapsible and expandable groups with individual frontend toggles
Full changelog
🚀 Smart Grouping
Tired of scrolling through a long list of services? With the new smart grouping feature, TraLa now automatically organizes your services into logical groups based on their tags from selfh.st/apps. No more clutter - just a clean, organized dashboard! And off course with the option to manually override it.
How it works
Smart grouping analyzes your service tags and configurations to create meaningful categories. For example, services with similar tags will be grouped together, and you can manually assign services to specific groups using the group field in service overrides. Groups can be collapsed or expanded individually via the frontend toggle.
Configuration Options
- Enable/Disable Grouping: Control whether smart grouping is enabled using the
grouping.enabledsetting in your configuration file or theGROUPING_ENABLEDenvironment variable. - Columns: Adjust the number of columns displayed in grouped view for extra-large screens (1-6 columns) using
grouping.columnsorGROUPED_COLUMNS. - Tag Frequency Threshold: Fine-tune which tags are used for automatic grouping by setting a threshold (0.0-1.0) with
grouping.tag_frequency_thresholdorGROUPING_TAG_FREQUENCY_THRESHOLD. - Manual Group Assignment: Override automatic tag-based grouping by assigning services to specific groups in the
groupfield of service overrides.
Example
version: 3.1
# Service configuration
services:
# Smart grouping settings
grouping:
enabled: true
columns: 3 # Number of columns in grouped view (1-6), default: 3
tag_frequency_threshold: 0.9 # Threshold for excluding tags present in more than 90% of services
# Service overrides for display names, icons, and groups
overrides:
- service: "unifi-controller"
display_name: "UniFi Network"
icon: "ubiquiti-unifi.svg"
group: "Network"
What's Changed
- Service Grouping Implementation by @dannybouwers in https://github.com/dannybouwers/trala/pull/69
Full Changelog: https://github.com/dannybouwers/trala/compare/v0.10.1...v0.11.0
- Update config to version 3.0, move exclude list under routers key, add entrypoints key
- Exclude services by entrypoint name with wildcard support
- i18n support with language selection via LANGUAGE environment variable or configuration.yml; German and Dutch translations included
- Clear search button functionality with multilingual support
Full changelog
🚀 Translated frontend
With this version you can select the frontend language using the language parameter. You can now have a frontend in German or Dutch (next to the default English). Please create a PR if you would like to add another translation!
Next to that: fixes and updates.
How it works
The application's language can be configured either through the LANGUAGE environment variable or the configuration.yml file.
# Environment settings (optional, environment variables take precedence)
environment:
language: nl # change Language (Default "en").
What's Changed
- Add i18n support by @M1scer in https://github.com/dannybouwers/trala/pull/45
- Update README.md after i18n merge by @dannybouwers in https://github.com/dannybouwers/trala/pull/56
- Fix icon override with name override by @dannybouwers in https://github.com/dannybouwers/trala/pull/57
- feat: add clear search button functionality and translations by @dannybouwers in https://github.com/dannybouwers/trala/pull/58
- fix: update setInterval to call updateClock and updateGreeting together by @dannybouwers in https://github.com/dannybouwers/trala/pull/59
- feat: add Dutch language support and translations by @dannybouwers in https://github.com/dannybouwers/trala/pull/60
- fix(deps): update module golang.org/x/text to v0.30.0 by @renovate[bot] in https://github.com/dannybouwers/trala/pull/55
- Update Go & Node by @dannybouwers in https://github.com/dannybouwers/trala/pull/61
- fix: Readme by @dannybouwers in https://github.com/dannybouwers/trala/pull/62
Full Changelog: https://github.com/dannybouwers/trala/compare/v0.8.0...v0.9.0
- Wildcard support (. and *) in service exclusion
- Basic authentication for Traefik API access
- Move icons section under services, update config version to 2.0
- Override service display names with display_name attribute
- Manually add services not managed by Traefik
- Search bar displays icon showing configured search engine
- Placeholder text updated to clarify web search capability
Full changelog
🚀 Search bar update
A small icon in the search bar now shows which search engine you have configured. Also changed the placeholder text to clarify the search bar can also be used to search the web.
What's Changed
- 31 feature update search bar by @dannybouwers in https://github.com/dannybouwers/trala/pull/39
Full Changelog: https://github.com/dannybouwers/trala/compare/v0.5.2...v0.6.0
Fixed URL building to respect user-specified entryPoint order instead of alphabetical sorting.
Mount custom icon directories for offline usage with fuzzy matching search.
- Merge icon_overrides.yml and services.yml into configuration.yml
- Improved icons search
- Improved TLS detection
Service exclusion feature enables hiding specific services from the dashboard.