The initial idea came from my personal experience. Adding, changing or removing a self-hosted service also required updating the Homer dashboard configuration. I wanted to automate this similar to how Traefik would reverse proxy any new containers using its labels.
The application is written in Golang and is free and open-source including the CI and release process on GitHub Actions.
I made it available in multi-arch (x86_64, ARM64 and ARMv7) so all Homer users can use it. It is available as static binary files on the GitHub release page or Docker images on GitHub's Container registry using goreleaser.
More information, including how to use it, can be found on the project's README file.
The project meets the recommended community standards for open source projects with the following resources:
Features I'd like to add over time include:
- Creating new Services
- Restarting/reloading Homer to clear its cache
- Reading Traefik for an item's URL
Once again, the project is available on GitHub at calvinbui/homer-service-discovery.