feat: add Unraid community app template#62
feat: add Unraid community app template#62gtronset wants to merge 5 commits intogrimmory-tools:mainfrom
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment Tip You can make CodeRabbit's review stricter and more nitpicky using the `assertive` profile, if that's what you prefer.Change the |
|
Hi, what's the blocker on this PR? |
|
@balazs-szucs Outside of a very minor commit I just added, I've held off just in case there were any container config-related changes for this initial release, but I think that's unlikely at this point so it should be good to go (assuming there will be a Let me know when I'm good to move it out of draft 😄 |
|
@balazs-szucs (or to whom it may concern) I'm pencils-down on this now that GHCR images are available. Please note that after merging a maintainer will need to submit this to the Unraid app store (CA Store) as I mention in |
📝 Description
Linked Issue: Addresses #20
Caution
This PR should remain in
Draftuntil proper container releases are available!🏷️ Type of Change
🔧 Changes
This PR adds an
unraid.xmltemplate file to the root of the repository, which, when added to the Unraid "Community Applications" (CA) store, allows easy container installation for Unraid users (generally, the "default" way Unraid handles Docker and containers).unraid.xml🧪 Testing (MANDATORY)
Manual testing steps you performed:
Regression testing:
Edge cases covered:
DISK_TYPEandALLOWED_ORIGINSTest output:
📸 Screen Recording / Screenshots (MANDATORY)
✅ Pre-Submission Checklist
develop(merge conflicts resolved)I ran the full stack locally (backend + frontend + database) and verified the change worksAutomated tests added or updated to cover changes (backend and frontend)All tests pass locally and output is pasted aboveDocumentation PR submitted to booklore-docs (if user-facing changes)🤖 AI-Assisted Contributions
TODOs, or unused scaffolding left behind by AI💬 Additional Context (optional)
This template allows Unraid users to install the Grimmory container directly from the CA store with minimal setup (it pre-fills the necessary ports, volume mappings, and environment variables recommended in the compose). Having it alongside the application code and in this repo makes it easy to change any container-related item and keep it correct/compatible with the latest release. These templates effectively translate to a
docker runcommand, which users actually see once they load/save the container from the CA store. Example of what it translates to:This translation occurs automatically based on values in the template.
MariaDB
Unraid CA templates only allow for a singular container to be specified. Unless Grimmory wants to provide an all-in-one (AIO) option (doubtful!), users will also have to install a MariaDB container. This is very common! I've made a call-out in the template that they'll need to install the additional container for this to work.
Getting Grimmory into the CA Store
In order for this to be available in the CA Store, a maintainer would need to apply to have it added via a Community Applications submission form. This form is very short and self-explanatory. Usually, a repo is approved within 24-48 hours, though that, too, is a manual process. Despite what it says, you shouldn't need to create a forum thread (there are links to your support outlets as part of the template).
Once accepted, the CA scraper checks the repo frequently for updates (I think it's about every 2 hours).
Alternatively--and I don't think this is the best route for this repo--I maintain a dedicated templates repository (tritones/unraid-templates) that is already published in the store. If maintainers want to go this route we'd close this PR and open one in my repo.
Permissions
Unraid's standard user and group are
99and100, respectively, and these are prefilled for users.Links and Helpful Info
To understand what this file does or how the formatting works: