Skip to content
Published on

셀프 호스팅 미디어 & 홈랩 2026 — Jellyfin / Immich / Navidrome / Audiobookshelf / arr 스택 / Tdarr 심층 가이드

Authors

프롤로그 — 2025년의 균열, 2026년의 재편

2025년 봄, Plex가 가격 인상과 리모트 스트리밍 유료화를 동시에 발표했다. "내 집 서버에 있는 내 콘텐츠를 내 핸드폰으로 보는데 왜 돈을 내야 하나"라는 질문이 r/selfhosted와 r/Plex를 일주일간 도배했고, 그 다음 주에는 Jellyfin 위키와 GitHub 이슈 트래커의 트래픽이 폭발했다. 이른바 "Plex 엑소더스(Plex Exodus)" 다.

그 와중에 운 좋게도 Jellyfin은 거의 동시에 10.10 릴리스를 안정화 단계로 끌어올렸다. AV1 디코딩, Intel Arc / N100 iGPU 하드웨어 트랜스코딩, HDR 톤매핑, Trickplay 썸네일까지 — Plex가 유료 기능으로 끌어안고 있던 기능 대부분이 오픈소스 진영에서 무료로 작동하기 시작했다.

이 글은 그 균열의 결과로 2026년 5월 시점에서 자리 잡은 셀프 호스팅 미디어 홈랩의 지도를 그린다. 영상(Jellyfin/Plex/Emby), 사진(Immich/Photoprism), 음악(Navidrome), 오디오북(AudioBookshelf), 만화/전자책(Komga/Kavita), 자동화(arr 스택), 트랜스코딩(Tdarr/Unmanic/FileFlows), 그리고 하드웨어와 원격 접근까지.

읽고 나면 N100 미니 PC 한 대로 어디까지 갈 수 있는지, NAS 한 대로 가족 전체의 미디어 인프라를 어디까지 들어 올릴 수 있는지 — 그리고 그 비용이 Netflix 1년 구독료보다 싸다는 사실을 알게 된다.


1장 · 2026년의 셀프 호스팅 지도 — Plex 사태 이후

2026년 5월 기준 셀프 호스팅 미디어 스택은 대략 다음과 같이 정리된다.

카테고리대표 도구라이선스한 줄 평가
영상 서버JellyfinGPL2026년의 표준. Plex 대체 1순위
영상 서버Plex상업여전히 UX 1위, 그러나 유료화 가속
영상 서버Emby부분 상업중간 지대, 동력 감소
사진 라이브러리ImmichAGPLGoogle Photos 대체 사실상 정답
사진 라이브러리PhotoprismAGPL정적 갤러리에 강함
음악NavidromeGPLSubsonic 호환, Spotify 느낌
오디오북AudioBookshelfGPL오디오북 + 팟캐스트
만화KomgaMITCBZ/CBR 전문, OPDS 지원
만화 + 책KavitaGPL만화 + 전자책 + 만화책 통합
자동화Sonarr/Radarr/etc.GPL미디어 라이브러리 자동화 척추
인덱서ProwlarrGPLarr 스택의 인덱서 허브
자막BazarrGPL자막 자동 다운로드
요청JellyseerrMITJellyfin/Plex 통합 요청
요청OverseerrMITPlex 전용 요청
다운로드qBittorrentGPL토렌트의 사실상 표준
다운로드SABnzbd / NZBGetGPLUsenet 클라이언트
트랜스코딩Tdarr / UnmanicGPL라이브러리 일괄 트랜스코딩
트랜스코딩FileFlows부분 상업워크플로 기반
정리FileBot상업파일명 정규화 1위
가이드TRaSH-GuidesCC BY-NC-SAarr 스택 품질 프로파일의 바이블

이 표만 봐도 한 가지 변화가 분명하다. 2026년 셀프 호스팅 미디어의 거의 모든 핵심 도구가 GPL/AGPL/MIT 같은 강한 오픈소스 라이선스로 자리를 잡았다. Plex가 무료에서 점진적 유료화로 옮겨가는 동안, 오픈소스 진영은 정반대 방향으로 — 한때 Plex만 잘하던 일들을 모두 따라잡거나 추월하는 — 길을 걸었다.

2026년형 미니멈 홈랩

방을 차지하지 않으면서 가족 미디어 인프라를 굴리려는 사람의 기본 구성은 보통 이렇다.

  • N100 또는 N305 미니 PC, 16GB RAM, 1TB NVMe + 외장 8TB HDD
  • Proxmox VE 또는 Ubuntu 24.04 + Docker Compose
  • Jellyfin + Immich + Navidrome + AudioBookshelf + 5종 arr 스택 + qBittorrent + Tdarr
  • Gluetun 컨테이너로 VPN 격리(Mullvad 또는 ProtonVPN)
  • Tailscale + (옵션) Cloudflare Tunnel로 원격 접근
  • Borg/Restic으로 매일 외장 디스크 백업, 매주 클라우드(B2/R2) 원격 백업

전체 하드웨어 비용 약 50만 원 + 디스크. 전기료는 N100 기준 평균 8 ~ 12W로 월 2 ~ 3천 원. Netflix·Disney+·Apple Music·Audible을 모두 합한 비용보다 1년 안에 회수된다.


2장 · Jellyfin 10.10 — 마침내 안정적인 트랜스코딩

Jellyfin은 한동안 "이론적으로는 Plex의 모든 걸 한다, 실제로는 트랜스코딩이 깨진다"는 평을 들었다. 2024 ~ 2025년의 10.9 / 10.10 시리즈에서 그 평가가 바뀌었다.

10.10이 가져온 변화

  • Intel QSV(Quick Sync) 전면 정비 — N100 / N305 / Arc A380의 AV1·HEVC 디코딩이 안정화. 1080p H.264 트랜스코딩이 N100 한 대로 동시 6 ~ 8 스트림.
  • HDR → SDR 톤매핑 개선 — Dolby Vision Profile 7 BL+EL, HDR10+가 일관되게 SDR로 떨어진다. NVIDIA·Intel·AMD 가속 모두 동작.
  • Trickplay 썸네일 — 타임라인 위에 호버할 때 미리보기 이미지가 뜨는 기능. Plex가 오랫동안 자랑하던 기능.
  • Backdrop / 멀티 컬러 테마 — 라이브러리에 들어가면 시리즈 아트가 배경으로. Plex 비주얼에 가까워졌다.
  • SyncPlay 안정화 — 친구·가족이 같이 보는 기능이 끊김 없이 동작.
  • 모바일 클라이언트 재정비 — Findroid(Android), Swiftfin(iOS)이 공식 모바일 앱의 갭을 메운다.

Docker Compose로 한 방에 띄우기

# docker-compose.yml
services:
  jellyfin:
    image: jellyfin/jellyfin:10.10.4
    container_name: jellyfin
    user: '1000:1000'
    network_mode: host
    volumes:
      - ./config:/config
      - ./cache:/cache
      - /mnt/media/movies:/media/movies:ro
      - /mnt/media/tv:/media/tv:ro
      - /mnt/media/music:/media/music:ro
    devices:
      - /dev/dri:/dev/dri # Intel QSV / AMD VAAPI
    restart: unless-stopped
    environment:
      - JELLYFIN_PublishedServerUrl=https://jellyfin.example.com

/dev/dri 디바이스를 컨테이너에 패스스루하는 한 줄이 N100·Arc·iGPU 트랜스코딩을 켠다. host 네트워크 모드는 DLNA 자동 검색을 위해서다.

N100에서 N개 동시 트랜스코딩이 진짜 되는가

벤치마크 한 줄 요약. 1080p H.264 → AAC 직접 재생(다이렉트 플레이): 무제한. 4K HEVC HDR → 1080p H.264 SDR 트랜스코딩: N100 기준 동시 1.5 ~ 2 스트림이 한계. Arc A380(약 14만 원 외장 GPU)을 끼면 동시 6 ~ 8 스트림으로 점프. 4K Dolby Vision Profile 7은 여전히 까다로우니 클라이언트에서 다이렉트 플레이 가능한 포맷으로 들고 있는 게 정답.

Jellyfin이 아직 약한 부분

  • 공식 모바일 앱 UI — 여전히 Plex보다 거칠다. Findroid/Swiftfin이 그 갭을 메운다.
  • 메타데이터 매칭 — TMDB / TVDB 기본은 좋지만 한국·일본 콘텐츠에서 잡음. AniDB 플러그인이나 사용자 정의 매처가 필요.
  • 공식 라이브 TV 통합 — 가능하지만 Plex 수준은 아님.
  • 부모 통제 / 사용자 제한 — 기본 기능은 있지만 Plex의 폴리시 엔진에는 미치지 못함.

Plex에서 Jellyfin으로 갈아탈 때 체크리스트

  • 라이브러리 폴더 구조를 옮기지 말고 그대로 마운트.
  • 파일명을 TRaSH-Guides 권장 포맷으로 정리.
  • TMDB / TVDB 메타데이터를 한 번에 다시 긁어 오니 시간이 걸린다.
  • 사용자 계정은 수동 재생성 — 시청 기록은 jellyfin-plex-watched-sync 같은 서드파티 도구로 옮길 수 있다.
  • 자막은 Bazarr에 한 번에 다시 시키는 게 빠르다.

3장 · Plex 2025 사태 정리 — 무엇이 바뀌었나

Plex는 2025년 4월에 두 가지를 동시에 발표했다.

  1. Plex Pass 가격 인상 — 월/년/평생 가격이 30 ~ 50% 인상.
  2. 리모트 스트리밍 유료화 — 그동안 무료였던 "내 서버에 외부에서 접속해서 보기" 기능이 Plex Pass 또는 새 Remote Watch Pass 가입자에게만 허용.

논쟁의 핵심은 두 번째였다. 셀프 호스팅 미디어 서버의 정체성 자체가 "내 데이터를 내 기기로, 어디서든" 이었는데, 그 핵심 기능에 게이트를 세운 것이다. r/selfhosted에서 가장 많이 인용된 댓글은 이거였다.

내 인터넷 회선, 내 전기, 내 디스크, 내 파일. 그런데 그걸 외부에서 보려면 Plex에 돈을 내라? 그럼 처음부터 Plex일 필요가 없는 거 아닌가?

그래도 Plex가 가진 것

공정하게 말하면 Plex가 여전히 잘하는 것이 있다.

  • 공식 모바일/TV 앱의 완성도 — Apple TV, Roku, Fire TV, Tizen, webOS, PlayStation, Xbox까지 가장 폭넓은 공식 클라이언트.
  • DVR / 라이브 TV 통합 — 안테나 + HDHomeRun 조합이 가장 매끄러움.
  • Plex Watch Together / Discover — 친구가 뭘 보는지, 같이 보기 같은 소셜 기능.
  • 메타데이터 매칭 품질 — 한국·일본 콘텐츠 포함해 다국어 매칭이 안정적.

Plex에 남는 게 합리적인 경우

  • 가족 중 누군가가 이미 Apple TV / Roku에서 Plex 앱에 익숙하고, Jellyfin 클라이언트 학습 곡선을 감당할 의향이 없다.
  • 평생 Plex Pass를 이미 보유 중이라 추가 비용이 없다.
  • 라이브 TV / DVR이 중요하다.
  • 라이브러리가 한국 콘텐츠 중심이고 메타데이터가 깨지는 게 큰 스트레스다.

Plex에서 떠나는 게 합리적인 경우

  • 리모트 스트리밍이 핵심인데 Pass에 추가 비용을 낼 생각이 없다.
  • 라이선스 통제 / 데이터 주권 자체가 중요하다.
  • N100 / Arc 같은 최신 하드웨어 가속을 정확히 쓰고 싶다.
  • 클라이언트 환경이 웹 + 모바일 + Android TV로 이미 충분하다.

Emby의 위치

Emby는 Plex와 Jellyfin의 사이에 끼어 있다. 코어는 부분 오픈소스, 핵심 기능 중 일부는 Premiere 유료 구독. 2026년 시점에서 Emby의 동력은 명확히 약해졌고, 오픈소스 진영의 신규 기여는 거의 Jellyfin으로 흘러간다. 이미 Emby로 잘 굴러가는 서버를 가진 사람만 남기는 분위기.


4장 · Immich — Google Photos 대체의 정답

사진은 영상과 또 다른 카테고리다. 매일 찍히는 데이터의 양, 백업의 절박함, 가족 전체의 공유, 그리고 무엇보다 — Google Photos 무한 저장이 끝난 이후 — 진지한 대체재 수요가 폭발했다. 2026년 시점에서 그 자리를 사실상 독차지한 것이 Immich다.

Immich가 잘하는 것

  • iOS / Android 공식 앱의 완성도 — 자동 업로드, 백그라운드 동기화, 원본 보존, 잠금 화면 위젯까지.
  • 얼굴 인식 + 머신러닝 — 사람·장소·물체 자동 태깅. CLIP 임베딩 기반의 의미 검색까지 ("바다 위 일몰" 입력 → 진짜 그런 사진이 뜬다).
  • EXIF 보존 + 지도 뷰 — 촬영 좌표가 그대로. 여행 타임라인.
  • 공유 앨범 + 외부 라이브러리 — 가족 단위 앨범, NAS의 기존 사진 폴더를 외부 라이브러리로 마운트.
  • 속도 — Postgres + Redis 기반. 5만 장 라이브러리도 부드럽게 스크롤.

Docker Compose 한 토막

services:
  immich-server:
    image: ghcr.io/immich-app/immich-server:release
    container_name: immich_server
    volumes:
      - /mnt/photos:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file: .env
    depends_on:
      - redis
      - database
    ports:
      - '2283:2283'
    restart: always

  immich-machine-learning:
    image: ghcr.io/immich-app/immich-machine-learning:release
    container_name: immich_ml
    volumes:
      - ./model-cache:/cache
    env_file: .env
    restart: always

  redis:
    image: redis:7-alpine
    container_name: immich_redis
    restart: always

  database:
    image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0
    container_name: immich_postgres
    env_file: .env
    volumes:
      - ./postgres:/var/lib/postgresql/data
    restart: always

Postgres + pgvector / vectorchord 확장이 들어간다. 이게 CLIP 임베딩의 코사인 유사도 검색을 가능하게 하는 부분이다.

Immich 운영의 함정

  • 머신러닝 모델 다운로드 — 첫 부팅 시 수 GB. 미리 model-cache 볼륨을 마운트해서 재시작에도 살아남게 둔다.
  • 백업의 책임은 사용자에게. Immich는 RAID도 백업도 아니다. 라이브러리 + Postgres 둘 다 백업해야 복구 가능.
  • 얼굴 인식은 CPU에서도 돌지만 GPU가 있으면 30 ~ 50배 빠르다. N100에서 1만 장 처리에 며칠, GPU 있으면 몇 시간.
  • 외부 라이브러리(read-only)와 업로드 라이브러리(read-write)를 섞지 말 것. 한 번 의도와 다르게 쓰기를 허용하면 EXIF가 망가질 수 있다.

Immich vs Photoprism vs PhotoStructure

항목ImmichPhotoprismPhotoStructure
라이선스AGPLAGPL상업
모바일 앱우수보통빈약
의미 검색CLIP, 강함TensorFlow, 보통약함
백엔드Postgres + pgvector + RedisMariaDBSQLite
운영 부담중간낮음낮음
동력매우 활발보통감소

Photoprism은 "내 사진을 카탈로그처럼 보고 싶고, 모바일 자동 백업은 다른 도구로" 라는 사람에게 여전히 매력적이다. PhotoStructure는 다중 라이브러리 머지에 강하지만 2026년 시점 동력은 약함.


5장 · Navidrome / AudioBookshelf — 음악 / 오디오북

Subsonic API 호환 음악 서버. Spotify 같은 UX를 자기 라이브러리에 얹는다.

  • Subsonic 호환 — Substreamer, play:Sub, Symfonium, Sublime Music, DSub 등 수십 종 클라이언트가 그대로 동작.
  • 고품질 메타데이터 — MusicBrainz Picard로 정리한 라이브러리와 궁합이 좋다.
  • 스마트 플레이리스트 — 룰 기반 자동 플레이리스트.
  • Last.fm / ListenBrainz 스크로블 — 청취 이력 백업.
  • 2026년형 변화 — Last.fm/ListenBrainz import, 향상된 트랜스코딩, 알림 시스템.
services:
  navidrome:
    image: deluan/navidrome:latest
    user: 1000:1000
    ports:
      - '4533:4533'
    environment:
      ND_LOGLEVEL: info
      ND_SESSIONTIMEOUT: 24h
      ND_BASEURL: ''
      ND_SCANSCHEDULE: '@every 6h'
      ND_LASTFM_ENABLED: 'true'
    volumes:
      - ./data:/data
      - /mnt/music:/music:ro
    restart: unless-stopped

음악 폴더 트리는 보통 Artist/Album/01 - Track.flac 구조가 가장 안전. 메타데이터는 MusicBrainz Picard로 한 번 정규화한 뒤 Navidrome에 던지면 깔끔하다.

AudioBookshelf

오디오북 + 팟캐스트 통합 서버. Plexamp가 잘 못 하는 영역.

  • M4B / MP3 / FLAC 오디오북 자동 챕터화.
  • 팟캐스트 자동 구독 + 다운로드.
  • 북마크 + 진행 상황 동기화 + 슬립 타이머.
  • iOS / Android 공식 앱.
  • 메타데이터 자동 매칭 — Audible / Google Books / Audnexus.

오디오북은 파일이 큰 경우가 많다 — 한 권당 1 ~ 2GB도 흔하다. NAS의 별도 폴더에 두고 read-only 마운트.

services:
  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf:latest
    ports:
      - '13378:80'
    volumes:
      - /mnt/audiobooks:/audiobooks
      - /mnt/podcasts:/podcasts
      - ./config:/config
      - ./metadata:/metadata
    environment:
      - TZ=Asia/Seoul
    restart: unless-stopped

Plexamp / Subsonic의 자리

Plex 사용자는 Plexamp가 여전히 좋다. UX 자체가 최상위. 다만 Navidrome + 좋은 Subsonic 클라이언트 조합이 거의 따라잡았다는 게 2026년 시점의 합의.


6장 · Komga / Kavita — 만화 + 전자책

만화·전자책 셀프 호스팅은 두 강자가 거의 양분 중.

Komga

  • 만화 전문 — CBZ / CBR / PDF / EPUB.
  • OPDS 지원 — Panels, Chunky, Paperback 등 외부 리더에서 접근.
  • 시리즈 메타데이터 — ComicVine, Mylar3, GCD 통합.
  • 읽기 진행 동기화.
  • 사용자/도서 통제.

Kavita

  • 만화 + 전자책 + 만화책 통합 — Komga가 만화 전문이라면, Kavita는 책 + 만화 + 학습 자료까지.
  • OPDS 지원.
  • 읽기 진행 동기화.
  • 다중 라이브러리 + 권한 모델이 풍부.
  • 모바일 친화 웹 리더.

선택 기준은 단순하다. 라이브러리가 만화 중심이면 Komga. 만화 + 전자책 + 잡지가 섞여 있으면 Kavita. 둘 다 띄워서 라이브러리를 나누는 사람도 많다.

services:
  komga:
    image: gotson/komga:latest
    ports:
      - '25600:25600'
    volumes:
      - ./config:/config
      - /mnt/comics:/data
    environment:
      - TZ=Asia/Seoul
    restart: unless-stopped

  kavita:
    image: jvmilazz0/kavita:latest
    ports:
      - '5000:5000'
    volumes:
      - ./kavita-config:/kavita/config
      - /mnt/books:/books
    environment:
      - TZ=Asia/Seoul
    restart: unless-stopped

전자책 변환 + 정리

만화/책 라이브러리는 파일 포맷이 중요하다. Calibre를 별도로 띄워 EPUB 정규화 + 메타데이터 정리 + 표지 이미지 정리에 쓰는 사람이 많다. Calibre-Web을 추가로 띄우면 웹 OPDS도 깔끔.


7장 · arr 스택 — Sonarr / Radarr / Lidarr / Readarr / Prowlarr / Bazarr

arr 스택은 미디어 자동화의 척추다. 2026년에도 여전히 같은 구조 — 단지 더 견고해진.

역할 분담

도구담당한 줄 평가
SonarrTV 시리즈신규 에피소드 자동 추적 + 다운로드
Radarr영화영화 컬렉션 자동 관리
Lidarr음악아티스트 + 앨범 추적
Readarr전자책 + 오디오북(2026년 시점 활발한 fork 진행)
Whisparr성인 콘텐츠Radarr 변형
Prowlarr인덱서 허브모든 arr들의 인덱서 단일 진입점
Bazarr자막 자동 다운로드Sonarr / Radarr 라이브러리 동기화

흐름 한 그림

요청 시스템 또는 위시리스트에서 시작 → arr 도구가 인덱서(Prowlarr 경유)로 검색 → 다운로드 클라이언트(qBittorrent / SABnzbd)에 작업 큐잉 → 다운로드 완료 후 import 디렉토리로 이동 + 파일명 정규화 + 라이브러리 인덱싱 → Bazarr가 자막 자동 매칭 → Jellyfin / Plex가 메타데이터 새로고침.

Prowlarr가 바꾼 것

예전엔 Sonarr / Radarr / Lidarr 각각에 인덱서를 따로 설정했다. Prowlarr는 그걸 단일 허브로 만든다. 인덱서 한 번만 추가하면 모든 arr에 자동 동기화. 비밀번호, 쿠키, RSS URL을 한 곳에서만 관리하면 된다.

Bazarr — 자막의 끝판왕

Sonarr / Radarr 라이브러리를 그대로 따라가면서, OpenSubtitles, Subscene, Addic7ed, Subdivx 등에서 자막을 자동 다운로드. 언어 우선순위(예: 한국어 → 영어 → 일본어), 점수 임계값, 강제 자막 처리, 동기 보정까지. 가족 단위로 자막 언어가 갈리는 경우 거의 필수.

docker-compose 한 토막

services:
  sonarr:
    image: lscr.io/linuxserver/sonarr:latest
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Seoul
    volumes:
      - ./sonarr/config:/config
      - /mnt/media:/media
      - /mnt/downloads:/downloads
    ports:
      - '8989:8989'
    restart: unless-stopped

  radarr:
    image: lscr.io/linuxserver/radarr:latest
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Seoul
    volumes:
      - ./radarr/config:/config
      - /mnt/media:/media
      - /mnt/downloads:/downloads
    ports:
      - '7878:7878'
    restart: unless-stopped

  prowlarr:
    image: lscr.io/linuxserver/prowlarr:latest
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Seoul
    volumes:
      - ./prowlarr/config:/config
    ports:
      - '9696:9696'
    restart: unless-stopped

  bazarr:
    image: lscr.io/linuxserver/bazarr:latest
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Seoul
    volumes:
      - ./bazarr/config:/config
      - /mnt/media:/media
    ports:
      - '6767:6767'
    restart: unless-stopped

핵심 함정 — 하드링크와 폴더 구조

arr 스택을 처음 세팅할 때 가장 흔히 깨지는 곳이다. 다운로드 폴더와 미디어 폴더가 같은 파일 시스템에 있어야 한드링크가 가능하고, 그래야 시드 유지하면서 라이브러리에 동시 존재가 가능하다. 폴더 구조 권장:

  • /data/torrents/movies, /data/torrents/tv, /data/torrents/music
  • /data/media/movies, /data/media/tv, /data/media/music

도커 컨테이너에는 /data 한 덩어리를 통째로 마운트한다. /data/torrents와 /data/downloads를 분리하면 하드링크가 깨진다.


8장 · Jellyseerr / Overseerr — 요청 시스템

가족이 "이 영화 좀 추가해줘" 하는 걸 어디서 받을 것인가. Slack/카톡에서 받으면 잊어버린다. 그 갭을 메우는 게 요청 시스템.

Overseerr — Plex 출신

  • TMDB / TVDB 통합 검색.
  • Plex 사용자 연동 — 가족 모두 본인 Plex 계정으로 로그인.
  • Sonarr / Radarr / Lidarr와 직접 연결 — 승인 즉시 라이브러리 추가.
  • 알림 시스템(Discord / Telegram / Slack / Email / Pushover).

Jellyseerr — Overseerr fork, Jellyfin/Emby 지원

  • Overseerr의 모든 기능 + Jellyfin / Emby 사용자 인증.
  • 2026년 시점 Overseerr보다 활발하게 개발 중.
  • Jellyfin + Plex 멀티 백엔드를 동시에 운영하는 사람에게 필수.

운영 팁

  • 자동 승인 vs 수동 승인 — 가족 단위면 자동 승인이 보통 편하다. 친구한테까지 열려면 수동.
  • 사용자별 quota — 한 사람이 무한정 요청하지 못하게.
  • 4K 라이브러리는 별도 인스턴스로 — Sonarr-4K / Radarr-4K. 다이렉트 플레이 가능한 사람에게만 노출.
  • 알림은 Discord 웹훅이 가장 깔끔하다 — 신규 요청, 승인, 다운로드 완료까지 한 채널.

9장 · qBittorrent / SABnzbd — 다운로드 클라이언트

qBittorrent

토렌트 클라이언트의 사실상 표준. 가볍고, 카테고리/태그 시스템이 arr 스택과 잘 맞고, 웹 UI가 단순하다.

  • 카테고리 = 폴더 = arr 스택 매핑 — sonarr 카테고리는 /downloads/sonarr, radarr는 /downloads/radarr.
  • 시드 비율 / 시간 제한.
  • 공유 시드 제한 — 어떤 사설 트래커는 시드 시간 의무가 있다.
  • 속도 제한 스케줄.
  • 포트 포워딩 — VPN 컨테이너 사용 시 매우 중요.

Gluetun — VPN 컨테이너 패턴

services:
  gluetun:
    image: qmcgaw/gluetun
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    environment:
      - VPN_SERVICE_PROVIDER=mullvad
      - VPN_TYPE=wireguard
      - WIREGUARD_PRIVATE_KEY=$$WIREGUARD_PRIVATE_KEY
      - SERVER_CITIES=Stockholm
    ports:
      - '8080:8080' # qBittorrent webui
      - '6881:6881' # torrent traffic
      - '6881:6881/udp'
    restart: unless-stopped

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    network_mode: 'service:gluetun'
    depends_on:
      - gluetun
    environment:
      - PUID=1000
      - PGID=1000
      - WEBUI_PORT=8080
    volumes:
      - ./qbittorrent/config:/config
      - /data/torrents:/data/torrents
    restart: unless-stopped

qBittorrent의 모든 네트워크를 Gluetun 컨테이너의 VPN 터널로 강제한다. Gluetun이 죽으면 qBittorrent도 인터넷 접근이 막힌다 — kill switch 효과.

SABnzbd / NZBGet — Usenet

Usenet은 토렌트와 다른 세계다. 인덱서 가입 + Usenet 프로바이더 가입(SuperNews, Newshosting, Eweka 등)이 필요하지만, 속도가 회선 풀(full saturation)로 안정적으로 나오고, 시드 의무가 없고, 추적 위험이 거의 없다는 장점이 있다.

  • SABnzbd — 더 친근한 UI, 자동 후처리 강력.
  • NZBGet — 더 가볍고 빠르지만 UX는 거칠다(2024년부터 다시 활발한 fork).

10장 · Tdarr / Unmanic / FileFlows — 트랜스코딩 자동화

라이브러리가 커지면 디스크가 비명을 지른다. 8K Blu-ray 리메이크본 한 편이 80GB, 시리즈 한 시즌이 200GB. 거기에 가족 누군가의 클라이언트가 H.264만 지원하면 실시간 트랜스코딩이 CPU를 태운다. 답은 미리 일괄 트랜스코딩.

Tdarr

  • 라이브러리 전체를 스캔해서 정책에 안 맞는 파일을 식별.
  • HEVC 변환, AV1 변환, 자막 추출, 트랙 정리.
  • 노드 분산 — 여러 머신에 인코딩을 분산.
  • 강력한 통계 + 대시보드.

Unmanic

  • 단일 노드 중심의 단순 도구.
  • 워크플로가 단순하고 직관적.
  • Tdarr보다 가볍지만 분산은 약함.

FileFlows

  • 워크플로(노드 + 엣지) 기반 — 시각적으로 파이프라인 구성.
  • 부분 상업(완전 무료 + 유료 라이선스로 노드 확장).

정책 예시 — 라이브러리 표준화

  • 모든 영상은 HEVC 10-bit, AV1 / HEVC만 보관.
  • 오디오 트랙은 한국어 + 영어만, 나머지 제거.
  • 자막은 PGS는 OCR로 SRT 변환, ASS는 그대로.
  • 결과 파일은 원본보다 작을 때만 교체(품질 손실 방어).

이걸 정책으로 박아 놓고 Tdarr에 시키면, 라이브러리 5TB → 2.5TB가 한 달 안에 가능하다. 다만 인코딩 = CPU/GPU 시간 = 전기 = 시간. N100 단일로 4K HEVC 인코딩은 한 편당 며칠. NVIDIA NVENC가 들어간 GPU나 Arc A380 정도가 있어야 의미 있는 속도.

FileBot — 라이브러리 정리의 마지막 무기

FileBot은 인코딩보다는 "파일명 / 폴더 구조의 정규화" 도구다. arr 스택이 자동으로 못 잡는 옛날 라이브러리, 한국·일본 작품 모음, 가족 비디오 등 — 한 번에 정규화. 상업 라이선스지만 한 번 사면 평생.


11장 · TRaSH-Guides — arr 설정의 바이블

TRaSH-Guides(https://trash-guides.info)는 arr 스택의 품질 / 명명 / 폴더 구조를 정리한 커뮤니티 가이드다. 2026년 시점, arr 스택을 진지하게 운영하는 사람의 96.5%가 이 가이드를 따른다고 봐도 무방하다.

무엇이 정리되어 있는가

  • 품질 프로파일 — WEB-DL · BluRay · Remux 등 어떤 소스를 어떤 우선순위로?
  • Custom Format — 한국어 자막 포함, HDR10, Dolby Vision, Atmos 같은 항목을 점수로.
  • 파일명 포맷 — Sonarr/Radarr의 standardized rename token.
  • 폴더 구조 — 하드링크 안 깨지는 권장 폴더 트리.
  • Quality Definitions — 1080p / 4K 사이즈 상한/하한.
  • Recyclarr — 위 설정을 코드로 동기화하는 도구.

Recyclarr — YAML로 arr 설정 관리

# recyclarr.yml
sonarr:
  main:
    base_url: http://sonarr:8989
    api_key: !env_var SONARR_API_KEY

    quality_definition:
      type: series

    custom_formats:
      - trash_ids:
          - 9b27ab6498ec0f31a3353992e19434ca # WEB-DL
          - 6a7b462c80caa912f46c8c6e1eb0a31f # Korean
        quality_profiles:
          - name: WEB-1080p

radarr:
  main:
    base_url: http://radarr:7878
    api_key: !env_var RADARR_API_KEY

    quality_definition:
      type: movie

Recyclarr를 cron으로 매일 돌리면 TRaSH-Guides의 최신 권장 사항이 자동으로 arr에 반영된다. 인스턴스가 늘어날수록 가치가 폭발.

입문자를 위한 5단계

  1. 폴더 구조부터 TRaSH 권장형으로 통일(/data/media, /data/torrents).
  2. Sonarr / Radarr 명명 포맷을 TRaSH 가이드대로.
  3. 한두 개의 핵심 Custom Format 추가(예: x265 페널티, Korean, HDR10).
  4. WEB-1080p 또는 BluRay-2160p 같은 기본 프로파일 한 개로 시작.
  5. Recyclarr를 도입해 향후 업데이트를 자동화.

12장 · 하드웨어 — N100 / Synology / UnRAID / TrueNAS Scale / Proxmox

N100 / N305 미니 PC — 2026년의 표준

Intel N100/N305 기반 미니 PC가 2024 ~ 2025년 사이에 폭발적으로 보급됐다. Beelink, MINISFORUM, GMKtec, ASUS NUC 11 ~ 14 등이 주류.

  • 8 ~ 16GB RAM, NVMe 512GB ~ 2TB, 2.5GbE 포트.
  • TDP 6 ~ 15W. 풀로드에서도 25W를 넘기지 않음.
  • iGPU = Intel UHD = QSV. 4K HEVC 트랜스코딩 가능.
  • 가격 30만 ~ 50만 원.

가족용 미디어 서버 한 대로 충분. SATA 슬롯이 없거나 부족한 경우가 많으니 외장 USB HDD / 별도 NAS와 조합.

Synology — 여전히 강세, 단 변화

Synology는 2025년에 7세대 시리즈 발표 + 일부 모델에서 자사 HDD 호환성 제약 강화 발표로 시끄러웠다. 2026년 시점에서:

  • 여전히 가정용 NAS 1순위 — UX, 모바일 앱, 안정성.
  • 컨테이너 매니저(과거 Docker 패키지)로 arr 스택 + Jellyfin 한 번에.
  • 자사 HDD 호환성 제약은 모델 / 펌웨어에 따라 다름 — 구매 전 확인 필수.
  • DSM 7.x의 Active Backup, Hyper Backup이 여전히 강력.

UnRAID — 미디어 홈랩의 사실상 표준

UnRAID는 디스크 크기가 다른 HDD 혼합 + 한 디스크 단위 spin down + ZFS 옵션까지 가능한 NAS OS. 미디어 홈랩에 가장 인기 있는 선택지.

  • 라이선스는 평생 또는 연간. 2024년 가격 개편 이후로도 여전히 합리적.
  • Docker / VM / Plugins 통합 UI.
  • Community Applications 마켓플레이스 — arr 스택, Jellyfin, Immich, AudioBookshelf까지 거의 모든 도구가 한 클릭.
  • Tdarr 노드, Plex/Jellyfin GPU 패스스루도 UI에서.

TrueNAS Scale — ZFS 진영의 답

ZFS 기반 NAS OS. 데이터 무결성 / 스냅샷 / replication에 진심인 사람들의 선택.

  • 2024년에 Core(FreeBSD)에서 Scale(Linux/Debian 기반)로 무게 중심 이동.
  • Apps = TrueCharts → 이후 자체 앱 카탈로그로 정비.
  • 컨테이너 + Kubernetes(k3s) 기반 앱 실행 — UnRAID보다 학습 곡선 큼.
  • 미디어보다 데이터 보존이 우선인 사람에게.

Proxmox VE — 가상화의 왕

미디어보다는 "여러 VM과 컨테이너를 한 호스트에 모으고 싶다" 면 Proxmox.

  • KVM + LXC 통합 관리.
  • ZFS / Ceph 지원.
  • Backup / Replication / HA.
  • NAS + 미디어 서버 + 홈 어시스턴트를 한 박스에 모으는 사람.

디스크 — RAID는 백업이 아니다

이건 셀프 호스팅 종교 같은 규칙이다.

  • RAID(또는 ZFS RAIDZ)는 가용성을 위한 것이지, 백업이 아니다.
  • 백업은 별도 디스크에 — 가능하면 외장 + 클라우드 두 곳.
  • Borg / Restic / Kopia 중 하나로 매일 증분 백업.
  • Backblaze B2, Cloudflare R2 같은 저렴한 S3 호환 스토리지로 원격 사본.
  • 분기에 한 번은 복구 테스트.

13장 · 원격 접근 — Tailscale / Cloudflare Tunnel / WireGuard

Tailscale — 첫 번째 선택

90%의 사람은 여기서 끝.

  • 모든 기기에 클라이언트 설치 → 동일 계정 로그인 → 100.x.y.z 사적 IP가 자동.
  • 포트 열기, DDNS, 인증서 갱신 — 전부 제거.
  • MagicDNS로 my-jellyfin.tailnet.ts.net 같은 이름.
  • Tailscale SSH가 SSH 키 관리도 처리.
  • 무료 100대 기기 / 3 사용자(2026년 시점 유지).

Cloudflare Tunnel — 공개 노출이 필요할 때

가족 외 사람에게 공개해야 하는 경우 — 예: Jellyseerr 요청을 친구한테 받기, 블로그/위키 공개. Cloudflare Tunnel은 자기 서버에 cloudflared 클라이언트를 띄우고, Cloudflare가 도메인을 받아 자기 서버로 안전하게 전달.

  • 포트 0개 개방.
  • Cloudflare가 DDoS / 봇 차단 / 자동 TLS.
  • Access 정책으로 SSO / 이메일 OTP / Google Workspace 인증.

WireGuard 단독

가장 가볍고 빠른 VPN. Tailscale도 내부적으로 WireGuard. 직접 굴리려면 키 분배 / 핸드셰이크 / 동적 DNS를 직접 해야 한다. 2026년에는 99%의 셀프 호스터가 Tailscale 또는 Netbird로 넘어갔다.

추천 조합

  • 본인 + 가족 = Tailscale로 메시 VPN.
  • 친구한테 공개 = Cloudflare Tunnel + Access(이메일 OTP).
  • 완전 공개(블로그/위키) = Cloudflare Tunnel + WAF.
  • 절대 노출 안 함(arr/qBittorrent webui) = Tailscale 안에서만.

14장 · 한국 / 일본 홈랩 — 현장 풍경

한국

  • 시놀로지 강세 — DS218+ / DS220+ / DS920+ / DS923+가 가정용 NAS 시장의 절대 다수.
  • N100 미니 PC 인기 폭발 — 알리/쿠팡에서 30 ~ 40만 원대로 들어옴.
  • 외장 HDD + NAS 조합 — 시놀로지에 데이터, N100에 도커 + Jellyfin.
  • 기가 인터넷이 표준 — 1Gbps 대칭 회선이 흔하다. 리모트 스트리밍 부담 없음.
  • 자막 문화 — 한국어 자막 매칭이 까다로워 Bazarr + 한국어 자막 사이트 인덱서 추가가 필수.
  • 클라이언트 — Apple TV, Shield TV, Android TV 박스가 주류. 일부는 LG/삼성 스마트 TV 내장 Plex/Jellyfin 앱.

일본

  • QNAP / Synology 양강 + 자작 진영 — DIY 홈서버 문화가 더 깊다.
  • 라즈베리 파이 5의 부활 — Pi 5 + Pi NVMe HAT 조합으로 작은 미디어 서버.
  • Animation 전용 라이브러리 — Sonarr 대신 Sonarr fork인 Sonarr-anime, Anilist 매처 사용.
  • 메타데이터 매처 — AniDB, AniList 플러그인 필수.
  • 모바일 / 위성 회선 보급 — 광케이블 + 5G 라우터의 핫스팟. 회선 자체는 한국·일본 모두 충분.
  • 클라이언트 — TVer / Abema가 별도 카테고리. Jellyfin은 보조적.

양국 공통

  • 전기료가 미국보다 비싸다 — N100 / 미니 PC 같은 저전력 선호가 강함.
  • 가정 공간이 작다 — 큰 NAS 서버보다 N100 + 외장 HDD 1 ~ 2개가 현실적.
  • 데이터 주권 / 프라이버시 의식은 미국보다 약했으나, Google Photos 유료화 / Plex 사태 이후 빠르게 높아짐.

15장 · 보안 / 백업 / 운영 — 잊으면 후회하는 5가지

  1. VPN 컨테이너의 kill switch 검증. Gluetun 죽었을 때 qBittorrent 트래픽이 ISP로 새지 않는지 매월 한 번 확인.
  2. 백업 = 3-2-1. 원본 1 + 별도 디스크 1 + 클라우드 1. 분기 한 번 복구 리허설.
  3. 로그 / 알람. Watchtower로 컨테이너 자동 업데이트는 위험. Diun으로 알림만 받고 수동 검토 권장.
  4. 인증서 / 토큰 만료. Bazarr / Sonarr API 키, Cloudflare API 토큰, VPN WireGuard 키 — 분리된 vault에.
  5. 법적 회색 지대. 셀프 호스팅 미디어의 일부 워크플로(특히 인덱서 / 트래커)는 국가별 법규가 다르다. 정확히 무엇을 어디서 받고 있는지 본인이 안다.

16장 · 참고 / References