Profile picture

[Docker] 개인 미디어 서버 - PLEX

JaehyoJJAng2023년 05월 09일

PLEX

PLEX Media Server는 보유하고 있는 영화나 TV, 음악 등을 깔끔하게 관리해주는 미디어 서버이다.
도커로 설치하기 때문에 도커 사용법만 알고 있다면 윈도우와 리눅스, 맥북 등 다양한 OS에서 운용 가능하다


1. PLEX 설치

먼저 Docker가 서버에 설치되어 있어야 한다.

도커 설치는 아래 링크를 참고하도록 하자

[Docker] 도커 설치하기 - Install Docker [Ubuntu:20.04]
[Docker] 도커 설치하기 - Install Docker [CentOS7]


다음 Docker 명령어로 PLEX 컨테이너를 생성할 수 있다

$ docker run -d -it --name plex \
--restart=always \
-p 32400:32400 \
-e VERSION=latest \
-e PUID=${UID} \
-e PGID=$(id -g ${USER}) \
-e TZ=Asia/Seoul \
-v <config경로>:/config \ 
-v <transcode경로>:/transcode \
-v <data경로>:/data \
linuxserver/plex

각각 config, transcode, data 경로는 실제 디렉토리 경로를 쓰면 된다.


실제 경로를 적용한 Docker 명령어는 아래와 같다

$ docker run -d -it --name plex \
--restart=always \
-p 32400:32400 \
-e VERSION=latest \
-e PUID=${UID} \
-e PGID=$(id -g ${USER}) \
-e TZ=Asia/Seoul \
-v "$(pwd)/plex/config:/config" \
-v "$(pwd)/plex/transcode:/transcode" \
-v "$(pwd)/plex/data:/data" \
linuxserver/plex

컨테이너가 실행되기까지 약간의 시간이 소요된다


2. PLEX Daum 에이전트 설치

PLEX에 접속 전 한국 영화와 TV 프로그램을 위한 에이전트를 설치해야 한다.

먼저 plex/config 를 기준으로 Library/Application Support/Plex Media Server/Plug-ins으로 이동하자

$ cd /Users/user1/plex/config/Library/Application Support/Plex Media Server/Plug-ins

해당 디렉토리는 컨테이너가 실행된 이후 약간의 시간이 지나고 생성된다


깃허브에서 에이전트를 다운로드 받아오자

$ git clone https://github.com/psychoria/DaumMovieTVSeries.bundle.git

$ ls -lh .
drwxr-xr-x  5 XXXX  staff   160B  9  8 13:19 DaumMovieTVSeries.bundle

3. PLEX 실행 및 초기설정

접속은 http://<IP주소>:32400/web 으로 연결하면 된다
image
계정을 만들거나 다른 로그인 방식(Facebook,google ..)을 선택해서 알아서 로그인하면 된다


로그인이 완료되면 PLEX 시작화면을 볼 수 있다.
image


외부에서 연결하려면 체크박스에 체크하고 PLEX 서버 이름을 지정해주도록 하자. 기본으로 입력된 이름을 사용해도 무방하다
image


라이브러리를 추가해서 미디어를 정리할 수도 있는데 위에서 설치한 Daum 에이전트를 사용할 수도 있다
image
image


기본 설정을 완료하고 완료를 누르면 PLEX 사용이 가능하다
image


4. 외부 자막 사용

영상에 자막이 포함되어 있지 않은 경우나 한글이 제공되지 않는 경우는 SMI나 SRT 자막을 사용하면 된다.

다만 PLEX 서버를 설치한 이후에 간혹 smi나 srt등의 외부 자막을 못 읽는 경우가 더러 있다.

몇 가지 설정을 통해 외부 한글 자막을 인식하지 못하는 문제를 해결할 수 있다.


먼저 서버 설정의 언어를 선택해서 선호 자막언어를 한국어로 설정하도록 하자.
image


한국어가 아닌 다른 언어로 설정되어있으면 한국어로 변경해주면 된다.
그 다음으로 자막의 이름들을 언어로 구분해서 작성하면 된다.

영화 제목이 존윅 (2014).avi 라면 존윅 (2014).ko.srt 형태로 작성하면 된다.
두 자리 국가코드는 아래 링크에서 확인할 수 있고 영어의 경우 ko 대신 en을 입력하면 된다.
https://www.iban.com/country-codes


Docker-Compose 작성

매번 docker run으로 실행시키기 귀찮으니 docker-compose.yml 파일을 작성하여 컨테이너 설정을 저장해놓자

version: "3"

services:
  plex:
    image: linuxserver/plex
    restart: always
    ports:
      - "32400:32400"
    volumes:
      - ./plex/config:/config
      - ./plex/transcode:/transcode
      - ./plex/data:/data
    environment:
      VERSION: latest
      PUID: <UID>
      PGID: <GID>
      TZ: "Asia/Seoul"
    container_name: plex

컨테이너 실행

$ docker-compose up -d

Loading script...