Skip to content

docs: Updates the Unraid documentation for alternative way to deploy Seerr using correct file system permissions and prevent access issues#2471

Open
milapointe wants to merge 8 commits intoseerr-team:developfrom
milapointe:develop
Open

docs: Updates the Unraid documentation for alternative way to deploy Seerr using correct file system permissions and prevent access issues#2471
milapointe wants to merge 8 commits intoseerr-team:developfrom
milapointe:develop

Conversation

@milapointe
Copy link

@milapointe milapointe commented Feb 16, 2026

Description

This PR updates the Unraid documentation for Seerr to clarify supported permission-handling options and avoid access issues.

  • Permission options: Documents two supported approaches to avoid permission problems on Unraid:
    • Recommended: change ownership of the host config folder so Seerr runs with its native UID/GID:
      chown -R 1000:1000 /mnt/user/appdata/seerr
    • Alternative: run the container as Unraid’s nobody:users account by adding the extra Docker parameter --user 99:100 (avoids changing host ownership)
  • Do not mix: Explicitly warns to choose one approach, do not combine chown -R 1000:1000 on the host with --user 99:100 in the container to prevent confusing ownership and permission states.

This change ensures files created by the container are handled predictably and prevents "Permission Denied" errors when managing files via SMB or the Unraid WebGUI.

How Has This Been Tested?

  • Environment: Unraid 6.12.x
  • Test: Verified that using --user 99:100 allows the container to write to /mnt/user/appdata/seerr and that the resulting files are accessible and manageable by the Unraid host system without permission conflicts.

Screenshots / Logs (if applicable)

Refer to the "Files changed" tab for the updated documentation layout.

Checklist:

  • I have read and followed the contribution guidelines.
  • Disclosed any use of AI (Used Gemini AI to refine the English phrasing of the documentation note for better clarity).
  • I have updated the documentation accordingly.
  • All new and existing tests passed.
  • Successful build pnpm build
  • Translation keys pnpm i18n:extract
  • Database migration (if required)

Summary by CodeRabbit

  • Documentation
    • Expanded Unraid guide with clearer manual install flow and added note about Unraid Community templates.
    • Clarified permission handling: recommended ownership option, alternative ownership, and option to run container as Unraid user to avoid permission issues; warned against mixing approaches.
    • Updated container setup details: extra parameter alternatives, default init behavior, port/path/variable examples (port 5055, config path, TZ, optional log level).
    • Added informational note in Unraid migration steps.

@milapointe milapointe requested a review from a team as a code owner February 16, 2026 22:50
@coderabbitai
Copy link

coderabbitai bot commented Feb 16, 2026

📝 Walkthrough

Walkthrough

Documentation updates for Unraid: clarified manual-install wording, added Unraid Community Apps note, provided two permission-handling options (chown 1000:1000 or 99:100 and optional --user 99:100), expanded container configuration examples (extra params, ports, path, TZ/LOG_LEVEL), and added an Unraid migration info block.

Changes

Cohort / File(s) Summary
Unraid Getting Started
docs/getting-started/third-parties/unraid.mdx
Reworded warning and manual-install intro; added Unraid Community Apps link; added two permission approaches (chown 1000:1000 or chown 99:100) and optional --user 99:100; added Note column to container table; updated Extra Parameters (--init, --init --user 99:100); added port/path/variable blocks and updated Apply instructions.
Migration Guide
docs/migration-guide.mdx
Inserted informational admonition after host-folder permissions in the Unraid migration section pointing to Seerr Unraid docs as an alternative permission method; fixed info block formatting/newline.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • fallenbagel
  • 0xSysR3ll
  • M0NsTeRRR

Poem

🐰 I hopped through docs with nimble paws,
Tweaked UIDs and fixed the cause,
Flags and ports now twine just right,
Volumes map snug through day and night,
A cheerful rabbit hums—hooray! 🎉

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed The PR addresses issue #2460 by documenting the --user 99:100 approach for Unraid deployments and includes an alternative recommended method using chown, fulfilling the linked issue's requirements.
Out of Scope Changes check ✅ Passed All changes are scoped to documentation updates for Unraid deployment guidance; no unrelated code modifications or out-of-scope alterations are present.
Title check ✅ Passed The title directly and specifically describes the main changes: updates to Unraid documentation for alternative deployment methods with correct file system permissions and access issue prevention.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Fix all issues with AI agents
Verify each finding against the current code and only fix it if needed.


In `@docs/getting-started/third-parties/unraid.mdx`:
- Around line 79-82: Bold the second occurrence of "Extra Parameters" to match
the first (make "Extra Parameters" bold wherever referenced) and insert a blank
line between the paragraph describing the `--init` flag and the paragraph
describing the `--user 99:100` flag so the `--init` and `--user` explanations
are separated for consistent formatting; update the block that mentions
`--init`, `--user 99:100`, and "Extra Parameters" accordingly.
🧹 Nitpick comments (1)
🤖 Fix all nitpicks with AI agents
Verify each finding against the current code and only fix it if needed.


In `@docs/getting-started/third-parties/unraid.mdx`:
- Around line 79-82: Bold the second occurrence of "Extra Parameters" to match
the first (make "Extra Parameters" bold wherever referenced) and insert a blank
line between the paragraph describing the `--init` flag and the paragraph
describing the `--user 99:100` flag so the `--init` and `--user` explanations
are separated for consistent formatting; update the block that mentions
`--init`, `--user 99:100`, and "Extra Parameters" accordingly.
docs/getting-started/third-parties/unraid.mdx (1)

79-82: Minor formatting inconsistency: bold styling differs between lines.

Line 80 uses **Extra Parameters** (bold), but line 81 uses plain Extra Parameters. For consistency, consider bolding both occurrences.

Additionally, inserting a blank line between the --init and --user explanations would improve readability and ensure consistent paragraph separation across different Markdown renderers.

📝 Suggested formatting fix
 :::info
-The `--init` flag in **Extra Parameters** is required. Seerr does not include its own init process, so `--init` ensures proper signal handling and clean container shutdowns. 
-The `--user 99:100` flag in Extra Parameters ensures the container runs with the correct permissions. In Unraid, the default user account is nobody (ID 99) and the default group is users (ID 100). Using this flag prevents "Permission Denied" errors when the container tries to read or write to your shares.
+The `--init` flag in **Extra Parameters** is required. Seerr does not include its own init process, so `--init` ensures proper signal handling and clean container shutdowns.
+
+The `--user 99:100` flag in **Extra Parameters** ensures the container runs with the correct permissions. In Unraid, the default user account is nobody (ID 99) and the default group is users (ID 100). Using this flag prevents "Permission Denied" errors when the container tries to read or write to your shares.
 :::
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/getting-started/third-parties/unraid.mdx` around lines 79 - 82, Bold the
second occurrence of "Extra Parameters" to match the first (make "Extra
Parameters" bold wherever referenced) and insert a blank line between the
paragraph describing the `--init` flag and the paragraph describing the `--user
99:100` flag so the `--init` and `--user` explanations are separated for
consistent formatting; update the block that mentions `--init`, `--user 99:100`,
and "Extra Parameters" accordingly.

@fallenbagel
Copy link
Collaborator

#2470 literally explains the proper method to do this on unraid though.

@milapointe
Copy link
Author

#2470 literally explains the proper method to do this on unraid though.

Well 1000:1000 isn't right. Should be 99:100 on the file folder

@fallenbagel
Copy link
Collaborator

#2470 literally explains the proper method to do this on unraid though.

Well 1000:1000 isn't right. Should be 99:100 on the file folder

It is correct. There are multiple ways to do this. Your way is an ALTERNATIVE way. But that pr is absolutely correct.

@fallenbagel
Copy link
Collaborator

Accidentally closed. Please rework this pr stating doing this as an alternative method.

@fallenbagel fallenbagel reopened this Feb 17, 2026
@github-actions github-actions bot added the merge conflict Cannot merge due to merge conflicts label Feb 17, 2026
@github-actions
Copy link

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

Copy link
Collaborator

@fallenbagel fallenbagel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please make the requested changes.

@milapointe
Copy link
Author

Please make the requested changes.

will do.

@github-actions github-actions bot removed the merge conflict Cannot merge due to merge conflicts label Feb 17, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
docs/getting-started/third-parties/unraid.mdx (1)

88-89: Good explanation, but adjust if presenting as alternative.

The explanation of --init and --user 99:100 is clear and accurate. If the documentation is restructured per maintainer feedback to present both methods, consider updating this block to explain:

  1. --init is always required
  2. --user 99:100 is needed only if you chose the 99:100 ownership approach
  3. Without --user, the container runs as 1000:1000 (matching Method 1's chown)

This would help users understand which flags apply to their chosen method.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/getting-started/third-parties/unraid.mdx` around lines 88 - 89, Update
the paragraph to present the flags as conditional guidance: state that the
`--init` flag is always required for proper signal handling and clean shutdown,
explain that `--user 99:100` is only required if the reader chooses the "99:100
ownership" approach, and clarify that if `--user` is omitted the container will
run as 1000:1000 (matching the chown behavior described in Method 1); keep
references to `--init`, `--user 99:100`, and "Method 1" so readers can map flags
to the chosen ownership method.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/getting-started/third-parties/unraid.mdx`:
- Line 50: Update the Extra Parameters row to present both supported methods:
show Method 1 as "`--init` only (use when your host uses chown 1000:1000)" and
Method 2 as "`--init --user 99:100` (use when your host uses chown 99:100)`", so
readers can pick based on their Unraid setup; mention the corresponding chown
examples (`chown 1000:1000` and `chown 99:100`) alongside the flags for clarity.
- Line 36: Update the documentation to present the two chown approaches as
alternatives rather than replacing one with the other: keep the existing "chown
-R 1000:1000 /mnt/user/appdata/seerr" as Method 1 (container internal UID) and
add Method 2 showing "chown -R 99:100 /mnt/user/appdata/seerr" with an
explanatory note to use "--user 99:100" for Unraid's nobody:users mapping;
ensure both commands are shown with brief one-line context explaining when to
use each.

---

Nitpick comments:
In `@docs/getting-started/third-parties/unraid.mdx`:
- Around line 88-89: Update the paragraph to present the flags as conditional
guidance: state that the `--init` flag is always required for proper signal
handling and clean shutdown, explain that `--user 99:100` is only required if
the reader chooses the "99:100 ownership" approach, and clarify that if `--user`
is omitted the container will run as 1000:1000 (matching the chown behavior
described in Method 1); keep references to `--init`, `--user 99:100`, and
"Method 1" so readers can map flags to the chosen ownership method.

@milapointe milapointe changed the title Updates the Unraid documentation for Seerr to ensure correct file permissions and prevent access issues Updates the Unraid documentation for alternative way to deploy Seerr using correct file system permissions and prevent access issues Feb 17, 2026
@milapointe milapointe marked this pull request as draft February 17, 2026 06:28
@milapointe milapointe marked this pull request as ready for review February 17, 2026 07:35
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/getting-started/third-parties/unraid.mdx`:
- Line 54: Update the misspelled word "Explaination" to "Explanation" in the
docs text shown in unraid.mdx (the line that currently reads "Explaination : Do
not change host ownership..."); search the file for any other occurrences of
"Explaination" and correct them to "Explanation" to keep the document
consistent.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
docs/getting-started/third-parties/unraid.mdx (1)

56-59: Add blank line after closing the warning block.

A blank line after ::: and before the ### 2. heading improves readability and ensures consistent rendering across MDX parsers.

📝 Proposed fix
 :::warning
 Do not use both approaches at the same time, either change the host folder ownership to `1000:1000` or run the container with `--user 99:100`. Mixing both can create confusing ownership and permission states.
 :::
+
 ### 2. Add the Docker container
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/getting-started/third-parties/unraid.mdx` around lines 56 - 59, Add a
single blank line after the closing warning block (the line with ":::") so there
is an empty line between that block and the subsequent heading "### 2. Add the
Docker container"; update the MDX near the ':::warning' block to ensure a blank
line exists immediately before the "### 2. Add the Docker container" heading to
improve readability and parser consistency.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/getting-started/third-parties/unraid.mdx`:
- Around line 48-54: Fix the contradictory wording and punctuation in the Unraid
note: remove the extra space before the colon so "Explanation:" is correctly
formatted, and reword the sentence that follows the chown example to clarify
intent — state that after adjusting host ownership with "chown -R 99:100
/mnt/user/appdata/seerr" you should then run the container with Unraid's
nobody:users via the Docker param "--user 99:100" to ensure the container
process uses Unraid's default UID/GID and keeps files accessible via SMB and the
Unraid WebGUI (replace the current "Do not change host ownership" phrasing with
this clearer description).

---

Nitpick comments:
In `@docs/getting-started/third-parties/unraid.mdx`:
- Around line 56-59: Add a single blank line after the closing warning block
(the line with ":::") so there is an empty line between that block and the
subsequent heading "### 2. Add the Docker container"; update the MDX near the
':::warning' block to ensure a blank line exists immediately before the "### 2.
Add the Docker container" heading to improve readability and parser consistency.

Comment on lines +48 to +54
- Alternative:

```bash
chown -R 99:100 /mnt/user/appdata/seerr
```

Explanation : Do not change host ownership and instead run the container as Unraid's `nobody:users` by adding the extra Docker parameter `--user 99:100` when creating the container. This runs the container process with Unraid's default UID/GID and avoids permission errors accessing your shares.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix formatting and clarify the explanation text.

Two issues:

  1. "Explanation : " has a space before the colon — should be "Explanation:" (no space).
  2. The text says "Do not change host ownership" but this option explicitly runs chown -R 99:100, which does change ownership. The wording is contradictory.

Consider rewording to clarify the intent — that this approach keeps files accessible by Unraid's default user rather than Seerr's internal user.

📝 Proposed fix
- Alternative:
+ Alternative: Keep files accessible to Unraid by setting ownership to `nobody:users`:

   ```bash
   chown -R 99:100 /mnt/user/appdata/seerr
  • Explanation : Do not change host ownership and instead run the container as Unraid's nobody:users by adding the extra Docker parameter --user 99:100 when creating the container. This runs the container process with Unraid's default UID/GID and avoids permission errors accessing your shares.
  • Then run the container as Unraid's nobody:users by adding the extra Docker parameter --user 99:100 when creating the container. This ensures the container process uses Unraid's default UID/GID, keeping files accessible via SMB and the Unraid WebGUI.
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/getting-started/third-parties/unraid.mdx around lines 48 - 54, Fix the
contradictory wording and punctuation in the Unraid note: remove the extra space
before the colon so "Explanation:" is correctly formatted, and reword the
sentence that follows the chown example to clarify intent — state that after
adjusting host ownership with "chown -R 99:100 /mnt/user/appdata/seerr" you
should then run the container with Unraid's nobody:users via the Docker param
"--user 99:100" to ensure the container process uses Unraid's default UID/GID
and keeps files accessible via SMB and the Unraid WebGUI (replace the current
"Do not change host ownership" phrasing with this clearer description).


</details>

<!-- fingerprinting:phantom:poseidon:ocelot -->

<!-- This is an auto-generated comment by CodeRabbit -->

Copy link
Member

@M0NsTeRRR M0NsTeRRR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello,

@fallenbagel asked to update the doc by adding an alternative method not removing an existing one.
You can do it by using tabs like here https://github.com/seerr-team/seerr/blob/develop/docs/migration-guide.mdx?plain=1#L66

@milapointe
Copy link
Author

Hello,

@fallenbagel asked to update the doc by adding an alternative method not removing an existing one. You can do it by using tabs like here https://github.com/seerr-team/seerr/blob/develop/docs/migration-guide.mdx?plain=1#L66

i didnt remove, I added after his comment.

@fallenbagel
Copy link
Collaborator

Hello,

@fallenbagel asked to update the doc by adding an alternative method not removing an existing one. You can do it by using tabs like here https://github.com/seerr-team/seerr/blob/develop/docs/migration-guide.mdx?plain=1#L66

i didnt remove, I added after his comment.

I would suggest using tabs. So it's better ux

@milapointe milapointe changed the title Updates the Unraid documentation for alternative way to deploy Seerr using correct file system permissions and prevent access issues docs: Updates the Unraid documentation for alternative way to deploy Seerr using correct file system permissions and prevent access issues Feb 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unraid migration documentation

3 participants