지금까지는 NAS에서 제공해주는 기능들을 최대한 활용했습니다.

그 기능들은 GUI로 관리 할 수 있어서 편리했습니다.
물론 시놀로지와 큐냅이 서로 다른 기능을 제공하고, 기능이 같더라 해도 대체로 서로 호환되지 않았습니다.

Docker를 알고나니 호환되지 않는다는것의 불편함과 GUI를 얻지만 CUI로는 아무것도 못한다는 것이 매우 불편했습니다.

Qnap은 NAS를 종료하거나 일정 시간이 될때마다 스크립트를 실행할 수 있는 기능을 제공하지 않습니다.
시작 스크립트가 안되면 cui가 되더라도 nas를 켠 후에 ssh 접속해서 실행해야 합니다.
하지만 Qnap의 경우 시작 스크립트 구성하는 것이 복잡합니다.
(참고)Qnap 시작 스크립트 구성하기

그러다보니 CUI로 못해서 겪는 불편함보다, cui를 사용할 수 있는 환경으로 만드는 것이 더 불편해서 cui는 관심을 조금 끄고 살았습니다.
차라리 QTS(시놀로지에서는 DSM에 해당하는, Qnap NAS의 OS입니다)에서 제공하는 기능들을 최대한 활용해 조금 우회해서 원하는 것과 비슷한 기능을 구현하는것이 더 편리했었죠.

그러다가 한번 qnap 시작 스크립트를 구현해두니 Docker가 편리해지기 시작했습니다.
Docker는 특정 조건이 될때까지 기다렸다가 Docker container를 시작한다던가 특정 볼륨만 마운트 한다거나, 특정 볼륨을 ro로 마운트할수도 있죠.

Plex Drive. 실패

Qnap에는 plex drive와 비슷한 기능을 제공하는 hybrid mount라는 앱이 있습니다.
하지만 이유를 알수 없지만 파일이 계속 삭제되는 문제를 경험하게 되었습니다.
그래서 hybrid mount로 마운트 된 볼륨을 사용하는 앱을 read only로 바꿔보기로 했습니다.
바로 plexdrive였습니다.
plex drive는 쓰기가 안되기 때문에 좋은 대안이라고 생각했습니다.
하지만 이상하게 plex가 켜지자마자 죽는 현상을 겪게 되었습니다.

Docker 실패

그래서 Docker Plex로 시선을 돌리게 되었죠.
하지만 Docker로 바꿨음에도 계속 꺼졌습니다.
Docker는 꺼지고 멈추는게 아니라 계속 다시 시작되었죠.
결국 이 모든 원은은 단순히 Linux 에서 사용할 수 없는 이름이 폴더 이름으로 사용되고 있었을 뿐이였더라구요.

원인을 해결하고 나니 Docker Plex나 Qnap Plex 모두 정상적으로 작동하였습니다.
하지만 Docker Plex를 만들었으니 Docker Plex로 두기로 했습니다.

Docker Plex VS Qnap Plex

Qnap plex는 단점이 많았습니다.
시놀로지는 plex 사용자가 생성되고, plex 사용자에게 읽을 수 있는 폴더 권한을 지정할 수 있습니다.
하지만 Qnap plex는 무조건 root로 실행되어 모든 파일을 읽고 수정할 수 있었습니다.
plex를 못믿는 것은 아닌데도 불안한 것을 어쩔수 없지요.
하지만 Docker plex는 특정 볼륨만 마운트 할 수 있고, 더 나아가 read only로 마운트 하는 것까지도 가능합니다.
그리고 나름 가상 머신 같은 개념이라 container를 지우거나 종료하면 아무런 찌꺼기 없이 모두 사라지죠.
게다가 자동 업데이트까지 되는데다가
특정 조건이 달성된 후에 시작 되도록 제어할 수도 있었습니다!

Qnap PlexDocker Plex
권한모든 파일 읽기/쓰기Docker에 마운트 된 볼륨에만 접근
성능미디어 스캔 중 거의 시청 불가언제나 시청 가능
잔여 프로세스종료해도 프로세스가 남는 경우가 있음컨테이너를 종료하므로 완전한 종료 가능
업데이트최신 업데이트는 qpkg 수동 설치docker를 재시작 하면 업데이트
CLI 제어cli 제어 불가능cli 제어 가능. plexdrive 마운트 후 시작 가능

Plex를 독커로 구성하기

docker run \
-d \
--name plex \
--network=host \
-e TZ=Asia/Seoul \
-e PLEX_CLAIM=claim-X-xxxxxxxxxxxxxxxxxx \
-e VERSION=beta \
-v /플렉스/설정/폴더/경로:/config/Library/Application\ Support/Plex\ Media\ Server \
-v /미디어/폴더/경로:/Media:ro \
plexinc/pms-docker:beta

위 코드를 이용해 독커를 생성하게 됩니다.
위 구문에 대해 한줄 한줄 설명해드리겟습니다.

만약 아래 설명 글이 읽기 너어어어어무 귀찬다면
/플렉스/설정/폴더/경로와 /미디어/폴더/경로만 입맛대로 수정하고 이 코드를 실행해주세요

docker run \
-d \
--name plex \
--network=host \
-v /플렉스/설정/폴더/경로:/config/Library/Application\ Support/Plex\ Media\ Server \
-v /미디어/폴더/경로:/Media:ro \
plexinc/pms-docker:beta


자세한 설명

docker run -d

실행 구문입니다.
이미 NAS에 존재하는 이미지나 Docker repository에 있는 이미지를 다운로드 하여 컨테이너를 생성하고 실행합니다.
-d 옵션은 정상적으로 실행되면 다시 실행하던 화면으로 돌아오게 해줍니다.
-d옵션이 없으면 실행 후 해당 컨테이너에 접속하게 됩니다.

--name plex

컨테이너의 이름을 설정합니다.
다른 컨테이너랑 구분하기 쉽게 원하는 이름으로 설정하면 됩니다.

--network=host \

네트워크 설정입니다.
독커 네트워크를 이용하려면
-p 원하는 포트:32400으로 바꾸셔도 됩니다.
하지만 이렇게 설정하는 경우 원하는 포트가 변경되거나, Plex에서 포트를 32400 대신 다른 포트로 변경하는 경우 다시 생성해야 하는 단점이 있습니다.

-e 옵션은 environment 옵션으로 환경 변수를 설정할 수 있습니다.

-e TZ=Asis/Seoul

타임존을 설정합니다.
Plex 공식 Docker 이미지에서 TZ 설정을 할수 있게 해두었다고 언급하고 있지만 없어도 되는 부분 같습니다.

-e PLEX_CLAIM

플렉스 홈페이지에서 계정에 로그인 하면 얻을 수 있는 키입니다.
Plex Claim은 서버를 만든 사람을 어떤 Plex 계정으로 만든것인지 증명하는 코드입니다.
하지만 코드 유효기간은 5분 밖에 안되서 플렉스 Plex Pass 증명에 사용되는 것도 아닌 것 같습니다.
plex claim이 없으면 첫 실행에는 베타가 아닌 public tag가 설치될수 있습니다.
하지만 처음 plex를 설치하면 Plex 계정으로 로그인 하게되고, 그 이후 부팅에는 Plex Pass 계정인 경우 beta 업데이트가 가능합니다.

-e VERSION=beta

베타로 업데이트 합니다.
첫 세팅을 끝내고 나면 plex 설정에서 beta로 업데이트 되도록 설정할 수 있습니다.

중요하지 않은 설정이라고 할수 있습니다.

-v /플렉스/설정/폴더/경로:/config/Library/Application\ Support/Plex\ Media\ Server \
-v는 볼륨 설정입니다.
를 기준으로 좌측은 host(Docker를 구동시키는 컴퓨터)의 폴더 경로를 적고, 우측에는 Docker의 경로를 적습니다.
이렇게 설정하면 /config/Library/Application\ Support/Plex\ Media\ Server에 들어가면 host 컴퓨터의 폴더가 표시됩니다.
즉 Docker Container를 지우고 다시 설치하더라도 -v /플렉스/설정/폴더/경로:/config/Library/Application\ Support/Plex\ Media\ Server \만 넣어두면 Plex를 그대로 이용할 수 있게 됩니다.
plexinc/pms-docker:beta
Docker Hub의 게시자/프로젝트명:tag로 되어있습니다.
plexinc의 pms-docker 이미지 중 beta 이미지로 컨테이너를 실행하겠다는 의미입니다.
Ads Blocker Image Powered by Code Help Pro

광고 차단 감지됨!

닫기를 누르면 이용하실 수 있지만, 광고 차단은 해제해주시면 좋겠습니다.
Powered By
100% Free SEO Tools - Tool Kits PRO