도커로 플렉스 미디어 서버 설치: Flex Docker compose 셋업
한번 해보고자 싶어서 docker 를 통한 설치 구축방법을 진행해 봤습니다.
아래 설치 compose의 특징이라면 미디어가 저장되는 경로를 리눅스가 아닌 윈도우 기반에서 설치를 진행하고, 또한 윈도우 환경에서 관리를 하는 조금 또라이 같은 방법이라.
미디어 라이브러리 경로를 C:\docker\flex\ 로 설정했다는 점 되겠습니다.
리눅스나 우분투 기반으로 도커를 운영하시는 분들은 해당 부분만 적당히 손보셔서 진행하시면 되겠습니다.
왜 윈도우 Flex Docker 인가?
개인적으로 윈도우 기반의 서버 프로그램 2개가 꾸준히 돌아가야하는 환경이 있다보니, 해당 프로그램을 리눅수(전 우분투씁니다.) 기반으로 컨버팅 하는 것보다. 그냥 윈도우에서 Docker.desktop 을 설치해서 사용하는게 편하겠다 싶었습니다.
docker-compose.Yaml
version: '3.8'
services:
plex:
image: linuxserver/plex:latest
container_name: plex
# Bridge 네트워크 모드를 기본으로 사용 (포트 충돌 방지 및 보안 강화)
# 주석 처리된 포트들은 Plex의 원활한 작동(DLNA, 앱 연결 등)을 위한 포트입니다.
ports:
- "32400:32400/tcp" # Plex 웹 UI 기본 포트
- "3005:3005/tcp"
- "8324:8324/tcp"
- "32469:32469/tcp"
- "1900:1900/udp"
- "32410:32410/udp"
- "32412:32412/udp"
- "32413:32413/udp"
- "32414:32414/udp"
# 환경 변수는 아래 .env 파일에서 불러옵니다.
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- PLEX_CLAIM=${PLEX_CLAIM}
- VERSION=docker
# 볼륨 매핑 (데이터 영속성을 위해 호스트 경로와 컨테이너 내부 경로 연결)
volumes:
- ${CONFIG_PATH}:/config
- ${TRANSCODE_PATH}:/transcode
- ${MOVIES_PATH}:/data/movies
- ${TV_SHOWS_PATH}:/data/tvshows
# --- 필요에 따라 미디어 라이브러리 추가 ---
# - ${MUSIC_PATH}:/data/music
# - ${PHOTOS_PATH}:/data/photos
# ------------------ 옵션: 하드웨어 트랜스코딩 ------------------
# Intel Quick Sync Video (QSV)를 사용하려면 아래 'devices' 부분의 주석을 해제하세요.
# devices:
# - /dev/dri:/dev/dri
#
# NVIDIA GPU를 사용하려면 아래 'deploy' 부분의 주석을 해제하세요.
# (호스트 서버에 nvidia-container-toolkit이 설치되어 있어야 합니다.)
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: 1
# capabilities: [gpu]
# 예기치 않게 종료된 경우, 사용자가 직접 중지하지 않는 한 항상 다시 시작
restart: unless-stopped이후 CMD (혹은 편한대로)
docker-compose up -d으로
.env
# Plex 서버 기본 설정
TZ=Asia/Seoul
# Plex Claim 토큰 (https://www.plex.tv/claim/ 에서 발급, 4분 유효)
# 서버를 처음 설정할 때만 필요하며, 이후에는 지워도 됩니다.
PLEX_CLAIM=<claim-코드를_여기에_붙여넣으세요>
PUID=1000
PGID=1000
# 폴더 경로 설정 (C:\docker\flex 기준)
# C:\docker\flex 경로를 Docker가 인식할 수 있도록 변환했습니다.
# Plex 설정 파일 및 데이터베이스가 저장될 경로
# -> C:\docker\flex\config
CONFIG_PATH=/c/docker/flex/config
# 트랜스코딩 작업 시 임시 파일이 저장될 경로
# -> C:\docker\flex\transcode
TRANSCODE_PATH=/c/docker/flex/transcode
# 미디어 라이브러리 경로
# -> C:\docker\flex\movies
MOVIES_PATH=/c/docker/flex/movies
# -> C:\docker\flex\tvshows
TV_SHOWS_PATH=/c/docker/flex/tvshows위와 같이 설정.
정상적으로 구동하는 것을 확인.
이후
🖥️ 올바른 접속 주소:
http://localhost:32400/web
또는 localhost 대신 사용 중인 컴퓨터의 IP 주소를 입력해도 됩니다.
http://<사용자-컴퓨터-IP주소>:32400/web
(예: http://192.168.0.10:32400/web)