mirror of
https://github.com/fallenbagel/jellyseerr.git
synced 2025-12-31 19:59:31 -05:00
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
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
---
|
||||
title: Build From Source (Advanced)
|
||||
description: Install Jellyseerr by building from source
|
||||
description: Install Seerr by building from source
|
||||
sidebar_position: 2
|
||||
---
|
||||
# Build from Source (Advanced)
|
||||
:::warning
|
||||
This method is not recommended for most users. It is intended for advanced users who are familiar with managing their own server infrastructure.
|
||||
|
||||
Refer to [Configuring Databases](/extending-jellyseerr/database-config#postgresql-options) for details on how to configure your database.
|
||||
Refer to [Configuring Databases](/extending-seerr/database-config#postgresql-options) for details on how to configure your database.
|
||||
:::
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
@@ -20,11 +20,11 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
## Unix (Linux, macOS)
|
||||
### Installation
|
||||
1. Assuming you want the working directory to be `/opt/jellyseerr`, create the directory and navigate to it:
|
||||
1. Assuming you want the working directory to be `/opt/seerr`, create the directory and navigate to it:
|
||||
```bash
|
||||
sudo mkdir -p /opt/jellyseerr && cd /opt/jellyseerr
|
||||
sudo mkdir -p /opt/seerr && cd /opt/seerr
|
||||
```
|
||||
2. Clone the Jellyseerr repository and checkout the develop branch:
|
||||
2. Clone the Seerr repository and checkout the develop branch:
|
||||
```bash
|
||||
git clone https://github.com/fallenbagel/jellyseerr.git
|
||||
cd jellyseerr
|
||||
@@ -38,26 +38,26 @@ CYPRESS_INSTALL_BINARY=0 pnpm install --frozen-lockfile
|
||||
```bash
|
||||
pnpm build
|
||||
```
|
||||
5. Start Jellyseerr:
|
||||
5. Start Seerr:
|
||||
```bash
|
||||
pnpm start
|
||||
```
|
||||
|
||||
:::info
|
||||
You can now access Jellyseerr by visiting `http://localhost:5055` in your web browser.
|
||||
You can now access Seerr by visiting `http://localhost:5055` in your web browser.
|
||||
:::
|
||||
|
||||
#### Extending the installation
|
||||
<Tabs groupId="unix-extensions" queryString>
|
||||
<TabItem value="linux" label="Linux">
|
||||
To run jellyseerr as a systemd service:
|
||||
1. create the environment file at `/etc/jellyseerr/jellyseerr.conf`:
|
||||
To run seerr as a systemd service:
|
||||
1. create the environment file at `/etc/seerr/seerr.conf`:
|
||||
```bash
|
||||
## Jellyseerr's default port is 5055, if you want to use both, change this.
|
||||
## Seerr's default port is 5055, if you want to use both, change this.
|
||||
## specify on which port to listen
|
||||
PORT=5055
|
||||
|
||||
## specify on which interface to listen, by default jellyseerr listens on all interfaces
|
||||
## specify on which interface to listen, by default seerr listens on all interfaces
|
||||
#HOST=127.0.0.1
|
||||
|
||||
## Uncomment if you want to force Node.js to resolve IPv4 before IPv6 (advanced users only)
|
||||
@@ -69,19 +69,19 @@ which node
|
||||
```
|
||||
Copy the path to node, it should be something like `/usr/bin/node`.
|
||||
|
||||
3. Create the systemd service file at `/etc/systemd/system/jellyseerr.service`, using either `sudo systemctl edit jellyseerr` or `sudo nano /etc/systemd/system/jellyseerr.service`:
|
||||
3. Create the systemd service file at `/etc/systemd/system/seerr.service`, using either `sudo systemctl edit seerr` or `sudo nano /etc/systemd/system/seerr.service`:
|
||||
```bash
|
||||
[Unit]
|
||||
Description=Jellyseerr Service
|
||||
Description=Seerr Service
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=/etc/jellyseerr/jellyseerr.conf
|
||||
EnvironmentFile=/etc/seerr/seerr.conf
|
||||
Environment=NODE_ENV=production
|
||||
Type=exec
|
||||
Restart=on-failure
|
||||
WorkingDirectory=/opt/jellyseerr
|
||||
WorkingDirectory=/opt/seerr
|
||||
ExecStart=/usr/bin/node dist/index.js
|
||||
|
||||
[Install]
|
||||
@@ -93,33 +93,33 @@ If you are using a different path to node, replace `/usr/bin/node` with the path
|
||||
|
||||
4. Enable and start the service:
|
||||
```bash
|
||||
sudo systemctl enable jellyseerr
|
||||
sudo systemctl start jellyseerr
|
||||
sudo systemctl enable seerr
|
||||
sudo systemctl start seerr
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="macos" label="macOS">
|
||||
To run jellyseerr as a launchd service:
|
||||
To run seerr as a launchd service:
|
||||
1. Find the path to node:
|
||||
```bash
|
||||
which node
|
||||
```
|
||||
Copy the path to node, it should be something like `/usr/local/bin/node`.
|
||||
|
||||
2. Create a launchd plist file at `~/Library/LaunchAgents/com.jellyseerr.plist`:
|
||||
2. Create a launchd plist file at `~/Library/LaunchAgents/com.seerr.plist`:
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>com.jellyseerr</string>
|
||||
<string>com.seerr</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/usr/local/bin/node</string>
|
||||
<string>/opt/jellyseerr/dist/index.js</string>
|
||||
<string>/opt/seerr/dist/index.js</string>
|
||||
</array>
|
||||
<key>WorkingDirectory</key>
|
||||
<string>/opt/jellyseerr</string>
|
||||
<string>/opt/seerr</string>
|
||||
<key>EnvironmentVariables</key>
|
||||
<dict>
|
||||
<key>NODE_ENV</key>
|
||||
@@ -139,11 +139,11 @@ If you are using a different path to node, replace `/usr/local/bin/node` with th
|
||||
:::
|
||||
3. Load the service:
|
||||
```bash
|
||||
sudo launchctl load ~/Library/LaunchAgents/com.jellyseerr.plist
|
||||
sudo launchctl load ~/Library/LaunchAgents/com.seerr.plist
|
||||
```
|
||||
3. Start the service:
|
||||
```bash
|
||||
sudo launchctl start com.jellyseerr
|
||||
sudo launchctl start com.seerr
|
||||
```
|
||||
4. To ensure the service starts on boot, run the following command:
|
||||
```bash
|
||||
@@ -151,14 +151,14 @@ sudo lauchctl load
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="pm2" label="PM2">
|
||||
To run jellyseerr as a PM2 service:
|
||||
To run seerr as a PM2 service:
|
||||
1. Install PM2:
|
||||
```bash
|
||||
npm install -g pm2
|
||||
```
|
||||
2. Start jellyseerr with PM2:
|
||||
2. Start seerr with PM2:
|
||||
```bash
|
||||
pm2 start dist/index.js --name jellyseerr --node-args="--NODE_ENV=production"
|
||||
pm2 start dist/index.js --name seerr --node-args="--NODE_ENV=production"
|
||||
```
|
||||
3. Save the process list:
|
||||
```bash
|
||||
@@ -171,35 +171,35 @@ pm2 startup
|
||||
**Managing the service**
|
||||
- To start the service:
|
||||
```powershell
|
||||
pm2 start jellyseerr
|
||||
pm2 start seerr
|
||||
```
|
||||
- To stop the service:
|
||||
```powershell
|
||||
pm2 stop jellyseerr
|
||||
pm2 stop seerr
|
||||
```
|
||||
- To restart the service:
|
||||
```powershell
|
||||
pm2 restart jellyseerr
|
||||
pm2 restart seerr
|
||||
```
|
||||
- To view the logs:
|
||||
```powershell
|
||||
pm2 logs jellyseerr
|
||||
pm2 logs seerr
|
||||
```
|
||||
- To view the status:
|
||||
```powershell
|
||||
pm2 status jellyseerr
|
||||
pm2 status seerr
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Windows
|
||||
### Installation
|
||||
1. Assuming you want the working directory to be `C:\jellyseerr`, create the directory and navigate to it:
|
||||
1. Assuming you want the working directory to be `C:\seerr`, create the directory and navigate to it:
|
||||
```powershell
|
||||
mkdir C:\jellyseerr
|
||||
cd C:\jellyseerr
|
||||
mkdir C:\seerr
|
||||
cd C:\seerr
|
||||
```
|
||||
2. Clone the Jellyseerr repository and checkout the develop branch:
|
||||
2. Clone the Seerr repository and checkout the develop branch:
|
||||
```powershell
|
||||
git clone https://github.com/fallenbagel/jellyseerr.git .
|
||||
git checkout main
|
||||
@@ -213,24 +213,24 @@ set CYPRESS_INSTALL_BINARY=0 && pnpm install --frozen-lockfile
|
||||
```powershell
|
||||
pnpm build
|
||||
```
|
||||
5. Start Jellyseerr:
|
||||
5. Start Seerr:
|
||||
```powershell
|
||||
pnpm start
|
||||
```
|
||||
|
||||
:::tip
|
||||
You can add the environment variables to a `.env` file in the Jellyseerr directory.
|
||||
You can add the environment variables to a `.env` file in the Seerr directory.
|
||||
:::
|
||||
|
||||
:::info
|
||||
You can now access Jellyseerr by visiting `http://localhost:5055` in your web browser.
|
||||
You can now access Seerr by visiting `http://localhost:5055` in your web browser.
|
||||
:::
|
||||
|
||||
#### Extending the installation
|
||||
<Tabs groupId="windows-extensions" queryString>
|
||||
<TabItem value="task-scheduler" label="Task Scheduler">
|
||||
To run jellyseerr as a bat script:
|
||||
1. Create a file named `start-jellyseerr.bat` in the jellyseerr directory:
|
||||
To run seerr as a bat script:
|
||||
1. Create a file named `start-seerr.bat` in the seerr directory:
|
||||
```bat
|
||||
@echo off
|
||||
set PORT=5055
|
||||
@@ -240,43 +240,43 @@ node dist/index.js
|
||||
2. Create a task in Task Scheduler:
|
||||
- Open Task Scheduler
|
||||
- Click on "Create Basic Task"
|
||||
- Name the task "Jellyseerr"
|
||||
- Name the task "Seerr"
|
||||
- Set the trigger to "When the computer starts"
|
||||
- Set the action to "Start a program"
|
||||
- Set the program/script to the path of the `start-jellyseerr.bat` file
|
||||
- Set the "Start in" to the jellyseerr directory.
|
||||
- Set the program/script to the path of the `start-seerr.bat` file
|
||||
- Set the "Start in" to the seerr directory.
|
||||
- Click "Finish"
|
||||
|
||||
Now, Jellyseerr will start when the computer boots up in the background.
|
||||
Now, Seerr will start when the computer boots up in the background.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="nssm" label="NSSM">
|
||||
To run jellyseerr as a service:
|
||||
To run seerr as a service:
|
||||
1. Download the [Non-Sucking Service Manager](https://nssm.cc/download)
|
||||
2. Install NSSM:
|
||||
```powershell
|
||||
nssm install Jellyseerr "C:\Program Files\nodejs\node.exe" "C:\jellyseerr\dist\index.js"
|
||||
nssm set Jellyseerr AppDirectory "C:\jellyseerr"
|
||||
nssm set Jellyseerr AppEnvironmentExtra NODE_ENV=production
|
||||
nssm install Seerr "C:\Program Files\nodejs\node.exe" "C:\seerr\dist\index.js"
|
||||
nssm set Seerr AppDirectory "C:\seerr"
|
||||
nssm set Seerr AppEnvironmentExtra NODE_ENV=production
|
||||
```
|
||||
3. Start the service:
|
||||
```powershell
|
||||
nssm start Jellyseerr
|
||||
nssm start Seerr
|
||||
```
|
||||
4. To ensure the service starts on boot, run the following command:
|
||||
```powershell
|
||||
nssm set Jellyseerr Start SERVICE_AUTO_START
|
||||
nssm set Seerr Start SERVICE_AUTO_START
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="pm2" label="PM2">
|
||||
To run jellyseerr as a PM2 service:
|
||||
To run seerr as a PM2 service:
|
||||
1. Install PM2:
|
||||
```powershell
|
||||
npm install -g pm2
|
||||
```
|
||||
2. Start jellyseerr with PM2:
|
||||
2. Start seerr with PM2:
|
||||
```powershell
|
||||
pm2 start dist/index.js --name jellyseerr --node-args="--NODE_ENV=production"
|
||||
pm2 start dist/index.js --name seerr --node-args="--NODE_ENV=production"
|
||||
```
|
||||
3. Save the process list:
|
||||
```powershell
|
||||
@@ -289,31 +289,31 @@ pm2 startup
|
||||
##### Managing the service
|
||||
- To start the service:
|
||||
```powershell
|
||||
pm2 start jellyseerr
|
||||
pm2 start seerr
|
||||
```
|
||||
- To stop the service:
|
||||
```powershell
|
||||
pm2 stop jellyseerr
|
||||
pm2 stop seerr
|
||||
```
|
||||
- To restart the service:
|
||||
```powershell
|
||||
pm2 restart jellyseerr
|
||||
pm2 restart seerr
|
||||
```
|
||||
- To view the logs:
|
||||
```powershell
|
||||
pm2 logs jellyseerr
|
||||
pm2 logs seerr
|
||||
```
|
||||
- To view the status:
|
||||
```powershell
|
||||
pm2 status jellyseerr
|
||||
pm2 status seerr
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### Updating
|
||||
To update Jellyseerr, navigate to the Jellyseerr directory and run the following commands:
|
||||
To update Seerr, navigate to the Seerr directory and run the following commands:
|
||||
```bash
|
||||
git pull
|
||||
```
|
||||
Then, follow the steps in the installation section to rebuild and restart Jellyseerr.
|
||||
Then, follow the steps in the installation section to rebuild and restart Seerr.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user