Pinchflat
셀프 호스팅 YouTube 미디어 다운로드 관리자로, 채널 업데이트를 자동으로 가져오고 사용자 친화적인 웹 인터페이스를 제공하며 Plex와 같은 미디어 센터를 지원합니다.
스마트 다운로드
프로젝트 홈페이지 방문
아직 설치 프로그램이 없습니다 — 소스 저장소로 이동하세요
클릭 한 번으로 채널을 구독하고, YouTube 동영상을 자동으로 다운로드하여 미디어 라이브러리에 정리합니다.
주요 기능
- 단일 Docker 컨테이너 배포, 외부 종속성 없음
- 강력한 명명 규칙: 파일 저장 위치 및 형식 사용자 지정
- 새 콘텐츠 자동 감지 및 다운로드, 주기 조정 가능
- 오디오만 다운로드 지원, 팟캐스트 관리에 편리
- 내장 RSS 피드 제공, 팟캐스트 클라이언트에서 사용 가능
할 수 없는 것
- •Pinchflat은 동영상 재생 기능을 제공하지 않으며, Plex/Jellyfin/VLC 등의 플레이어와 함께 사용해야 합니다. 처음 사용 시 마운트 디렉터리 권한에 주의해야 합니다: Docker 컨테이너 내 사용자가 해당 디렉터리에 쓰기 권한을 가지고 있어야 합니다. 네트워크 스토리지(NAS/NFS)를 사용하는 경우 I/O 문제를 방지하기 위해 설정을 로컬 디스크에 저장하는 것을 권장합니다. 리버스 프록시를 사용하는 경우 WebSocket 또는 API 경로를 추가로 구성해야 합니다.
사용 사례
- YouTube 교육 채널이나 Vlog를 로컬 미디어 서버에 아카이브하기
- 팟캐스트 유형의 채널을 정기적으로 다운로드하여 팟캐스트 App으로 가져와 오프라인으로 듣기
- 좋아하는 YouTube 재생목록을 로컬에 백업하기
상세 설명
Pinchflat은 yt-dlp 기반의 셀프 호스팅 YouTube 다운로드 관리자입니다. 채널이나 재생 목록의 다운로드 규칙만 설정하면, Pinchflat이 정기적으로 새 동영상을 확인하여 자동으로 다운로드하고 지정한 명명 규칙에 따라 로컬 디스크에 정리합니다. 단일 Docker 컨테이너에서 실행되며 외부 종속성이 전혀 필요 없고, 깔끔한 Web 인터페이스를 내장하고 있습니다. 오디오만 다운로드하기, Shorts 및 라이브 처리, SponsorBlock 통합, 더 높은 화질을 위한 자동 재다운로드, 오래된 미디어의 예약 삭제, 팟캐스트 앱용 RSS 피드 제공, 고급 사용자 지정 yt-dlp 매개변수를 지원합니다. YouTube 콘텐츠를 Plex, Jellyfin 또는 Kodi 같은 미디어 센터에 아카이빙하는 데 매우 적합합니다.
문제 해결 & FAQ (2)
문제 해결왜 Pinchflat은 YouTube가 아닌 소스의 경우 비디오 제목 대신 소스 파일 이름으로 다운로드한 파일을 저장하나요?
Pinchflat이 YouTube 이외의 다운로드에서 출력 경로 템플릿의 title 변수로 소스 파일 이름을 잘못 사용합니다. 해결 방법으로 원하는 출력 템플릿을 사용하여 yt-dlp <url> --output "/downloads/path/%(title)s.%(ext)s"를 수동으로 실행하세요. 영구적인 수정이 릴리스될 때까지 issue #846을 추적하세요.
문제 해결새 YouTube 소스를 저장할 때 Pinchflat이 멈추거나, 연결이 재설정되거나, Bad Gateway가 표시되는 문제를 해결하려면 어떻게 해야 하나요?
Pinchflat 컨테이너의 DNS 해석을 확인하세요. 보고된 사례에서는 호스트에서는 DNS가 정상적으로 작동했지만, 컨테이너 내부에서 youtube.com이 루프백 주소(2001::1)와 관련 없는 IP(199.16.158.12)로 잘못 해석되었습니다.
컨테이너 내부에서 해석을 확인하세요:
docker exec -it <pinchflat-container> sh -lc "getent hosts youtube.com"
예상치 못한 주소나 루프백 주소가 반환되면 docker-compose.yml에 DNS 서버를 명시적으로 설정하세요:
services:
pinchflat:
dns:
- 1.1.1.1
- 8.8.8.8
컨테이너를 다시 생성하세요:
docker compose up -d --force-recreate
그런 다음 YouTube 소스를 다시 추가해 보세요. youtube.com이 이제 2001::1이나 199.16.158.12가 아닌 정상적인 YouTube 주소로 해석되는지 확인하세요.
태그
시작하기
소프트웨어 설치
다운로드한 설치 프로그램을 더블 클릭하고 안내에 따르세요
1단계: Docker가 설치되어 있는지 확인하고 이미지를 가져옵니다: docker pull ghcr.io/kieraneglin/pinchflat:latest
2단계: 로컬 디렉터리(예: /data/pinchflat/config 및 /data/pinchflat/downloads)를 생성하고 쓰기 권한을 부여합니다
3단계: 컨테이너를 실행하고 포트 8945를 매핑하며 두 디렉터리를 마운트하고 시간대를 설정합니다: docker run -d -p 8945:8945 -v /data/pinchflat/config:/config -v /data/pinchflat/downloads:/downloads -e TZ=Asia/Shanghai ghcr.io/kieraneglin/pinchflat:latest
- 1단계: Docker가 설치되어 있는지 확인하고 이미지를 가져옵니다: docker pull ghcr.io/kieraneglin/pinchflat:latest
- 2단계: 로컬 디렉터리(예: /data/pinchflat/config 및 /data/pinchflat/downloads)를 생성하고 쓰기 권한을 부여합니다
- 3단계: 컨테이너를 실행하고 포트 8945를 매핑하며 두 디렉터리를 마운트하고 시간대를 설정합니다: docker run -d -p 8945:8945 -v /data/pinchflat/config:/config -v /data/pinchflat/downloads:/downloads -e TZ=Asia/Shanghai ghcr.io/kieraneglin/pinchflat:latest
체크섬 없음
이 프로젝트는 GitHub Release 페이지에 SHA-256 체크섬을 게시하지 않았습니다
SHA256 체크섬
체크섬 없음
GitHub Releases에서 직접 다운로드하고 파일 무결성을 직접 확인하세요
이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.
오픈소스 투명성
GitHub 소스 보기제거 정보
컨테이너 중지 및 삭제: docker stop pinchflat && docker rm pinchflat. 로컬에 매핑된 config 및 downloads 디렉토리를 삭제하여 모든 데이터를 정리할 수 있습니다.
추가 의존성 없음
다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.
문제 발생? 아래 FAQ 확인
2 FAQs