From 7d295017419c851d6794de7d9fabfc15be13e01d Mon Sep 17 00:00:00 2001 From: Marco Marinho Date: Sat, 1 Nov 2025 18:36:12 +0000 Subject: [PATCH] Move from Overseerr to Seerr Overseerr and Jellyseerr will be merged and be called Seerr, so let's prepare for it --- CLAUDE.md | 10 +++---- INSTALLATION.md | 18 ++++++------ README.md | 14 +++++----- docker/.env.defaults | 10 +++---- docker/.env.template | 2 +- docker/POST-INSTALL.md | 28 +++++++++---------- docker/compose-services/README.md | 8 +++--- docker/compose-services/plex.yml | 2 +- .../{overseerr.yml => seerr.yml} | 26 ++++++++--------- docker/docker-compose.yml | 2 +- .../backup-mediacenter-optimized.sh | 4 +-- scripts/maintenance/backup-mediacenter.sh | 8 +++--- setup.sh | 24 ++++++++-------- setup/lib/setup-users.sh | 8 +++--- setup/utils/split-compose.py | 6 ++-- 15 files changed, 85 insertions(+), 85 deletions(-) rename docker/compose-services/{overseerr.yml => seerr.yml} (56%) diff --git a/CLAUDE.md b/CLAUDE.md index fa8354e..f975f3a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ## Project Overview -Sailarr Installer is an automated Docker-based media streaming stack that leverages Real-Debrid and the *Arr ecosystem to create an "infinite" media library. This is a microservices architecture project using Docker Compose to orchestrate multiple services including Plex, Overseerr, Radarr, Sonarr, Prowlarr, Zilean, Zurg, Decypharr, Recyclarr, Autoscan, Tautulli, Homarr, Pinchflat, PlexTraktSync, and Watchtower. +Sailarr Installer is an automated Docker-based media streaming stack that leverages Real-Debrid and the *Arr ecosystem to create an "infinite" media library. This is a microservices architecture project using Docker Compose to orchestrate multiple services including Plex, Seerr, Radarr, Sonarr, Prowlarr, Zilean, Zurg, Decypharr, Recyclarr, Autoscan, Tautulli, Homarr, Pinchflat, PlexTraktSync, and Watchtower. ## Essential Commands @@ -69,7 +69,7 @@ crontab -l | grep healthcheck ### Data Flow Pattern The system uses a **symlink-based architecture** optimized for hardlinking: -1. **Request**: Overseerr → Radarr/Sonarr → Prowlarr → Zilean/Torrentio/Public Indexers +1. **Request**: Seerr → Radarr/Sonarr → Prowlarr → Zilean/Torrentio/Public Indexers 2. **Download**: Decypharr → Real-Debrid → Zurg → Rclone Mount 3. **Media**: Symlinks → Media folders → Plex → Autoscan refresh → PlexTraktSync tracking @@ -77,7 +77,7 @@ The system uses a **symlink-based architecture** optimized for hardlinking: **Core Media Stack:** - **Plex** - Media server (host network mode) -- **Overseerr** - Request management interface (port 5055) +- **Seerr** - Request management interface (port 5055) - **Radarr** - Movie management (port 7878) - **Sonarr** - TV show management (port 8989) - **Prowlarr** - Indexer manager (port 9696) @@ -112,7 +112,7 @@ ${ROOT_DIR}/ │ ├── radarr-config/ │ ├── sonarr-config/ │ ├── prowlarr-config/ -│ ├── overseerr-config/ +│ ├── seerr-config/ │ ├── zilean-config/ │ ├── zurg-config/ │ ├── autoscan-config/ @@ -202,7 +202,7 @@ ${ROOT_DIR}/ The setup.sh script creates system users with dynamic UIDs/GIDs starting from 1000 and sets critical permissions (775/664, umask 002). All containers run with these user IDs for proper file access. **System users created:** -- rclone, sonarr, radarr, recyclarr, prowlarr, overseerr, plex, decypharr, autoscan, pinchflat, zilean, zurg, tautulli, homarr, plextraktsync +- rclone, sonarr, radarr, recyclarr, prowlarr, seerr, plex, decypharr, autoscan, pinchflat, zilean, zurg, tautulli, homarr, plextraktsync All users are added to the `mediacenter` group for shared access. diff --git a/INSTALLATION.md b/INSTALLATION.md index ed7471f..16fec23 100644 --- a/INSTALLATION.md +++ b/INSTALLATION.md @@ -265,7 +265,7 @@ After answering all questions, the installer will: - Zilean (DMM Indexer) - PostgreSQL (Zilean database) - Decypharr (Download client) -- Overseerr (Request management) +- Seerr (Request management) - Autoscan (Library updates) - Traefik (if enabled) - Optional services (if selected) @@ -274,7 +274,7 @@ After answering all questions, the installer will: - Waits for services to generate API keys - Automatically extracts keys from configuration files - Stores them for automatic configuration -- **Displays API keys at the end of installation** for Overseerr setup +- **Displays API keys at the end of installation** for Seerr setup ### 5. Configure Services (1-2 minutes) @@ -336,7 +336,7 @@ Access URLs depend on whether you enabled Traefik or not. - **Radarr:** `http://YOUR_SERVER_IP:7878` - **Sonarr:** `http://YOUR_SERVER_IP:8989` - **Prowlarr:** `http://YOUR_SERVER_IP:9696` -- **Overseerr:** `http://YOUR_SERVER_IP:5055` +- **Seerr:** `http://YOUR_SERVER_IP:5055` - **Zilean:** `http://YOUR_SERVER_IP:8181` - **Decypharr:** `http://YOUR_SERVER_IP:8283` - **Tautulli:** `http://YOUR_SERVER_IP:8282` @@ -355,7 +355,7 @@ All services are accessible via subdomains: - **Radarr:** `https://radarr.YOUR_DOMAIN` - **Sonarr:** `https://sonarr.YOUR_DOMAIN` - **Prowlarr:** `https://prowlarr.YOUR_DOMAIN` -- **Overseerr:** `https://overseerr.YOUR_DOMAIN` +- **Seerr:** `https://seerr.YOUR_DOMAIN` - **Zilean:** `https://zilean.YOUR_DOMAIN` - **Decypharr:** `https://decypharr.YOUR_DOMAIN` - **Tautulli:** `https://tautulli.YOUR_DOMAIN` @@ -377,8 +377,8 @@ Replace `YOUR_DOMAIN` with the domain you configured during installation. - Configure metadata preferences - Set library scanner to run automatically -2. **Overseerr Setup:** - - Open Overseerr at your configured URL +2. **Seerr Setup:** + - Open Seerr at your configured URL - **📖 Follow the detailed guide:** [docker/POST-INSTALL.md](docker/POST-INSTALL.md) - The guide includes step-by-step instructions with exact values for: - Connecting to Plex @@ -394,9 +394,9 @@ Replace `YOUR_DOMAIN` with the domain you configured during installation. ### First Request -Once Overseerr is configured (see [docker/POST-INSTALL.md](docker/POST-INSTALL.md)): +Once Seerr is configured (see [docker/POST-INSTALL.md](docker/POST-INSTALL.md)): -1. Open Overseerr at your configured URL +1. Open Seerr at your configured URL 2. Search for a movie or TV show 3. Click "Request" and confirm 4. Monitor progress: @@ -574,7 +574,7 @@ If you encounter issues: Once installation is complete: -1. Configure Overseerr for content requests +1. Configure Seerr for content requests 2. Set up Plex libraries and metadata 3. Customize quality profiles in Recyclarr 4. Add additional indexers in Prowlarr diff --git a/README.md b/README.md index 603a9ef..2b39bf4 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ The stack includes these services, configured based on your selections: - **[Rclone](https://github.com/rclone/rclone)** - Mounts Zurg as local filesystem - **[Zilean](https://github.com/iPromKnight/zilean)** - Debrid Media Manager indexer - **[PostgreSQL](https://www.postgresql.org/)** - Database for Zilean -- **[Overseerr](https://overseerr.dev/)** - Media request management +- **[Seerr](https://seerr.dev/)** - Media request management - **[Autoscan](https://github.com/saltydk/autoscan)** - Automatic Plex library updates ### Download Client @@ -116,7 +116,7 @@ After installation, access your services at different URLs depending on your con - **Radarr:** `http://SERVER_IP:7878` - **Sonarr:** `http://SERVER_IP:8989` - **Prowlarr:** `http://SERVER_IP:9696` -- **Overseerr:** `http://SERVER_IP:5055` +- **Seerr:** `http://SERVER_IP:5055` - **Zilean:** `http://SERVER_IP:8181` - **Decypharr:** `http://SERVER_IP:8283` - **Tautulli:** `http://SERVER_IP:8282` @@ -135,7 +135,7 @@ Services are accessible via subdomains of your configured domain: - **Radarr:** `https://radarr.YOUR_DOMAIN` - **Sonarr:** `https://sonarr.YOUR_DOMAIN` - **Prowlarr:** `https://prowlarr.YOUR_DOMAIN` -- **Overseerr:** `https://overseerr.YOUR_DOMAIN` +- **Seerr:** `https://seerr.YOUR_DOMAIN` - **Zilean:** `https://zilean.YOUR_DOMAIN` - **Decypharr:** `https://decypharr.YOUR_DOMAIN` - **Tautulli:** `https://tautulli.YOUR_DOMAIN` @@ -155,7 +155,7 @@ After the automated installation completes, some services require manual configu **📖 See [docker/POST-INSTALL.md](docker/POST-INSTALL.md) for detailed step-by-step instructions on:** -- **Overseerr Setup** - Connect Plex account, select libraries, and add Radarr/Sonarr servers +- **Seerr Setup** - Connect Plex account, select libraries, and add Radarr/Sonarr servers - **Tautulli Setup** - Connect to Plex for analytics and monitoring - **Additional Configuration** - Optional tweaks and customizations @@ -165,7 +165,7 @@ The automated installer handles 95% of the setup, but these services need your P The workflow is completely automated: -1. **Request** content through Overseerr +1. **Request** content through Seerr 2. **Search** - Radarr/Sonarr search indexers via Prowlarr 3. **Find** - Zilean provides cached torrents from Debrid Media Manager 4. **Add** - Decypharr adds torrent to Real-Debrid @@ -239,7 +239,7 @@ cd /YOUR_INSTALL_DIR │ ├── radarr-config/ │ ├── sonarr-config/ │ ├── prowlarr-config/ -│ ├── overseerr-config/ +│ ├── seerr-config/ │ ├── zilean-config/ │ ├── zurg-config/ │ ├── autoscan-config/ @@ -461,7 +461,7 @@ This project builds upon the excellent work of many in the community: - **[Debrid Media Manager](https://github.com/debridmediamanager/debrid-media-manager)** - Torrent caching platform - **[dreulavelle/Prowlarr-Indexers](https://github.com/dreulavelle/Prowlarr-Indexers)** - Custom Prowlarr indexer definitions -And all the developers of the tools in this stack: Plex, Radarr, Sonarr, Prowlarr, Overseerr, Zurg, Rclone, Zilean, Decypharr, RDTClient, Autoscan, Traefik, Watchtower, Tautulli, Homarr, Dashdot, Pinchflat, and Plex-Trakt-Sync. +And all the developers of the tools in this stack: Plex, Radarr, Sonarr, Prowlarr, Seerr, Zurg, Rclone, Zilean, Decypharr, RDTClient, Autoscan, Traefik, Watchtower, Tautulli, Homarr, Dashdot, Pinchflat, and Plex-Trakt-Sync. ## License diff --git a/docker/.env.defaults b/docker/.env.defaults index 4b9155a..dbcc5ed 100644 --- a/docker/.env.defaults +++ b/docker/.env.defaults @@ -11,8 +11,8 @@ PLEX_IMAGE=lscr.io/linuxserver/plex PLEX_TAG=latest -OVERSEERR_IMAGE=sctx/overseerr -OVERSEERR_TAG=latest +SEERR_IMAGE=ghcr.io/seerr-team/seerr +SEERR_TAG=latest RADARR_IMAGE=lscr.io/linuxserver/radarr RADARR_TAG=latest @@ -77,7 +77,7 @@ PINCHFLAT_TAG=v2025.6.6 # ============================================================================= # SERVICE PORTS - Customizable for conflict resolution # ============================================================================= -OVERSEERR_PORT=5055 +SEERR_PORT=5055 RADARR_PORT=7878 SONARR_PORT=8989 PROWLARR_PORT=9696 @@ -102,7 +102,7 @@ RCLONE_UID=13001 SONARR_UID=13002 RADARR_UID=13003 PROWLARR_UID=13004 -OVERSEERR_UID=13005 +SEERR_UID=13005 PLEX_UID=13006 RECYCLARR_UID=13007 RDTCLIENT_UID=13008 @@ -126,7 +126,7 @@ MEDIACENTER_GATEWAY=172.30.0.1 # ============================================================================= # TRAEFIK SERVICE NAMES - Standard service identifiers # ============================================================================= -OVERSEERR_TRAEFIK_NAME=overseerr +SEERR_TRAEFIK_NAME=seerr RADARR_TRAEFIK_NAME=radarr SONARR_TRAEFIK_NAME=sonarr PROWLARR_TRAEFIK_NAME=prowlarr diff --git a/docker/.env.template b/docker/.env.template index a5cf3b9..3f3f44a 100644 --- a/docker/.env.template +++ b/docker/.env.template @@ -53,7 +53,7 @@ RCLONE_UID=13001 SONARR_UID=13002 RADARR_UID=13003 PROWLARR_UID=13004 -OVERSEERR_UID=13005 +SEERR_UID=13005 PLEX_UID=13006 RECYCLARR_UID=13007 RDTCLIENT_UID=13008 diff --git a/docker/POST-INSTALL.md b/docker/POST-INSTALL.md index 0f5c956..ade7914 100644 --- a/docker/POST-INSTALL.md +++ b/docker/POST-INSTALL.md @@ -4,7 +4,7 @@ This guide covers the manual configuration steps required after running the auto ## Table of Contents -1. [Overseerr Configuration](#overseerr-configuration) +1. [Seerr Configuration](#seerr-configuration) - [Connect Plex Account](#1-connect-plex-account) - [Select Libraries](#2-select-libraries) - [Add Radarr Server](#3-add-radarr-server) @@ -14,20 +14,20 @@ This guide covers the manual configuration steps required after running the auto --- -## Overseerr Configuration +## Seerr Configuration -Overseerr is your media request management system that connects to Plex, Radarr, and Sonarr. +Seerr is your media request management system that connects to Plex, Radarr, and Sonarr. -### Access Overseerr +### Access Seerr 1. Open your browser and navigate to: `http://YOUR_SERVER_IP:5055` -2. You'll be greeted with the Overseerr setup wizard +2. You'll be greeted with the Seerr setup wizard ### 1. Connect Plex Account **Step 1: Sign in with Plex** - Click **"Sign in with Plex"** -- Authorize Overseerr to access your Plex account +- Authorize Seerr to access your Plex account - Select your Plex server from the list **Step 2: Server Configuration** @@ -38,7 +38,7 @@ Overseerr is your media request management system that connects to Plex, Radarr, ### 2. Select Libraries **Step 3: Library Selection** -- Enable the libraries you want Overseerr to manage: +- Enable the libraries you want Seerr to manage: - ☑ **Movies** (your Plex Movies library) - ☑ **TV Shows** (your Plex TV Shows library) - Click **Continue** @@ -143,10 +143,10 @@ Or find it in the installation summary printed at the end of `./setup.sh`. ### 5. Finish Setup -**Step 6: Complete Overseerr Setup** +**Step 6: Complete Seerr Setup** - Review your settings - Click **"Finish Setup"** -- Overseerr is now ready to use! +- Seerr is now ready to use! --- @@ -186,7 +186,7 @@ No additional configuration needed unless you want to add more indexers. | Service | URL | Purpose | |---------|-----|---------| -| **Overseerr** | `http://YOUR_SERVER_IP:5055` | Media requests | +| **Seerr** | `http://YOUR_SERVER_IP:5055` | Media requests | | **Plex** | `http://YOUR_SERVER_IP:32400/web` | Media server | | **Radarr** | `http://YOUR_SERVER_IP:7878` | Movie management | | **Sonarr** | `http://YOUR_SERVER_IP:8989` | TV show management | @@ -199,7 +199,7 @@ No additional configuration needed unless you want to add more indexers. ## Troubleshooting -### Overseerr Can't Connect to Radarr/Sonarr +### Seerr Can't Connect to Radarr/Sonarr **Problem**: Test button fails with connection error @@ -225,7 +225,7 @@ No additional configuration needed unless you want to add more indexers. 4. Check Docker network: ```bash - docker network inspect mediacenter | grep -A 5 overseerr + docker network inspect mediacenter | grep -A 5 seerr ``` ### Quality Profiles Not Loading @@ -272,7 +272,7 @@ If you encounter issues: 1. Check service logs: ```bash - docker logs overseerr + docker logs seerr docker logs radarr docker logs sonarr ``` @@ -295,4 +295,4 @@ If you encounter issues: **Configuration complete!** 🎉 -You can now start requesting media through Overseerr. Movies and TV shows will be automatically downloaded and organized by Radarr/Sonarr. +You can now start requesting media through Seerr. Movies and TV shows will be automatically downloaded and organized by Radarr/Sonarr. diff --git a/docker/compose-services/README.md b/docker/compose-services/README.md index 6348661..f2498df 100755 --- a/docker/compose-services/README.md +++ b/docker/compose-services/README.md @@ -13,7 +13,7 @@ Each service is defined in its own YAML file for better organization and mainten │ ├── volumes.yml # Volume definitions │ ├── traefik.yml # Reverse proxy │ ├── plex.yml # Media server -│ ├── overseerr.yml # Request management +│ ├── seerr.yml # Request management │ ├── radarr.yml # Movie management │ ├── sonarr.yml # TV show management │ └── ... # Other services @@ -28,8 +28,8 @@ docker compose up -d ### Start specific services: ```bash -# Start only Plex and Overseerr -docker compose up -d plex overseerr +# Start only Plex and Seerr +docker compose up -d plex seerr # Start media management stack docker compose up -d radarr sonarr prowlarr @@ -69,7 +69,7 @@ docker compose up -d radarr - `plex.yml` - Plex Media Server ### Request Management -- `overseerr.yml` - Media requests +- `seerr.yml` - Media requests ### Media Management (*arr stack) - `radarr.yml` - Movies diff --git a/docker/compose-services/plex.yml b/docker/compose-services/plex.yml index c7ef856..82254d6 100755 --- a/docker/compose-services/plex.yml +++ b/docker/compose-services/plex.yml @@ -25,7 +25,7 @@ services: retries: 5 start_period: 90s depends_on: - overseerr: + seerr: condition: service_healthy restart: true rclone: diff --git a/docker/compose-services/overseerr.yml b/docker/compose-services/seerr.yml similarity index 56% rename from docker/compose-services/overseerr.yml rename to docker/compose-services/seerr.yml index 2583745..3b37c53 100755 --- a/docker/compose-services/overseerr.yml +++ b/docker/compose-services/seerr.yml @@ -1,14 +1,14 @@ -# Overseerr - Request Management +# Seerr - Request Management services: - overseerr: - image: ${OVERSEERR_IMAGE}:${OVERSEERR_TAG} + seerr: + image: ${SEERR_IMAGE}:${SEERR_TAG} env_file: - ../.env.defaults - ../.env.local - container_name: overseerr + container_name: seerr cpus: 0.5 - user: ${OVERSEERR_UID}:${MEDIACENTER_GID} + user: ${SEERR_UID}:${MEDIACENTER_GID} networks: mediacenter: ipv4_address: 172.30.0.12 @@ -19,17 +19,17 @@ services: retries: 4 start_period: 5s environment: - - PUID=${OVERSEERR_UID} + - PUID=${SEERR_UID} - PGID=${MEDIACENTER_GID} - UMASK=002 - TZ=${TIMEZONE} tmpfs: - - /tmp:mode=770,noexec,size=30M,uid=${OVERSEERR_UID},gid=${MEDIACENTER_GID} - - /app/config/logs:mode=770,size=50M,uid=${OVERSEERR_UID},gid=${MEDIACENTER_GID} + - /tmp:mode=770,noexec,size=30M,uid=${SEERR_UID},gid=${MEDIACENTER_GID} + - /app/config/logs:mode=770,size=50M,uid=${SEERR_UID},gid=${MEDIACENTER_GID} volumes: - - ${ROOT_DIR}/config/overseerr-config:/app/config + - ${ROOT_DIR}/config/seerr-config:/app/config ports: - - ${OVERSEERR_PORT}:5055 + - ${SEERR_PORT}:5055 restart: on-failure:5 logging: driver: local @@ -38,9 +38,9 @@ services: max-size: 10m labels: - traefik.enable=true - - traefik.http.routers.overseerr.rule=Host(`${OVERSEERR_TRAEFIK_NAME}.${DOMAIN_NAME}`) - - traefik.http.routers.overseerr.entrypoints=web - - traefik.http.services.overseerr.loadbalancer.server.port=5055 + - traefik.http.routers.seerr.rule=Host(`${SEERR_TRAEFIK_NAME}.${DOMAIN_NAME}`) + - traefik.http.routers.seerr.entrypoints=web + - traefik.http.services.seerr.loadbalancer.server.port=5055 depends_on: sonarr: condition: service_healthy diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 3233c64..7a456fa 100755 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -18,7 +18,7 @@ include: - compose-services/plex.yml # Request Management - - compose-services/overseerr.yml + - compose-services/seerr.yml # Media Management - compose-services/radarr.yml diff --git a/scripts/maintenance/backup-mediacenter-optimized.sh b/scripts/maintenance/backup-mediacenter-optimized.sh index 8f054fc..374265f 100755 --- a/scripts/maintenance/backup-mediacenter-optimized.sh +++ b/scripts/maintenance/backup-mediacenter-optimized.sh @@ -110,11 +110,11 @@ touch "${BACKUP_DIR}/data/realdebrid-zurg/.gitkeep" # 5. Backup system user configuration info echo " → System users information" getent group mediacenter > "${BACKUP_DIR}/mediacenter-group.txt" 2>/dev/null || echo "Group mediacenter not found" > "${BACKUP_DIR}/mediacenter-group.txt" -getent passwd | grep -E '^(rclone|sonarr|radarr|prowlarr|overseerr|plex|recyclarr|rdtclient|autoscan|traefik|pinchflat|plextraktsync|homarr|dashdot):' > "${BACKUP_DIR}/mediacenter-users.txt" 2>/dev/null || echo "No mediacenter users found" > "${BACKUP_DIR}/mediacenter-users.txt" +getent passwd | grep -E '^(rclone|sonarr|radarr|prowlarr|seerr|plex|recyclarr|rdtclient|autoscan|traefik|pinchflat|plextraktsync|homarr|dashdot):' > "${BACKUP_DIR}/mediacenter-users.txt" 2>/dev/null || echo "No mediacenter users found" > "${BACKUP_DIR}/mediacenter-users.txt" # 6. Docker images list echo " → Docker images list" -docker images --format "table {{.Repository}}:{{.Tag}}\t{{.ID}}\t{{.Size}}" | grep -E "(mediacenter|traefik|plex|overseerr|prowlarr|sonarr|radarr|zurg|zilean|rclone|autoscan|homarr|dashdot|recyclarr|rdtclient|pinchflat|plextraktsync|watchtower|postgres)" > "${BACKUP_DIR}/docker-images.txt" 2>/dev/null || echo "No mediacenter images found" > "${BACKUP_DIR}/docker-images.txt" +docker images --format "table {{.Repository}}:{{.Tag}}\t{{.ID}}\t{{.Size}}" | grep -E "(mediacenter|traefik|plex|seerr|prowlarr|sonarr|radarr|zurg|zilean|rclone|autoscan|homarr|dashdot|recyclarr|rdtclient|pinchflat|plextraktsync|watchtower|postgres)" > "${BACKUP_DIR}/docker-images.txt" 2>/dev/null || echo "No mediacenter images found" > "${BACKUP_DIR}/docker-images.txt" # 7. Create restore instructions cat > "${BACKUP_DIR}/RESTORE-INSTRUCTIONS.md" << 'EOF' diff --git a/scripts/maintenance/backup-mediacenter.sh b/scripts/maintenance/backup-mediacenter.sh index 3a70d7c..8883d68 100755 --- a/scripts/maintenance/backup-mediacenter.sh +++ b/scripts/maintenance/backup-mediacenter.sh @@ -54,11 +54,11 @@ touch "${BACKUP_DIR}/data/realdebrid-zurg/.gitkeep" # 5. Backup system user configuration info echo " → System users information" getent group mediacenter > "${BACKUP_DIR}/mediacenter-group.txt" 2>/dev/null || echo "Group mediacenter not found" > "${BACKUP_DIR}/mediacenter-group.txt" -getent passwd | grep -E '^(rclone|sonarr|radarr|prowlarr|overseerr|plex|recyclarr|rdtclient|autoscan|traefik|pinchflat|plextraktsync|homarr|dashdot):' > "${BACKUP_DIR}/mediacenter-users.txt" 2>/dev/null || echo "No mediacenter users found" > "${BACKUP_DIR}/mediacenter-users.txt" +getent passwd | grep -E '^(rclone|sonarr|radarr|prowlarr|seerr|plex|recyclarr|rdtclient|autoscan|traefik|pinchflat|plextraktsync|homarr|dashdot):' > "${BACKUP_DIR}/mediacenter-users.txt" 2>/dev/null || echo "No mediacenter users found" > "${BACKUP_DIR}/mediacenter-users.txt" # 6. Docker images list echo " → Docker images list" -docker images --format "table {{.Repository}}:{{.Tag}}\t{{.ID}}\t{{.Size}}" | grep -E "(mediacenter|traefik|plex|overseerr|prowlarr|sonarr|radarr|zurg|zilean|rclone|autoscan|homarr|dashdot|recyclarr|rdtclient|pinchflat|plextraktsync|watchtower|postgres)" > "${BACKUP_DIR}/docker-images.txt" 2>/dev/null || echo "No mediacenter images found" > "${BACKUP_DIR}/docker-images.txt" +docker images --format "table {{.Repository}}:{{.Tag}}\t{{.ID}}\t{{.Size}}" | grep -E "(mediacenter|traefik|plex|seerr|prowlarr|sonarr|radarr|zurg|zilean|rclone|autoscan|homarr|dashdot|recyclarr|rdtclient|pinchflat|plextraktsync|watchtower|postgres)" > "${BACKUP_DIR}/docker-images.txt" 2>/dev/null || echo "No mediacenter images found" > "${BACKUP_DIR}/docker-images.txt" # 7. Create restore instructions cat > "${BACKUP_DIR}/RESTORE-INSTRUCTIONS.md" << 'EOF' @@ -127,7 +127,7 @@ cat > "${BACKUP_DIR}/RESTORE-INSTRUCTIONS.md" << 'EOF' ## Service Access - Homarr Dashboard: http://home.medianita -- Overseerr: http://overseerr.medianita +- Seerr: http://seerr.medianita - Plex: Network host mode - Other services: Check compose.yml for ports and domains EOF @@ -144,7 +144,7 @@ System: $(uname -a) Services Included: - Plex Media Server -- Overseerr (Request Management) +- Seerr (Request Management) - Prowlarr (Indexer Management) - Radarr (Movie Management) - Sonarr (TV Management) diff --git a/setup.sh b/setup.sh index fb8de3b..c4c83cb 100755 --- a/setup.sh +++ b/setup.sh @@ -188,7 +188,7 @@ if [ "$SKIP_CONFIGURATION" = false ]; then ["RADARR_UID"]="radarr" ["RECYCLARR_UID"]="recyclarr" ["PROWLARR_UID"]="prowlarr" - ["OVERSEERR_UID"]="overseerr" + ["SEERR_UID"]="seerr" ["PLEX_UID"]="plex" ["DECYPHARR_UID"]="decypharr" ["AUTOSCAN_UID"]="autoscan" @@ -293,7 +293,7 @@ SONARR_UID=${SONARR_UID} RADARR_UID=${RADARR_UID} RECYCLARR_UID=${RECYCLARR_UID} PROWLARR_UID=${PROWLARR_UID} -OVERSEERR_UID=${OVERSEERR_UID} +SEERR_UID=${SEERR_UID} PLEX_UID=${PLEX_UID} DECYPHARR_UID=${DECYPHARR_UID} AUTOSCAN_UID=${AUTOSCAN_UID} @@ -347,7 +347,7 @@ echo " - sonarr (UID: ${SONARR_UID})" echo " - radarr (UID: ${RADARR_UID})" echo " - recyclarr (UID: ${RECYCLARR_UID})" echo " - prowlarr (UID: ${PROWLARR_UID})" -echo " - overseerr (UID: ${OVERSEERR_UID})" +echo " - seerr (UID: ${SEERR_UID})" echo " - plex (UID: ${PLEX_UID})" echo " - decypharr (UID: ${DECYPHARR_UID})" echo " - autoscan (UID: ${AUTOSCAN_UID})" @@ -359,7 +359,7 @@ echo " - mediacenter (GID: ${MEDIACENTER_GID})" echo "" echo "DIRECTORIES TO BE CREATED" echo "-------------------------" -echo " - ${ROOT_DIR}/config/{sonarr,radarr,recyclarr,prowlarr,overseerr,plex,autoscan,zilean,decypharr}-config" +echo " - ${ROOT_DIR}/config/{sonarr,radarr,recyclarr,prowlarr,seerr,plex,autoscan,zilean,decypharr}-config" echo " - ${ROOT_DIR}/data/symlinks/{radarr,sonarr}" echo " - ${ROOT_DIR}/data/realdebrid-zurg" echo " - ${ROOT_DIR}/data/media/{movies,tv}" @@ -414,7 +414,7 @@ add_user_to_group $USER mediacenter # Create directories echo "" echo "Creating directory structure..." -sudo mkdir -pv "${ROOT_DIR}/config"/{sonarr,radarr,recyclarr,prowlarr,overseerr,plex,autoscan,zilean,decypharr,pinchflat}-config +sudo mkdir -pv "${ROOT_DIR}/config"/{sonarr,radarr,recyclarr,prowlarr,seerr,plex,autoscan,zilean,decypharr,pinchflat}-config sudo mkdir -pv "${ROOT_DIR}/data/symlinks"/{radarr,sonarr} sudo mkdir -pv "${ROOT_DIR}/data/realdebrid-zurg" sudo mkdir -pv "${ROOT_DIR}/data/media"/{movies,tv} @@ -432,7 +432,7 @@ sudo chown -R sonarr:mediacenter ${ROOT_DIR}/config/sonarr-config sudo chown -R radarr:mediacenter ${ROOT_DIR}/config/radarr-config sudo chown -R recyclarr:mediacenter ${ROOT_DIR}/config/recyclarr-config sudo chown -R prowlarr:mediacenter ${ROOT_DIR}/config/prowlarr-config -sudo chown -R overseerr:mediacenter ${ROOT_DIR}/config/overseerr-config +sudo chown -R seerr:mediacenter ${ROOT_DIR}/config/seerr-config sudo chown -R plex:mediacenter ${ROOT_DIR}/config/plex-config sudo chown -R decypharr:mediacenter ${ROOT_DIR}/config/decypharr-config sudo chown -R autoscan:mediacenter ${ROOT_DIR}/config/autoscan-config @@ -740,7 +740,7 @@ if [[ $REPLY =~ ^[Yy]$ ]]; then "prowlarr" "radarr" "sonarr" - "overseerr" + "seerr" "plex" "zilean" "zilean-postgres" @@ -1215,7 +1215,7 @@ echo " ✓ Recyclarr - Quality profiles and naming conventions from TRaSH Guide echo "" echo "SERVICES REQUIRING MANUAL CONFIGURATION:" echo " • Plex - Add media libraries (/data/media/movies, /data/media/tv)" -echo " • Overseerr - Connect to Plex and Radarr/Sonarr (optional)" +echo " • Seerr - Connect to Plex and Radarr/Sonarr (optional)" echo " • Prowlarr - Add more indexers if needed (optional)" echo "" echo "IMPORTANT - ZILEAN INDEXER:" @@ -1231,13 +1231,13 @@ if [ "$TRAEFIK_ENABLED" = true ]; then echo " • Prowlarr: http://prowlarr.${DOMAIN_NAME} (already configured!)" echo " • Radarr: http://radarr.${DOMAIN_NAME} (already configured!)" echo " • Sonarr: http://sonarr.${DOMAIN_NAME} (already configured!)" - echo " • Overseerr: http://overseerr.${DOMAIN_NAME}" + echo " • Seerr: http://seerr.${DOMAIN_NAME}" echo " • Plex: http://${DOMAIN_NAME}:32400/web" else echo " • Prowlarr: http://${DOMAIN_NAME}:9696 (already configured!)" echo " • Radarr: http://${DOMAIN_NAME}:7878 (already configured!)" echo " • Sonarr: http://${DOMAIN_NAME}:8989 (already configured!)" - echo " • Overseerr: http://${DOMAIN_NAME}:5055" + echo " • Seerr: http://${DOMAIN_NAME}:5055" echo " • Plex: http://${DOMAIN_NAME}:32400/web" fi echo "" @@ -1248,13 +1248,13 @@ echo " • Movies: /data/media/movies" echo " • TV Shows: /data/media/tv" echo " • YouTube: /data/media/youtube" echo "" -echo " OVERSEERR - Connect to Plex and Radarr/Sonarr:" +echo " SEERR - Connect to Plex and Radarr/Sonarr:" echo " • Sign in with Plex account" echo " • Add Radarr and Sonarr with their API keys (see below)" echo " • Configure quality profiles and root folders" echo " • Detailed guide: docker/POST-INSTALL.md" echo "" -echo " API KEYS FOR OVERSEERR CONFIGURATION:" +echo " API KEYS FOR SEERR CONFIGURATION:" echo " • Radarr API Key: ${RADARR_API_KEY}" echo " • Sonarr API Key: ${SONARR_API_KEY}" echo " • Prowlarr API Key: ${PROWLARR_API_KEY}" diff --git a/setup/lib/setup-users.sh b/setup/lib/setup-users.sh index 8fd6e5f..40e6979 100755 --- a/setup/lib/setup-users.sh +++ b/setup/lib/setup-users.sh @@ -89,8 +89,8 @@ setup_mediacenter_users() { local radarr_uid=$(find_available_uid $((sonarr_uid + 1))) local recyclarr_uid=$(find_available_uid $((radarr_uid + 1))) local prowlarr_uid=$(find_available_uid $((recyclarr_uid + 1))) - local overseerr_uid=$(find_available_uid $((prowlarr_uid + 1))) - local plex_uid=$(find_available_uid $((overseerr_uid + 1))) + local seerr_uid=$(find_available_uid $((prowlarr_uid + 1))) + local plex_uid=$(find_available_uid $((seerr_uid + 1))) local decypharr_uid=$(find_available_uid $((plex_uid + 1))) local autoscan_uid=$(find_available_uid $((decypharr_uid + 1))) local pinchflat_uid=$(find_available_uid $((autoscan_uid + 1))) @@ -109,7 +109,7 @@ setup_mediacenter_users() { create_system_user "radarr" "$radarr_uid" "$mediacenter_gid" "Radarr" create_system_user "recyclarr" "$recyclarr_uid" "$mediacenter_gid" "Recyclarr" create_system_user "prowlarr" "$prowlarr_uid" "$mediacenter_gid" "Prowlarr" - create_system_user "overseerr" "$overseerr_uid" "$mediacenter_gid" "Overseerr" + create_system_user "seerr" "$seerr_uid" "$mediacenter_gid" "Seerr" create_system_user "plex" "$plex_uid" "$mediacenter_gid" "Plex Media Server" create_system_user "decypharr" "$decypharr_uid" "$mediacenter_gid" "Decypharr" create_system_user "autoscan" "$autoscan_uid" "$mediacenter_gid" "Autoscan" @@ -127,7 +127,7 @@ setup_mediacenter_users() { export RADARR_UID=$radarr_uid export RECYCLARR_UID=$recyclarr_uid export PROWLARR_UID=$prowlarr_uid - export OVERSEERR_UID=$overseerr_uid + export SEERR_UID=$seerr_uid export PLEX_UID=$plex_uid export DECYPHARR_UID=$decypharr_uid export AUTOSCAN_UID=$autoscan_uid diff --git a/setup/utils/split-compose.py b/setup/utils/split-compose.py index d41e3f0..136bae0 100755 --- a/setup/utils/split-compose.py +++ b/setup/utils/split-compose.py @@ -17,7 +17,7 @@ output_dir.mkdir(exist_ok=True) # Services to extract services_to_extract = { - 'overseerr': 'overseerr.yml', + 'seerr': 'seerr.yml', 'prowlarr': 'prowlarr.yml', 'radarr': 'radarr.yml', 'sonarr': 'sonarr.yml', @@ -48,7 +48,7 @@ for service_name, filename in services_to_extract.items(): # Create service description descriptions = { - 'overseerr': 'Overseerr - Request Management', + 'seerr': 'Seerr - Request Management', 'prowlarr': 'Prowlarr - Indexer Management', 'radarr': 'Radarr - Movie Management', 'sonarr': 'Sonarr - TV Show Management', @@ -85,4 +85,4 @@ for service_name, filename in services_to_extract.items(): print("\nAll services have been split into individual files!") print("You can now use: docker compose up -d") -print("Or for specific services: docker compose up -d plex overseerr") \ No newline at end of file +print("Or for specific services: docker compose up -d plex seerr") \ No newline at end of file