Skip to content
Open
183 changes: 130 additions & 53 deletions docs/getting-started/third-parties/unraid.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,23 @@ description: Install Seerr using Unraid
sidebar_position: 3
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# Unraid

:::warning
Third-party installation methods are maintained by the community. The Seerr team is not responsible for these packages.
:::

:::warning
This method is not recommended for most users. It is intended for advanced users who are using Unraid.
This manual method is not recommended for most users. It is intended for advanced users who are using Unraid.
:::

Several templates from Unraid Community are available right now
- [Unraid Community Apps](https://unraid.net/community/apps#community-apps-iframe)

If an official Unraid Community Applications template for Seerr isn't available in your catalog, you can install Seerr manually using Unraid's Docker UI.
In case you still want to do it manually, please follow the instructions below.

## Fresh Installation

Expand All @@ -33,57 +38,129 @@ Open the Unraid terminal and run:

```bash
mkdir -p /mnt/user/appdata/seerr
chown -R 1000:1000 /mnt/user/appdata/seerr
```

### 2. Add the Docker container

Navigate to the **Docker** tab in Unraid and click **Add Container**. Fill in the following:

| Field | Value |
|---|---|
| **Name** | `seerr` |
| **Repository** | `ghcr.io/seerr-team/seerr:latest` |
| **Registry URL** (optional) | `https://ghcr.io` |
| **Icon URL** | `https://raw.githubusercontent.com/seerr-team/seerr/develop/public/android-chrome-512x512.png` |
| **WebUI** | `http://[IP]:[PORT:5055]` |
| **Extra Parameters** | `--init` |
| **Network Type** | `bridge` |
| **Privileged** | `Off` |

Then click **Add another Path, Port, Variable** to add:

**Port:**
| Field | Value |
|---|---|
| Container Port | `5055` |
| Host Port | `5055` |
| Connection Type | `TCP` |

**Path:**
| Field | Value |
|---|---|
| Container Path | `/app/config` |
| Host Path | `/mnt/user/appdata/seerr` |

**Variable:**
| Field | Value |
|---|---|
| Key | `TZ` |
| Value | Your [TZ database name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) (e.g., `America/New_York`) |
<Tabs groupId="unraid-permissions" queryString>
<TabItem value="recommended" label="Recommended">
Change ownership of the config folder on the host so Seerr runs with its native UID/GID:

```bash
chown -R 1000:1000 /mnt/user/appdata/seerr
```

### 2. Add the Docker container

Navigate to the **Docker** tab in Unraid and click **Add Container**. Fill in the following:

| Field | Value
|---|---|
| **Name** | `seerr` |
| **Repository** | `ghcr.io/seerr-team/seerr:latest` |
| **Registry URL** (optional) | `https://ghcr.io` |
| **Icon URL** | `https://raw.githubusercontent.com/seerr-team/seerr/develop/public/android-chrome-512x512.png` |
| **WebUI** | `http://[IP]:[PORT:5055]` ||
| **Extra Parameters** | `--init` |
| **Network Type** | `bridge` ||
| **Privileged** | `Off` ||

Then click **Add another Path, Port, Variable** to add:

**Port:**
| Field | Value |
|---|---|
| Container Port | `5055` |
| Host Port | `5055` |
| Connection Type | `TCP` |

**Path:**
| Field | Value |
|---|---|
| Container Path | `/app/config` |
| Host Path | `/mnt/user/appdata/seerr` |

**Variable:**
| Field | Value |
|---|---|
| Key | `TZ` |
| Value | Your [TZ database name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) (e.g., `America/New_York`) |

**Variable (optional):**
| Field | Value |
|---|---|
| Key | `LOG_LEVEL` |
| Value | `info` |

Click **Apply** to create and start the container.

### 3. Access Seerr

Open the WebUI at `http://<your-unraid-ip>:5055` and follow the setup wizard.

:::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.
:::

</TabItem>
<TabItem value="alternative" label="Alternative">
Keep current 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.

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

### 2. Add the Docker container

Navigate to the **Docker** tab in Unraid and click **Add Container**. Fill in the following:

| Field | Value |
|---|---|
| **Name** | `seerr` |
| **Repository** | `ghcr.io/seerr-team/seerr:latest` |
| **Registry URL** (optional) | `https://ghcr.io` |
| **Icon URL** | `https://raw.githubusercontent.com/seerr-team/seerr/develop/public/android-chrome-512x512.png` |
| **WebUI** | `http://[IP]:[PORT:5055]` |
| **Extra Parameters** | `--init --user 99:100` |
| **Network Type** | `bridge` |
| **Privileged** | `Off` |

Then click **Add another Path, Port, Variable** to add:

**Port:**
| Field | Value |
|---|---|
| Container Port | `5055` |
| Host Port | `5055` |
| Connection Type | `TCP` |

**Path:**
| Field | Value |
|---|---|
| Container Path | `/app/config` |
| Host Path | `/mnt/user/appdata/seerr` |

**Variable:**
| Field | Value |
|---|---|
| Key | `TZ` |
| Value | Your [TZ database name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) (e.g., `America/New_York`) |

**Variable (optional):**
| Field | Value |
|---|---|
| Key | `LOG_LEVEL` |
| Value | `info` |

Click **Apply** to create and start the container.

### 3. Access Seerr

Open the WebUI at `http://<your-unraid-ip>:5055` and follow the setup wizard.

:::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` parameter runs the container process with Unraid's default UID/GID and avoids permission errors accessing your shares without changing host folder ownership.
:::

**Variable (optional):**
| Field | Value |
|---|---|
| Key | `LOG_LEVEL` |
| Value | `info` |

Click **Apply** to create and start the container.

### 3. Access Seerr

Open the WebUI at `http://<your-unraid-ip>:5055` and follow the setup wizard.

:::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.
:::
</TabItem>
</Tabs>
6 changes: 5 additions & 1 deletion docs/migration-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,10 @@ cp -a /mnt/user/appdata/overseerr /mnt/user/appdata/overseerr-backup
```bash
chown -R 1000:1000 /mnt/user/appdata/overseerr
```
:::info
**If migrating**: See [Seerr Unraid Documentation](/getting-started/third-parties/unraid) for alternative method for permissions if you prefer not to change host folder ownership.
:::

For Jellyseerr users, replace `overseerr` with `jellyseerr` in the path above.

4. Add a new container in the Unraid **Docker** tab. Click **Add Container** and fill in the following:
Expand Down Expand Up @@ -277,4 +281,4 @@ For Jellyseerr users, use `/mnt/user/appdata/jellyseerr`.

:::tip
If you are using a reverse proxy (such as SWAG or Nginx Proxy Manager), update your proxy configuration to point to the new container name `seerr`. The default port remains `5055`.
:::
:::