JELLYFIN DOCKER 설치

인터랙티브 Jellyfin Docker 설치 가이드

인터랙티브 Jellyfin Docker 설치 가이드

Docker를 이용한 Jellyfin 미디어 서버 설치부터 최적화까지, 모든 과정을 쉽게 따라해보세요.

나만의 미디어 서버, Jellyfin을 만나보세요

이 가이드는 오픈소스 미디어 서버인 Jellyfin을 Docker를 이용해 설치하고 최적화하는 과정을 안내합니다. Docker는 애플리케이션을 격리된 환경에서 실행시켜 설치를 간소화하고 시스템 안정성을 높여주는 강력한 도구입니다. 이 둘의 조합으로 강력하고 유연한 나만의 미디어 스트리밍 환경을 구축할 수 있습니다.

Jellyfin + Docker = 최고의 조합

Jellyfin은 영화, TV 쇼, 음악 등 자신의 미디어를 완벽하게 제어하고 어떤 장치에서든 스트리밍할 수 있게 해주는 무료 오픈소스 솔루션입니다.

  • 완벽한 소유권: 광고나 추적 없이 온전히 당신의 미디어 라이브러리를 관리하세요.
  • 뛰어난 호환성: 다양한 운영체제와 장치에서 미디어를 즐길 수 있습니다.
  • 간편한 관리: Docker를 통해 설치, 업데이트, 관리가 매우 간단해집니다.

Jellyfin은 Docker 컨테이너 안에서 당신의 미디어를 관리합니다.

1단계: 준비 및 설치

Jellyfin 설치를 시작하기 전에 몇 가지 준비가 필요합니다. 이 섹션에서는 필수 조건을 확인하고, Docker를 설치한 후, `docker-compose.yaml` 파일을 이용해 Jellyfin을 설치하는 방법을 안내합니다. 각 설정 항목을 클릭하여 자세한 설명을 확인해보세요.

사전 준비 사항

운영 체제

Linux (Ubuntu, Debian 등) 기반 시스템을 강력히 권장합니다. 안정성과 성능 면에서 가장 뛰어납니다.

하드웨어

미디어 트랜스코딩을 고려하여 충분한 CPU 성능 또는 하드웨어 가속을 위한 GPU(Intel/NVIDIA)를 준비하세요.

Docker 설치

최신 버전의 Docker를 사용하세요. 아래 명령어로 쉽게 설치할 수 있습니다.

curl -fsSL https://get.docker.com | sh

대화형 `docker-compose.yaml` 설정

services:
  jellyfin:
    image: lscr.io/linuxserver/jellyfin:latest
    container_name: jellyfin
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Seoul
    volumes:
      - /path/to/jellyfin/config:/config
      - /path/to/media/movies:/data/movies:ro
    ports:
      - 8096:8096
      - 8920:8920
    restart: unless-stopped

설정 항목 설명

왼쪽 코드에서 궁금한 항목을 클릭하면 여기에 자세한 설명이 나타납니다.

위 내용으로 `docker-compose.yaml` 파일을 저장한 후, 터미널에서 아래 명령어를 실행하세요.

docker compose up -d

2단계: 초기 설정

Jellyfin 컨테이너가 성공적으로 실행되었다면 이제 웹 UI에 접속하여 초기 설정을 진행할 차례입니다. 설정 마법사를 따라 관리자 계정을 만들고 첫 미디어 라이브러리를 추가하는 과정을 안내합니다.

1

웹 UI 접속

웹 브라우저 주소창에 http://서버IP주소:8096 을 입력하여 접속합니다. 초기 설정 마법사가 여러분을 맞이할 것입니다.

2

관리자 계정 생성

마법사의 안내에 따라 사용할 언어(한국어)를 선택하고, 서버 관리를 위한 사용자 이름과 비밀번호를 생성합니다. 보안을 위해 강력한 비밀번호 사용을 권장합니다.

3

미디어 라이브러리 추가

가장 중요한 단계입니다. ‘미디어 라이브러리 추가’ 버튼을 눌러 미디어를 추가해 보세요.

  • 콘텐츠 유형 선택: ‘영화’, ‘TV 쇼’ 등 추가할 미디어 종류를 선택합니다.
  • 폴더 추가: ‘+’ 버튼을 눌러 미디어 폴더를 추가합니다. 여기서 `docker-compose.yaml` 파일에 :ro 로 매핑했던 컨테이너 내부 경로(예: /data/movies)를 선택해야 합니다.
  • 설정 완료: 필요한 메타데이터 언어 등을 설정하고 라이브러리 추가를 완료합니다. 같은 방법으로 여러 라이브러리를 추가할 수 있습니다.
4

설정 완료 및 대시보드 접속

모든 초기 설정을 마치면 Jellyfin 대시보드로 이동합니다. 이제 Jellyfin이 여러분의 미디어를 스캔하고 정리하기 시작할 것입니다. 즐겁게 감상하세요!

3단계: 트랜스코딩 최적화 (하드웨어 가속)

트랜스코딩은 다양한 기기에서 원활한 재생을 위해 비디오를 실시간으로 변환하는 과정입니다. 이 작업은 CPU에 큰 부담을 주므로, GPU를 활용한 하드웨어 가속 설정은 매우 중요합니다. 이를 통해 CPU 사용량을 줄이고 더 많은 동시 스트리밍을 처리할 수 있습니다. 사용 중인 GPU에 맞는 탭을 선택하여 설정 방법을 확인하세요.

Intel 내장 GPU (Quick Sync) 설정

Intel CPU에 내장된 GPU를 사용하여 하드웨어 가속을 설정합니다. 대부분의 최신 Intel CPU에서 지원됩니다.

1. `docker-compose.yaml`에 장치 추가

아래 내용을 `jellyfin` 서비스에 추가하여 GPU 장치를 컨테이너에 전달합니다.

devices:
  - /dev/dri/renderD128:/dev/dri/renderD128
group_add:
  - 'video_group_id' # getent group video 로 ID 확인 후 입력

2. Jellyfin 대시보드 설정

대시보드의 `재생 > 트랜스코딩` 메뉴로 이동하여 하드웨어 가속 옵션을 `Intel Quick Sync (QSV)`로 선택하고, 사용할 코덱들을 체크한 후 저장합니다.

NVIDIA 외장 GPU (NVENC) 설정

NVIDIA 그래픽 카드를 사용하여 하드웨어 가속을 설정합니다. 더 강력한 트랜스코딩 성능을 제공합니다.

1. NVIDIA Container Toolkit 설치

호스트 시스템에 NVIDIA 드라이버와 함께 NVIDIA Container Toolkit을 반드시 설치해야 합니다.

2. `docker-compose.yaml`에 런타임 추가

`devices` 대신 아래 내용을 `jellyfin` 서비스에 추가합니다.

runtime: nvidia
environment:
  - NVIDIA_VISIBLE_DEVICES=all
  - NVIDIA_DRIVER_CAPABILITIES=all

3. Jellyfin 대시보드 설정

대시보드의 `재생 > 트랜스코딩` 메뉴로 이동하여 하드웨어 가속 옵션을 `Nvidia NVENC`로 선택하고, 사용할 코덱들을 체크한 후 저장합니다.

4단계: 유지보수 및 문제 해결

Jellyfin 서버를 안정적으로 운영하기 위해서는 정기적인 업데이트와 백업, 그리고 발생 가능한 문제에 대한 대처 능력이 중요합니다. 이 섹션에서는 서버 유지보수 방법과 일반적인 문제들의 해결책을 안내합니다.

업데이트 및 백업

Jellyfin 업데이트

Docker Compose를 사용하면 업데이트가 매우 간단합니다. 터미널에서 아래 명령어들을 순서대로 실행하세요.

$ docker compose pull
$ docker compose up -d
$ docker image prune

설정 백업 및 복원

가장 중요한 작업입니다! /config 볼륨으로 매핑한 호스트 폴더 전체를 주기적으로 백업하세요. 서버를 이전하거나 복원할 때 이 폴더만 복사하면 모든 설정과 사용자 데이터가 그대로 유지됩니다.

자주 묻는 문제 (FAQ)

가장 흔한 원인은 권한 문제입니다. `docker-compose.yaml`의 `PUID`와 `PGID` 값이 미디어 파일/폴더를 소유한 사용자의 ID와 일치하는지 확인하세요. 터미널에서 `id ` 명령으로 ID를 확인할 수 있습니다.

트랜스코딩 문제일 가능성이 높습니다. 먼저 하드웨어 가속 설정이 올바르게 되었는지 확인하세요. 그래도 문제가 지속된다면, 대시보드의 `로그` 메뉴에서 `ffmpeg` 관련 오류 메시지를 확인하여 원인을 파악해야 합니다.

공유기의 포트 포워딩 설정에서 8096번 포트가 서버의 내부 IP로 올바르게 전달되도록 설정했는지 확인하세요. 또한, 보안을 위해 직접 포트를 노출하기보다 Nginx 같은 리버스 프록시나 VPN을 사용하는 것을 강력히 권장합니다.

핵심 요약 및 권장 사항

안정적이고 효율적인 Jellyfin 서버 운영을 위해 반드시 기억해야 할 핵심 사항들입니다. 이 체크리스트를 통해 여러분의 서버 설정을 다시 한번 점검해보세요.

  • 1️⃣

    영속적인 데이터 관리

    `/config` 볼륨 매핑은 선택이 아닌 필수입니다. 모든 설정과 메타데이터를 보존하기 위해 반드시 호스트 경로에 매핑하세요.

  • 2️⃣

    정확한 권한 설정

    `PUID`와 `PGID`를 올바르게 설정하여 파일 접근 권한 문제를 예방하세요. 이는 서버 안정성의 핵심입니다.

  • 3️⃣

    하드웨어 가속 활용

    원활한 트랜스코딩과 다중 접속 환경을 위해 자신의 GPU에 맞는 하드웨어 가속을 반드시 설정하세요.

  • 4️⃣

    강력한 네트워크 보안

    외부 접속 시, 직접적인 포트 포워딩보다 리버스 프록시나 VPN을 사용하여 서버를 안전하게 보호하세요.

  • 5️⃣

    정기적인 백업 및 업데이트

    최신 기능과 보안 패치를 위해 Docker 이미지를 주기적으로 업데이트하고, 만약을 대비해 `/config` 폴더를 정기적으로 백업하는 습관을 들이세요.

Interactive Guide for Jellyfin on Docker

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤