Skip to content

Commit 4e9c94c

Browse files
authored
feat: Overseerr to Jellyseerr migration (#2019)
* feat: add Overseerr migration * refactor: rename to Seerr * refactor: more rename to Seerr * feat: update the value of the MediaStatus.DELETED enum * fix: add more details in migration logs * fix: replace .update by .save for TypeORM hooks * fix: add fake migration to skip the duplicated UpdateWebPush migration * fix: rewrite the AddUserAvatarCacheFields migration for Overseerr merge * fix: replace jellyseerr migrations with a dedicated one for overseerr * fix: update overseerr migration * fix: update overseerr migration * fix: remove irrelevant changes * fix: typos * docs: update jsdoc comment * docs: update seerr description * docs: fix the contributing.md link * fix: remove unwanterd change on postgres dev datasource * docs: add latest tag to docker image * fix: migrate old deleted status for 4k media * fix: update Seerr version check
1 parent 2e6e9ad commit 4e9c94c

60 files changed

Lines changed: 942 additions & 395 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CONTRIBUTING.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ Steps:
115115

116116
1. Make the necessary changes.
117117
2. Test your changes.
118-
3. Update the `version` in `charts/jellyseerr-chart/Chart.yaml` following [Semantic Versioning (SemVer)](https://semver.org/).
118+
3. Update the `version` in `charts/seerr-chart/Chart.yaml` following [Semantic Versioning (SemVer)](https://semver.org/).
119119
4. Run the `helm-docs` command to regenerate the chart's README.
120120
121121
### Contributing Code
@@ -162,16 +162,16 @@ If you are adding a new feature that requires a database migration, you will nee
162162
1. Create a PostgreSQL database or use an existing one:
163163
164164
```bash
165-
sudo docker run --name postgres-jellyseerr -e POSTGRES_PASSWORD=postgres -d -p 127.0.0.1:5432:5432/tcp postgres:latest
165+
sudo docker run --name postgres-seerr -e POSTGRES_PASSWORD=postgres -d -p 127.0.0.1:5432:5432/tcp postgres:latest
166166
```
167167
168168
2. Reset the SQLite database and the PostgreSQL database:
169169
170170
```bash
171171
rm config/db/db.*
172172
rm config/settings.*
173-
PGPASSWORD=postgres sudo docker exec -it postgres-jellyseerr /usr/bin/psql -h 127.0.0.1 -U postgres -c "DROP DATABASE IF EXISTS jellyseerr;"
174-
PGPASSWORD=postgres sudo docker exec -it postgres-jellyseerr /usr/bin/psql -h 127.0.0.1 -U postgres -c "CREATE DATABASE jellyseerr;"
173+
PGPASSWORD=postgres sudo docker exec -it postgres-seerr /usr/bin/psql -h 127.0.0.1 -U postgres -c "DROP DATABASE IF EXISTS seerr;"
174+
PGPASSWORD=postgres sudo docker exec -it postgres-seerr /usr/bin/psql -h 127.0.0.1 -U postgres -c "CREATE DATABASE seerr;"
175175
```
176176
177177
3. Checkout the `develop` branch and create the original database for SQLite and PostgreSQL so that TypeORM can automatically generate the migrations:

charts/seerr-chart/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ If `replicaCount` value was used - remove it. Helm update should work fine after
5555
| fullnameOverride | string | `""` | |
5656
| image.pullPolicy | string | `"IfNotPresent"` | |
5757
| image.registry | string | `"ghcr.io"` | |
58-
| image.repository | string | `"fallenbagel/jellyseerr"` | |
58+
| image.repository | string | `"seerr-team/seerr"` | |
5959
| image.sha | string | `""` | |
6060
| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
6161
| imagePullSecrets | list | `[]` | |

charts/seerr-chart/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
image:
22
registry: ghcr.io
3-
repository: fallenbagel/jellyseerr
3+
repository: seerr-team/seerr
44
pullPolicy: IfNotPresent
55
# -- Overrides the image tag whose default is the chart appVersion.
66
tag: ''

compose.postgres.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
services:
2-
jellyseerr:
2+
seerr:
33
build:
44
context: .
55
dockerfile: Dockerfile.local
@@ -9,9 +9,9 @@ services:
99
DB_TYPE: 'postgres' # Which DB engine to use. The default is "sqlite". To use postgres, this needs to be set to "postgres"
1010
DB_HOST: 'postgres' # The host (url) of the database
1111
DB_PORT: '5432' # The port to connect to
12-
DB_USER: 'jellyseerr' # Username used to connect to the database
13-
DB_PASS: 'jellyseerr' # Password of the user used to connect to the database
14-
DB_NAME: 'jellyseerr' # The name of the database to connect to
12+
DB_USER: 'seerr' # Username used to connect to the database
13+
DB_PASS: 'seerr' # Password of the user used to connect to the database
14+
DB_NAME: 'seerr' # The name of the database to connect to
1515
DB_LOG_QUERIES: 'false' # Whether to log the DB queries for debugging
1616
DB_USE_SSL: 'false' # Whether to enable ssl for database connection
1717
volumes:
@@ -25,9 +25,9 @@ services:
2525
postgres:
2626
image: postgres:18
2727
environment:
28-
POSTGRES_USER: jellyseerr
29-
POSTGRES_PASSWORD: jellyseerr
30-
POSTGRES_DB: jellyseerr
28+
POSTGRES_USER: seerr
29+
POSTGRES_PASSWORD: seerr
30+
POSTGRES_DB: seerr
3131
ports:
3232
- '5432:5432'
3333
volumes:

compose.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
services:
2-
jellyseerr:
2+
seerr:
33
build:
44
context: .
55
dockerfile: Dockerfile.local

docs/README.md

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ sidebar_position: 1
55

66
# Introduction
77

8-
Welcome to the Jellyseerr Documentation.
8+
Welcome to the Seerr Documentation.
99

10-
**Jellyseerr** is a free and open source software application for managing requests for your media library. It integrates with the media server of your choice: [Jellyfin](https://jellyfin.org), [Plex](https://plex.tv), and [Emby](https://emby.media/). In addition, it integrates with your existing services, such as **[Sonarr](https://sonarr.tv/)**, **[Radarr](https://radarr.video/)**.
10+
**Seerr** is a free and open source software application for managing requests for your media library. It integrates with the media server of your choice: [Jellyfin](https://jellyfin.org), [Plex](https://plex.tv), and [Emby](https://emby.media/). In addition, it integrates with your existing services, such as **[Sonarr](https://sonarr.tv/)**, **[Radarr](https://radarr.video/)**.
1111

1212
## Features
1313

@@ -26,16 +26,10 @@ Welcome to the Jellyseerr Documentation.
2626
- Easily **Watchlist** or **Blacklist** media.
2727
- More features to come!
2828

29-
## Motivation
30-
31-
The primary motivation for starting Jellyseerr was to bring Jellyfin and Emby support to Overseerr. However, over time, **Jellyseerr** has evolved into its own distinct application with unique features. Designed as a one-stop shop for media requests, it offers a simple, easy-to-use experience for managing requests on Jellyfin, Emby, and Plex servers.
32-
3329
## We need your help!
3430

35-
[Jellyseerr](https://github.com/fallenbagel/jellyseerr) is an ambitious project where developers/contributors poured a lot of work into, and that builds on top of [Overseerr](https://github.com/sct/overseerr). And we have a lot more to do as well.
36-
37-
We value your feedback and support in identifying and fixing bugs to make Jellyseerr even better. As an open-source project, we welcome contributions from everyone. While Jellyseerr has diverged from Overseerr and evolved into its own unique application, we still encourage contributions to Overseerr, as it played a crucial role in inspiring what Jellyseerr has become today.
31+
[Seerr](https://github.com/seerr-team/seerr) is an ambitious project developers/contributors poured a lot of work into, and we still have a lot more to do. Seerr is the result of a collaborative effort between the original Overseerr project and the Jellyseerr fork, created to deliver an excellent request management solution for Plex, Jellyfin and Emby users.
3832

39-
Contribution includes building new features, patching bugs, translating the application, or even just writing documentation.
33+
We value your feedback and support in identifying and fixing bugs to make Seerr even better. As an open-source project, we welcome contributions from everyone. Contribution includes building new features, patching bugs, translating the application, or even just writing documentation.
4034

41-
If you would like to contribute, please be sure to review our [contribution guidelines](https://github.com/fallenbagel/jellyseerr/blob/develop/CONTRIBUTING.md).
35+
If you would like to contribute, please be sure to review our [contribution guidelines](https://github.com/seerr-team/seerr/blob/develop/CONTRIBUTING.md).

docs/extending-jellyseerr/_category_.json

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"label": "Extending Seerr",
3+
"position": 3,
4+
"link": {
5+
"type": "generated-index",
6+
"title": "Extending Seerr",
7+
"description": "Extend Seerr to your liking"
8+
}
9+
}

docs/extending-jellyseerr/database-config.mdx renamed to docs/extending-seerr/database-config.mdx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
title: Configuring the Database (Advanced)
3-
description: Configure the database for Jellyseerr
3+
description: Configure the database for Seerr
44
sidebar_position: 2
55
---
66
# Configuring the Database
77

8-
Jellyseerr supports SQLite and PostgreSQL. The database connection can be configured using the following environment variables:
8+
Seerr supports SQLite and PostgreSQL. The database connection can be configured using the following environment variables:
99

1010
## SQLite Options
1111

@@ -34,7 +34,7 @@ DB_HOST="localhost" # (optional) The host (URL) of the database. The default is
3434
DB_PORT="5432" # (optional) The port to connect to. The default is "5432".
3535
DB_USER= # (required) Username used to connect to the database.
3636
DB_PASS= # (required) Password of the user used to connect to the database.
37-
DB_NAME="jellyseerr" # (optional) The name of the database to connect to. The default is "jellyseerr".
37+
DB_NAME="seerr" # (optional) The name of the database to connect to. The default is "seerr".
3838
DB_LOG_QUERIES="false" # (optional) Whether to log the DB queries for debugging. The default is "false".
3939
```
4040

@@ -47,7 +47,7 @@ DB_TYPE=postgres # Which DB engine to use, either sqlite or postgres. The defaul
4747
DB_SOCKET_PATH="/var/run/postgresql" # (required) The path to the PostgreSQL Unix socket directory.
4848
DB_USER= # (required) Username used to connect to the database.
4949
DB_PASS= # (optional) Password of the user used to connect to the database, depending on the server's authentication configuration.
50-
DB_NAME="jellyseerr" # (optional) The name of the database to connect to. The default is "jellyseerr".
50+
DB_NAME="seerr" # (optional) The name of the database to connect to. The default is "seerr".
5151
DB_LOG_QUERIES="false" # (optional) Whether to log the DB queries for debugging. The default is "false".
5252
```
5353

@@ -91,9 +91,9 @@ DB_SSL_CERT_FILE= # (optional) Path to certificate chain in pem format for the p
9191

9292
### Migrating from SQLite to PostgreSQL
9393

94-
1. Set up your PostgreSQL database and configure Jellyseerr to use it
95-
2. Run Jellyseerr to create the tables in the PostgreSQL database
96-
3. Stop Jellyseerr
94+
1. Set up your PostgreSQL database and configure Seerr to use it
95+
2. Run Seerr to create the tables in the PostgreSQL database
96+
3. Stop Seerr
9797
4. Run the following command to export the data from the SQLite database and import it into the PostgreSQL database:
9898

9999
:::info
@@ -112,7 +112,7 @@ import TabItem from '@theme/TabItem';
112112
<Tabs>
113113
<TabItem value="docker" label="Using pgloader Container (Recommended)" default>
114114

115-
**Recommended method**: Use the pgloader container even for standalone Jellyseerr installations. This avoids building from source and ensures compatibility.
115+
**Recommended method**: Use the pgloader container even for standalone Seerr installations. This avoids building from source and ensures compatibility.
116116

117117
```bash
118118
# For standalone installations (no Docker network needed)
@@ -126,7 +126,7 @@ docker run --rm \
126126
**For Docker Compose setups**: Add the network parameter if your PostgreSQL is also in a container:
127127
```bash
128128
docker run --rm \
129-
--network your-jellyseerr-network \
129+
--network your-seerr-network \
130130
-v /path/to/your/config/db.sqlite3:/db.sqlite3:ro \
131131
ghcr.io/ralgar/pgloader:pr-1531 \
132132
pgloader --with "quote identifiers" --with "data only" \
@@ -167,4 +167,4 @@ Once pgloader is built, run the migration:
167167
</TabItem>
168168
</Tabs>
169169

170-
5. Start Jellyseerr
170+
5. Start Seerr

0 commit comments

Comments
 (0)