프로젝트 소개
TubeSync는 YouTube용 자체 호스팅 PVR(개인용 비디오 녹화기)로, YouTube용 Sonarr와 유사하다고 설명되며 내장 다운로드 클라이언트를 갖추고 있다. YouTube의 채널과 재생목록을 로컬 디렉터리로 동기화하고, 미디어가 다운로드되면 미디어 서버를 업데이트할 수 있다.
내부적으로는 작업 스케줄러가 있는 yt-dlp와 ffmpeg를 감싼 웹 인터페이스 래퍼이다. 명시된 차별점은 미디어 서버 업데이트를 위한 완전한 PVR 경험과 더 나은 미디어 형식 선택이다. 또한 백오프 타이머를 사용해 실패를 점진적으로 재시도하여 실패한 다운로드가 장기간에 걸쳐 재시도되도록 구현한다.
배포는 컨테이너 우선 방식이다. 컨테이너 이미지는 ghcr.io/meeb/tubesync:latest에 게시되며 amd64와 arm64를 지원하고, Docker 또는 Podman과 Docker Compose 예제가 문서화되어 있다. 구성과 다운로드는 볼륨(/config 및 /downloads)으로 마운트되며 PUID, PGID, TZ 환경 변수를 사용한다. 선택적 HTTP 기본 인증은 HTTP_USER와 HTTP_PASS를 통해 사용할 수 있다.
다운로드된 미디어는 다운로드 디렉터리 아래의 video 및 audio 하위 디렉터리로 정리되며, 오디오 전용 미디어는 audio로 간다. 관리는 포트 4848의 웹 인터페이스를 통해 수행한다. 소스는 검증과 함께 URL로 추가되며, 소스별 옵션에는 인덱싱 빈도와 다운로드 품질이 포함된다. 인덱싱과 다운로드는 예약된 작업에서 자동으로 실행되며 작업 탭에서 볼 수 있고, 미디어는 미디어 탭에 나타난다. Plex와 Jellyfin이 미디어 서버로 지원된다.
README는 인덱싱 빈도와 매우 큰 채널의 인덱싱에 대해 경고하며, 긴 간격과 예의 바르고 최소한의 인덱싱 및 동시 다운로드를 권장하여 스로틀링이나 차단을 피하도록 조언한다. 고급 환경 변수는 Django 설정, URL 접두사, 디버그 모드, 허용 호스트, 비디오 높이 컷오프, 소스 이름 변경, 디렉터리 접두사, 메타데이터 축소, gunicorn 워커, 수신 호스트/포트, 선택적 외부 데이터베이스 연결을 다룬다. 수동 비컨테이너화 Django 설치 경로가 문서화되어 있으며, manage.py test로 실행할 수 있는 테스트 스위트도 함께 제공된다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.