• 2025년 12월 2일 변경 내용 : include: 하위에 services: {} 반영
  • 2026년 2월 19일 변경 내용 : overseerr에서 seerr로 프로그램 변경되어 docker compose수정 (프로그램 셋팅 부분은 동일)

Seerr는 Sonarr과 Radarr, Plex와 연동하여 watchlist에 있는 미디어를 자동으로 요청하고 한 곳에서 Sonarr와 Radarr에 미디어 요청을 보낼 수 있는 상당히 편리한 도구입니다.

또한, Sonarr과 Radarr를 집 밖에서 편하게 쓰기 위해선 홈 네트워크의 VPN을 이용해 내부 네트워크에 접속해서 IP:Port 기반으로 접속하거나, 도메인과 연동해 외부에 노출시켜야 합니다. 외부에 노출시킬 경우 보안 위협을 감소시키기 위해 Authentik 등의 IAM솔루션을 이용해야 하기도 하죠.

그러나 Seerr를 이용할 경우, Sonarr나 Radarr는 내부 네트워크에서만 접근하도록 두고 Seerr만 도메인과 연동해 외부에 노출시킬 수 있다는 장점도 있습니다. UI도 사용자 친화적이기 때문에, 가족이나 친구 등과 Plex를 공유하고 있다면 이보다 더 좋은 솔루션은 없습니다(보고 싶은거 알아서 검색해서 추가하라고 하면 되니까!).

Seerr 역시 VPN망을 태울 필요가 없습니다. 내부 네트워크를 통해 Sonarr와 Radarr에게 미디어 요청을 보내거나 Plex 라이브러리를 읽어오는 정도의 작업만을 하기 때문에, 별도로 docker compose를 구성해서 사용하면 됩니다.

TrueNAS의 Apps에도 Seerr가 이미 있긴 하지만, 이미 구축해놓은 토렌트 스택과 연동해야 하므로 docker compose를 이용하도록 하겠습니다.

Docker Compose

토렌트 스택을 구성하면서 여러 개의 폴더를 생성했었는데, Seerr용 폴더는 생성하지 않았었기 때문에, 하나 생성해 주겠습니다.

fentablog@rn428:/mnt/RN428/arr$ mkdir seerr

.env파일이 있는 경로에서 seerr.yml이란 파일을 만들겠습니다.

fentablog@rn428:/mnt/RN428/arr/compose$ nano seerr.yml

기존의 .env값을 그대로 불러서 사용하겠습니다. TimeZone, PUIDPGID등이 일체화되기 때문에 파일권한 관리 등이 편리합니다.

networks: torrent_default의 경우 이전 글의 Unpackerr와 동일한 이유로 추가해야 합니다.

services:
  seerr:
    image: ghcr.io/seerr-team/seerr:latest
    init: true
    container_name: seerr
    environment:
      - PUID=${UID}
      - PGID=${GID}
      - TZ=${TZ}
    volumes:
      - ${CONFIG}/seerr:/config
    ports:
      - 5055:5055
    restart: unless-stopped
    networks:
      - torrent_default

networks:
  torrent_default:
    external: true
CONFIG=/mnt/RN428/arr
UID=3001
GID=0
TZ=Asia/Seoul

그리고 역시 TrueNAS Web UI에서 컨테이너를 띄워줍니다.

include:
  - /mnt/RN428/arr/compose/seerr.yml
services: {}
TrueNAS 환경에서 Seerr 서비스를 구동하기 위한 도커 컴포즈 YAML 설정 파일 구조

접속은 TrueNAS IP:5055로 가능합니다.

설정

초기 구성

맨 처음 접속하면 아래와 같은 화면을 만날 수 있습니다. 과거에는 Overseerr와 Jellyseerr가 분리되어있어 Overseerr는 Plex계정이 없다면 연동이 불가능했으나, 현재는 사용할 프로그램의 계정을 연동해줄 수 있습니다.

첫 구동 시 기존에 구축해 둔 Plex 또는 Jellyfin 미디어 서버 계정을 연결하도록 안내하는 화면

저는 Plex를 사용할 예정이므로 Plex를 클릭하면 아래처럼 Login하라는 알람이 뜹니다.

사용 중인 Plex 서버와 통신하기 위해 내부망 IP 혹은 원격 접속 경로를 선택하는 네트워크 설정

로그인 후에 보유중인 Plex서버를 찾아 연동해 주도록 되어 있습니다.

Plex 라이브러리 스캔을 통해 기존에 구축된 영화와 드라마 데이터베이스를 Seerr에 동기화하는 단계

새로고침 버튼을 클릭하면 보유중인 Plex서버의 접속경로를 선택할 수 있게 됩니다. 현재 이 글에선 제가 보유중인 Plex와 Seerr가 Local환경이 아니라서 remote를 선택했지만(부득이 IP 가림) 일반적인 경우 내부 IP로 접속가능한 선택지가 있을 겁니다. 그 부분을 선택한 후 Save Changes를 클릭합니다.

그러면 아래처럼 Plex서버의 라이브러리가 몽땅 출력되는데, 여기서 Overseerr와 연동할 라이브러리를 선택해줍니다.

자동 다운로드를 위해 영화 다운로드 관리기인 Radarr의 접속 주소와 API 키를 입력하여 연동하는 화면

라이브러리를 다 선택했다면 Start Scan을 클릭하여 전체 스캔을 한 번 수행한 뒤 Continue를 클릭해 넘어가 줍니다.

Radarr 연결 확인 후 미디어 파일이 저장될 루트 폴더 위치와 화질 다운로드 프로파일을 고르는 옵션

그 다음 페이지에서 Radarr와 Sonarr를 구성할 수 있습니다.

Seerr에서 추가한 미디어 요청이 Sonarr 등에 곧바로 반영되도록 자동 검색 옵션을 활성화하는 부분

Radarr를 예시로 들겠습니다. 접속 경로는 https://gluetun으로 두시고 아래처럼 API Key까지만 입력한 뒤 Test를 클릭합니다.

(4K Server는 4K 미디어 라이브러리를 꾸리실 경우에 사용하시면 됩니다)

모든 연동 절차가 완료된 후 Seerr 플랫폼 메인 화면에 출력되는 추천 미디어 포스터 목록

연결이 정상적으로 수립되었을 경우 Radarr에 설정된 Root Folder, Quality Profile 등이 불러와지고 이를 선택할 수 있게 됩니다.

특정 미디어 상세 페이지에서 해상도와 서버 프로파일을 선택하여 다운로드를 직접 요청하는 화면

맨 아래 상단의 체크 3개는 모두 사용하는 걸 권장합니다.

  • Enable Scan : 주기적으로 Radarr(Sonarr)를 스캔하여 미디어 라이브러리 상태를 체크
  • Enable Automatic Search : Overseerr에서 미디어 추가 요청을 보냈을 때, Radarr(Sonarr)에서 해당 미디어를 바로 찾기 시작
도메인을 사용해 외부에서 접속할 수 있도록 리버스 프록시 주소와 보안 토큰 기능을 활성화하는 설정
  • Tag Request : Overseerr를 통해 추가된 미디어의 경우 요청자의 ID를 표시해주는 기능(하단 예시)
Plex 홈 사용자를 불러와 Seerr에 일괄 등록하기 위해 갱신 및 가져오기 기능을 사용하는 옵션 창

같은 방식으로 Sonarr도 추가해 주세요. Anime설정이 있어 좀 더 복잡해 보이지만 크게 어렵지 않습니다.

추가를 완료했다면 Finish Setup을 클릭합니다.

연동된 사용자별로 일정 기간 동안 요청할 수 있는 미디어 갯수의 최대치를 할당하는 계정 관리 권한 창

그러면 아래처럼 메인페이지에 진입할 수 있게 됩니다.

특정 사용자 계정에 관리자의 개입 없이 다운로드가 자동 승인되는 권한을 부여하는 세부 설정란

이 곳에서 최근 추가된 미디어, Plex Watchlist 등 뿐만 아니라 갖고 있지 않은 미디어들에 대한 정보도 얼마든지 포스터 형식으로 볼 수 있고, 클릭 몇 번으로 간단하게 추가할 수 있게 됩니다.

예시로 아무 작품이나 클릭해보면 아래와 같은 화면을 볼 수 있고,

다운로드 화질 폴더 경로 등 복잡한 세부 옵션을 직접 제어할 수 있는 고급 요청 권한 설정 항목

최우측의 Request버튼을 클릭하면 시리즈물일 경우 알아서 시즌까지 파악해서 띄워주고 선택을 완료하면 알아서 Radarr 혹은 Sonarr에 추가되어 미디어를 찾게 됩니다.

Plex의 관심 목록에 추가된 미디어를 Seerr가 자동으로 감지하고 다운로드를 시작하게 하는 옵션

심지어, Plex처럼 감독이나 배우를 클릭해 해당 감독이나 배우의 작품만을 모아서 볼 수도 있어, 매우 유용합니다.

다운로드 요청 접수 및 성공 알림을 외부 메신저인 텔레그램을 통해 수신하도록 봇을 연동하는 설정 창

향후 나올 예정인 작품도 포스터 및 정보를 파악하고 request를 요청해 놓을 수 있으므로, 날짜에 맞춰 검색할 필요도 없습니다. 사실상 미디어 관리의 완전체라고 할 수 있겠습니다.

리버스 프록시(도메인) 연동하기

좌측 메뉴의 Settings를 클릭해서 제일 먼저 만나는 General탭의 3번째 항목에 Application URL이 있습니다.

리버스 프록시를 구성할 경우 이 URL에 리버스 프록시 주소를 입력하고 아래 2개의 체크항목을 켜준 뒤, Save Changes를 클릭합니다.

다른 이용자가 등록한 미디어 요청 정보도 관리자 알림에 포함하여 모니터링할 수 있도록 구성한 항목

변경사항을 적용하기 위해 컨테이너를 한 번 재시작 해줍니다. TrueNAS Web UI에서 해도 되고,

Overseerr의 General 설정에서 리버스 프록시 도메인 URL을 입력하고 관련 옵션을 체크한 화면

TrueNAS 쉘에서 간단하게 수행해도 됩니다.

fentablog@rn428:~$ sudo docker restart overseerr

재시작 이후에는 리버스 프록시 주소로만 제대로 된 접근 및 작동이 보장되고, 내부 IP로는 접속은 가능하되 옵션 변경 등이 되지 않습니다.

체크박스 중 CSRF Protection기능 덕분인데, 이 상태 그대로 쓰는 것이 더 보안에 좋습니다.

Plex Users Import

Settings – Users 탭으로 이동합니다.

Overseerr의 Users 메뉴에서 Import Plex Users 버튼을 통해 계정을 연동하는 화면

Overseerr는 로컬 계정(Enable Local Sign-In)과 Plex 계정(Enable New Plex Sign-In) 로그인 두 가지 방식을 지원합니다.

저는 로컬 계정은 비활성화하고 Plex계정 로그인만 사용중입니다. 이 경우 제 Plex서버에 로그인이 허용된 Plex유저만 로그인이 가능하고,

해당 유저는 좌측의 Users탭에서 확인할 수 있습니다. Plex에 등록된 유저는 Import Plex Users 버튼을 통해 불러올 수 있습니다.

Plex 서버 설정에서 라이브러리 접근 권한을 부여받은 홈 유저 목록

해당 기능을 통해 불러와지려면 아래처럼 Plex홈에 접근가능한 사용자로 등록이 되어 있어야 합니다.

정리하면, 별도의 본인의 Plex서버에서 다른 사용자를 홈 유저로 초대해 라이브러리 접근 권한을 주는 것까지 완료된 사람만 Overseerr에서 불러올 수 있습니다.

Plex 설정에서 특정 홈 유저에게 부여된 라이브러리 접근 권한을 확인하고 관리하는 화면

로컬 계정으로 사용하려면 크게 신경쓰시지 않아도 됩니다.

유저 권한 설정

마찬가지로 Settings – Users탭의 로그인 아래 부분에 대한 내용입니다.

Overseerr의 Users 탭 하단에 위치한 사용자별 권한 설정 메뉴

그 아래를 보면 제일 먼저 Global Request Limit이 있습니다. 이건 요청갯수 전역 제한 기능으로 숫자를 설정할 경우 다른 유저들이 해당 숫자만큼만 요청을 보낼 수 있게 됩니다.

사용자의 무분별한 미디어 요청을 제한할 수 있는 Global Request Limit 설정 화면

혹시나 무분별한 요청을 보내는 경우 사용할만합니다.

Admin은 관리자 권한을 부여하는 것으로, 모든 사용자들에게 권한을 부여할 일은 없으니 기본적으로 비활성화되어 있습니다.

Manage Users권한은 말 그대로 유저 관리 권한을 주는 것으로 관리자 권한이 있는 유저 이외의 유저들을 관리할 수 있습니다.

관리자 이외의 일반 사용자를 제어할 수 있는 Manage Users 권한 설정 항목

그 다음은 미디어 추가 요청과 관련된 부분입니다.

일반 사용자가 미디어를 요청할 수 있도록 허용하는 Request 권한 설정 체크 박스

Request는 말 그대로 미디어 요청을 할 수 있는 권한입니다. 만일 이 권한이 없다면, 해당 유저는 미디어 요청을 할 수 없게 되므로 Overseerr를 사용할 의미가 퇴색됩니다 =ㅅ=..

관리자 승인 없이 미디어 요청이 바로 처리되게 하는 Auto-Approve 권한 설정 화면

이렇게 개별 유저가 요청한 Request는 바로바로 추가되는 것이 아니고 Admin의 승인이 있어야 하는데, Admin의 승인 없이 바로 추가할 수 있도록 해주는 권한이 Auto-Approve입니다. 이 권한을 가진 유저의 미디어 요청은 Admin의 승인이나 확인 없이 바로바로 다이렉트로 전송됩니다.

Auto-Approve 기능이 기본 적용되는 상위 권한인 Manage Requests 설정 화면

Manage Requests는 조금 더 상승괸 권한을 갖습니다. 이 권한이 있는 경우 기본적으로 Auto-Approve가 적용됩니다.

다운로드 경로 및 화질 등 세부 옵션을 직접 선택할 수 있는 Advanced Requests 설정

그 하위의 Advanced Requests는 더 세분화된 요청을 할 수 있게 해주는 권한입니다.

무슨 뜻이냐면, 이 권한이 없는 유저가 Request를 날릴 시엔, Root Folder, Quality Profile 등의 옵션은 하나도 보이지 않고 Default 옵션이 적용된 채로 요청하게 됩니다. 예를 들어, 연동된 Sonarr의 기본 Root Folder는 드라마 폴더로 잡혀 있는데, 다른 유저가 애니메이션을 추가할 경우 해당 애니메이션도 드라마 폴더로 들어가 버리게 되는 것이죠. 관리자가 승인할 때도 Root Folder를 수정할 수 있는 옵션이 없기 때문에, 일단 승인해주고 Sonarr에 가서 폴더를 확인해야 하는 귀차니즘도 발생합니다.

반면, 이 권한이 있는 유저가 Request를 날릴 땐, 어느 Root Folder에 배치할 지, 어떤 Quality Profile을 사용할 지 선택할 수 있게 됩니다.

View Requests는 Overseerr에서 발생한 다른 미디어 요청 리스트를 볼 수 있는 권한, View Recently Added는 메인 페이지에서 최근에 추가된 미디어를 확인할 수 있는 권한, View Plex Watchlists는 Overseerr에 등록된 다른 Plex유저의 Watchlists를 볼 수 있는 권한입니다.

제일 하단의 Auto-Request는 Plex Watchlist와 관련된 기능으로 해당 Plex유저의 Watchlist에 있는 미디어가 로컬 라이브러리에 없을 경우 자동으로 추가해주는 기능입니다.

Plex 관심 목록의 미디어를 자동으로 다운로드 요청하는 Auto-Request 설정 화면

이 기능은, 외부에서 공유받은 Plex라이브러리의 미디어를 시청했을 때 작동합니다.

이 아래로는 4K미디어에 대한 동일옵션입니다.

사용자가 서버와 관련된 문제 및 건의 사항을 제출할 수 있는 Manage Issues 권한 설정

Manage Issues는 기타 문제 사항이나 건의 사항을 제출할 수 있는 권한입니다. 메뉴 상으론 좌측의 Issues에서 확인할 수 있습니다.

건의 사항 등을 확인할 수 있는 Overseerr 좌측 메뉴의 Issues 항목

여기서 설명한 모든 권한은 좌측의 Users탭에서 각 유저마다 개별적으로 달리 설정할 수 있습니다.

Users 탭에서 사용자별로 앞서 설명한 여러 권한들을 개별적으로 제어하고 설정하는 화면 각 사용자의 프로필에서 부여된 권한을 한눈에 확인하고 상세 설정을 편집하는 화면

기타 그 외 설정

Plex

이 탭에선 기존 Plex서버 접속 설정정보를 변경할 수 있습니다.

Overseerr의 Settings 메뉴 내 Plex 탭에서 서버 접속 정보를 변경하는 화면

하단에서 연동할 LIbrary를 수정하거나 Manual Scan을 수행할 수 있으며

Plex 설정 하단에서 연동된 라이브러리 목록을 확인하고 수동 스캔을 수행하는 화면

최하단에서는 Tautulli 설정을 해줄 수 있습니다.

Tautulli에 저장된 재생내역을 갖고오는 용도입니다.

재생 내역을 연동하기 위해 Tautulli 서버의 접속 정보와 API Key를 입력하는 설정 화면

Tautulli의 API Key값은 Tautulli에서 Settings – Web Interface 탭의 최하단에 있습니다.

Tautulli 웹 인터페이스 설정에서 API Key 항목을 활성화하고 키 값을 확인하는 화면

Services

Services탭에선 Sonarr와 Radarr의 설정을 변경하거나 추가할 수 있습니다. 기본적으로 각 서비스 당 최대 2개의 서비스를 추가할 수 있습니다.

Overseerr는 기본적으로 4K와 non-4K 라이브러리 관리를 별도로 하는 것을 전제하고 있기 때문으로, 제 실사용 환경도 아래처럼 각각 2개의 Sonarr와 Radarr로 이루어져 있습니다.

이건 실제로 컨테이너를 한개씩만 더 띄우면 되는 부분이므로 추가적인 설명은 넘어가겠습니다.

Services 탭에 4K 및 non-4K 용도로 각각 분리된 Sonarr와 Radarr 설정 화면
overseerr plex media request 38

Notifications

Email, Discord, Telegram 등 많은 클라이언트를 지원하고 있습니다.

저는 간단하게 Telegram을 통해 알람을 구성하고 있습니다.

Notifications 탭에서 텔레그램을 이용한 미디어 요청 관련 알림 전송을 활성화한 화면

다른 사용자들의 Request도 알람을 통해 전달받을 수 있으므로 하나쯤 구성해두는 것이 좋습니다.

이 외의 기능은 직접 사용해보며 자신의 환경에 맞게 셋팅하시면 됩니다.

Plex가 아닌 Jellyfin을 사용하신다면 Overseerr가 아닌 Jellyseerr라는 선택지가 있으니 참고하셔도 됩니다.