유튜브 영상 다운로드 ytdlp도커.yml (NAS+미니PC)

유튜브 영상 다운로드 ytdlp도커.yml (NAS+미니PC)

yt-dlp Docker + Plex 무광고 재생 가이드 (NAS 연동 꿀팁)

(Docker: yt-dlp-web + Plex / Synology NFS 연동, 부모 필수 꿀팁 포함)

아이에게 보여줄 유튜브 영상을 광고 없이, 끊김 없이, 집안 TV·태블릿·폰 어디서나 틀고 싶다면 이 조합이 답이다.
미니PC에 yt-dlp-web을 띄워서 클릭만 하면 mp3/mp4로 저장되고, NAS로 들어간 파일을 Plex가 자동으로 읽어 재생한다.
아이 채널 모음, 운동 강의, 요리 레시피, 시험 대비 강의… 전부 한 번 저장하면 평생 광고 없이 볼 수 있다.

이 Docker 기반 yt-dlp 웹 환경은 Plex 라이브러리와 자동 연동된다.


🧱 아키텍처 한 눈에

  • yt-dlp-web (Docker): 브라우저로 주소 붙여넣고 “다운로드” 클릭 → NAS에 저장
  • NAS (NFS): /downloads를 공유, Plex 라이브러리와 연결
  • Plex: 집/외부 어디서든 광고 없이 스트리밍 (스마트TV/태블릿/폰)
  • 미니PC: 컨테이너 실행, 자동화 허브
  • NAS Plex 서버에 yt-dlp로 저장된 영상이 자동으로 등장한다.

내부 링크: 지난 글 VPN 자동 토렌트 서버(Transmission+Gluetun),


🐳 Docker Compose (주석으로 수정 포인트 표시)

⚠️ 비밀번호·토큰은 반드시 변경하고, 실운영은 .env 로 분리해 관리하자.
(.env 예시는 아래에)

version: "3"

services:
  yt-dlp-web:
    container_name: yt-web
    image: sooros5132/yt-dlp-web
    # 헬스체크: UI(3000)가 살아있는지 확인
    healthcheck:
      test: ["CMD-SHELL", "nc -z 127.0.0.1 3000 || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 90s

    # Synology 권한 예시: 사용자/그룹 ID
    user: "1026:100"   # ← NAS/서버의 실제 UID:GID로 바꾸기 (id 명령으로 확인)

    environment:
      # ▼▼ 필수: 인증 토큰/계정은 꼭 교체하거나 .env 로 분리 ▼▼
      AUTH_SECRET: ${AUTH_SECRET}                 # 예: 32+자 임의 문자열
      CREDENTIAL_USERNAME: ${APP_USER}           # 예: admin 대신 별도 계정
      CREDENTIAL_PASSWORD: ${APP_PASS}           # 강한 비번
      # 다운로드 옵션: 오디오만 mp3(품질 0=최고)
      # 영상 저장하려면 예: "--format mp4 --merge-output-format mp4"
      YT_DLP_EXTRA_OPTIONS: "--extract-audio --audio-format mp3 --audio-quality 0"

    volumes:
      # 다운로드 결과물 → NAS 공유 폴더로 붙이기
      - /mnt/homes/sysback/99.downloads:/downloads:rw
      # 캐시/쿠키 보관 (재인증/속도 유리)
      - /mnt/docker/ytweb:/cache:rw

    ports:
      - "53221:3000"   # 브라우저 접속: http://서버IP:53221

    # 실패 5번까지 자동 재시작
    restart: on-failure:5
version: "3"
services:
yt-dlp-web:
container_name: yt-web
image: sooros5132/yt-dlp-web
# 헬스체크: UI(3000)가 살아있는지 확인
healthcheck:
test: ["CMD-SHELL", "nc -z 127.0.0.1 3000 || exit 1"]
interval: 10s
timeout: 5s
retries: 3
start_period: 90s
# Synology 권한 예시: 사용자/그룹 ID
user: "1026:100" # ← NAS/서버의 실제 UID:GID로 바꾸기 (id 명령으로 확인)
environment:
# ▼▼ 필수: 인증 토큰/계정은 꼭 교체하거나 .env 로 분리 ▼▼
AUTH_SECRET: ${AUTH_SECRET} # 예: 32+자 임의 문자열
CREDENTIAL_USERNAME: ${APP_USER} # 예: admin 대신 별도 계정
CREDENTIAL_PASSWORD: ${APP_PASS} # 강한 비번
# 다운로드 옵션: 오디오만 mp3(품질 0=최고)
# 영상 저장하려면 예: "--format mp4 --merge-output-format mp4"
YT_DLP_EXTRA_OPTIONS: "--extract-audio --audio-format mp3 --audio-quality 0"
volumes:
# 다운로드 결과물 → NAS 공유 폴더로 붙이기
- /mnt/homes/sysback/99.downloads:/downloads:rw
# 캐시/쿠키 보관 (재인증/속도 유리)
- /mnt/docker/ytweb:/cache:rw
ports:
- "53221:3000" # 브라우저 접속: http://서버IP:53221
# 실패 5번까지 자동 재시작
restart: on-failure:5

.env 예시(같은 폴더에 저장):

AUTH_SECRET=CHANGE_ME_32CHARS_MIN_RANDOM
APP_USER=ytadmin
APP_PASS=Strong_Pass_!2025
AUTH_SECRET=CHANGE_ME_32CHARS_MIN_RANDOM
APP_USER=ytadmin
APP_PASS=Strong_Pass_!2025

외부 노출 시에는 역프록시(nginx + 인증), IP 제한, Cloudflare Zero Trust 등으로 보호하는 걸 추천.


  • /downloads/키즈/뽀로로/…
  • /downloads/영어동요/…
  • /downloads/운동/홈트/…

Plex 라이브러리에서 음악(오디오) / 홈비디오(동영상) 로 각각 추가하면
파일이 떨어지는 즉시 포스터/제목이 붙고 재생된다.
아이 채널 묶음은 컬렉션으로 정리하면 부모가 눌러주기만 하면 끝.


👨‍👩‍👧 실사용 시나리오 (딱 이게 필요했다)

  • 유아용 영상 광고 없이 TV로:
    링크만 붙여넣고 저장 → Plex Kids 라이브러리에 자동 등장 → 리모컨으로 바로 재생.
  • 여행/차 안 오프라인 시청:
    Plex 앱에서 “오프라인 저장” 누르면 데이터 없이 감상.
  • 학습/강의 아카이브:
    코딩/전기 자격/네트워크 강의 영상도 폴더별로 쌓아두고 시즌처럼 본다.
  • 플레이리스트 통째로:
    yt-dlp는 리스트/채널 단위도 잘 받는다. 아이 채널 통째로 저장해도 편함.

🧠 품질/속도 세팅 팁 (yt-dlp)

  • 영상(mp4) 로 저장하고 싶다면: YT_DLP_EXTRA_OPTIONS=”–format mp4 –merge-output-format mp4 –remux-video mp4″YT_DLP_EXTRA_OPTIONS="--format mp4 --merge-output-format mp4 --remux-video mp4"
  • 자막 자동 다운로드: –write-subs –sub-langs “ko,en” –sub-format “srt” –convert-subs srt--write-subs --sub-langs "ko,en" --sub-format "srt" --convert-subs srt
  • 파일명 템플릿(날짜/채널명 포함): -o “/downloads/%(uploader)s/%(upload_date>%Y-%m-%d)s – %(title)s.%(ext)s”-o "/downloads/%(uploader)s/%(upload_date>%Y-%m-%d)s - %(title)s.%(ext)s"

🛡️ 보안 체크리스트

  • CREDENTIAL_PASSWORD강한 비번 사용, 기본 admin/admin 금지
  • 인터넷 공개 시 역프록시 + BasicAuth + Fail2ban
  • 가족만 쓸 거면 VPN(와이어가드/오픈VPN) 내부 전용 추천
  • 쿠키/로그인 필요한 채널은 /cache에 쿠키를 저장해 재인증 최소화

⚡ 성능 체감 (실환경 기준)

항목결과
4K 영상 단건 다운로드40~60MB/s (네트워크/원본 서버 따라 변동)
오디오 추출(mp3)실시간 이상
Plex 반영 속도파일 저장 직후 ~ 수초
가족 동시 재생3명 이상 문제 없음 (LAN)

❗ 합법/저작권 안내 (중요)

이 글은 개인 백업·합법 콘텐츠 활용을 전제로 한다.
유튜브/플랫폼 이용약관과 저작권법을 반드시 확인하고, 다운로드가 허용된 콘텐츠(자체 영상, 퍼블릭 라이선스, 합법적 사용 허가)만 이용하자.

참고: yt-dlp GitHub, YouTube 이용약관



🔎 Rank Math/SEO 체크포인트

  • Focus Keyword: 유튜브 다운로드 Docker, yt-dlp 웹, Plex 무광고, 아이 유튜브 광고없이, NAS Plex 연동
  • SEO 제목:
    유튜브 영상 자동 다운로드 + Plex 무광고 재생 | yt-dlp 웹 도커 완벽 가이드
  • 메타 설명:
    yt-dlp 웹으로 유튜브 영상을 자동 저장하고 Plex로 광고 없이 재생한다. 미니PC+NAS 환경에서 부모가 꼭 써야 할 홈서버 세팅, 오프라인 보기까지.
  • 슬러그:
    yt-dlp-web-docker-youtube-download-plex
  • 이미지 ALT 예시:
    yt-dlp-web 도커 설정 화면, Plex 라이브러리 자동 반영 예시, 유튜브 플레이리스트 일괄 다운로드

🧩 마무리

한 줄 요약: 클립보드에 링크 붙여넣고 저장만 누르면 끝.
그 다음은 Plex가 알아서 포스터 붙이고 카테고리화하고, 아이는 광고 없이 본다.
집 밖에서도, 차 안에서도, 비행기에서도

이 세팅 한 번 해두면,
“나중에 꼭 봐야지”가 진짜로 나중에 편하게 볼 수 있다.

#Plex #홈서버 #미니PC #Docker #NAS #트랜스코딩 #GPU #LinuxServer #SelfHosted #MediaServer #Radeonsi #iHD #홈시네마


코멘트

답글 남기기

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