Thanks for your interest in making HomelabARR better! Here's how we work.
Security note: Before adding a new endpoint, asset, or trust boundary, update the corresponding threat-model document. See which files to update in the threat-model README.
- Ideas start in Discord — Drop suggestions in #feature-requests or open a GitHub Issue or Discussion
- We build on feature branches — Each change gets its own
feature/branch - Features merge to
dev— Bleeding edge, may break. Try it if you're adventurous - Dev promotes to
staging— Release candidate. Community gets one week to test against real stacks and find bugs - Staging merges to
main— Only battle-tested changes ship to production
| Branch | Purpose | Live at | Stability |
|---|---|---|---|
main |
Production — stable, released | ce-demo.homelabarr.com | Safe to run |
staging |
Release candidate — 1 week community soak | ce-staging.homelabarr.com | Should work, finding bugs |
dev |
Active development — proposed changes | ce-dev.homelabarr.com | May break |
feature/* |
Work in progress — individual changes | — | Experimental |
feature/* --> dev (build & test) --> staging (1 week soak) --> main (ship it)
- Dev to Staging: When we are confident a set of changes is ready, we promote to staging and announce in Discord
- Staging to Main: After one week with no blocking bugs reported, staging merges to main
- Hotfixes: Critical bugs can go straight to main via
hotfix/*branches
- Fork the repo
- Create a feature branch from
dev:git checkout -b feature/your-feature dev - Make your changes
- Open a PR targeting
dev(notmainorstaging) - We review, test on ce-dev, and get community feedback
Want to add a new app to the catalog?
- Create a YAML file in the appropriate
apps/<category>/directory - Follow the format of existing templates
- Include proper Docker image tags, Traefik labels, and environment defaults
- Open a PR targeting
dev
Current categories: ai, backup, downloads, media-management, media-servers, monitoring, self-hosted, system, transcoding, virtual-desktops
The myapps directory is for user-created custom templates and should not be modified by contributors.
See apps/legacy/README.md for examples of what NOT to add (deprecated/abandoned projects).
- Open a GitHub Issue
- Or drop it in #help on Discord
- Include your Docker version, OS, and steps to reproduce
- Discord: discord.gg/Pc7mXX786x
- Reddit: r/homelabarr
- Ko-fi: ko-fi.com/homelabarr
- Discussions: GitHub Discussions
Built with love by Imogen Labs AI