Profilarr v2 출시!
요약
Profilarr v2가 공개 베타를 마치고 정식 출시되었습니다. 이 도구는 공유된 설정 데이터베이스를 통해 품질 프로필, 커스텀 포맷, 미디어 관리 설정을 Arr 인스턴스로 동기화하며, 다중 데이터베이스 지원과 업그레이드 기능을 제공합니다.
핵심 포인트
- Dictionarry, TRaSH PCD, Dumpstarr 등 여러 데이터베이스를 동시에 연결 가능
- 메타데이터 기반의 정교한 필터링과 우선순위 설정을 통한 자동 업그레이드 기능 도입
- 전용 변경 레이어(change layer) 방식을 통해 로컬 설정과 업스트림 데이터 간의 병합 충돌 최소화
- GUI를 통한 향상된 제어 기능 및 스케줄링 지원
익숙하지 않은 분들을 위해 설명하자면, Profilarr는 공유된 설정 데이터베이스(configuration databases)로부터 품질 프로필(quality profiles), 커스텀 포맷(custom formats), 그리고 미디어 관리 설정(media management settings)을 사용자의 arr 인스턴스로 동기화합니다.
v2는 몇 달 동안 비공개 베타(closed beta)로 운영되었으며, 이제 공개적으로 사용할 수 있습니다!
무엇이 새로운가요?
다중 데이터베이스
v2는 동시에 여러 데이터베이스에 연결할 수 있습니다. 가장 인기 있는 것들은 다음과 같습니다:
- Dictionarry: 저희가 작업 중인 데이터베이스로, 기본적으로 연결되어 있습니다. 컴팩트한 x265 인코딩부터 UHD 리먹스(remuxes)까지, 720p에서 2160p를 모두 다룹니다.
- TRaSH PCD: PCD 형식으로 된 TRaSH 가이드를 포팅한 것입니다. 이는 TRaSH가 아닌 Dictionarry 팀에서 유지 관리한다는 점에 유의하세요. 업스트림(upstream)에서 있는 그대로 미러링되었으므로, 만약 저희 복사본이 뒤처지거나 일치하지 않는 경우 TRaSH 팀을 번거롭게 하기 전에 먼저 이곳에 문제를 보고하여 저희가 해결할 수 있도록 해주세요. 프랑스어 및 독일어 프로필은 아직 제작 중입니다.
- Dumpstarr: Dictionarry 및 TRaSH 형식을 기반으로 구축된 커뮤니티 포크(fork)입니다.
- PCD template: 위의 것들이 맞지 않고 직접 구축하고 싶을 때 사용할 수 있는 시작점입니다.
업그레이드
Arr 시리즈는 RSS를 통해 새로운 릴리스에 반응하는 데 탁월하지만, 더 나은 것을 찾기 위해 오래된 다운로드 항목을 지속적으로 다시 확인하지는 않습니다. 이는 특히 품질 프로필을 변경하거나 업데이트했을 때, 새로운 프로필이 가져왔을 설정과 더 이상 일치하지 않는 릴리스들이 남게 되는 경우 매우 중요합니다.
Upgradinatorr는 라이브러리를 순환하며 시간이 지남에 따라 검색을 트리거함으로써 이 문제를 해결했습니다. v2는 더 많은 제어 기능과 GUI를 갖추어 이 아이디어를 Profilarr에 도입했습니다.
Arr 서비스가 추적하는 모든 메타데이터(ratings, year, genre, size, release group, language, date added 등)를 기준으로 필터링할 수 있습니다. 필터는 중첩된 AND/OR 로직을 지원하며, 셀렉터(selectors)를 통해 무엇을 먼저 검색할지 우선순위를 정할 수 있습니다. 쿨다운(cooldowns) 기능은 항목이 반복적으로 검색되는 것을 방지하며, 모든 작업은 스케줄에 따라 실행될 수 있습니다.
커스터마이징 (Customisations)
v1은 복잡한 git 기반의 3-way merge를 통해 로컬 변경 사항을 처리했습니다. v2는 이를 전용 변경 레이어(change layer)로 대체합니다. 이제 사용자의 로컬 변경 사항은 업스트림(upstream) 데이터베이스와 분리되어 저장되므로, 사용자의 변경 사항을 덮어쓰거나 복잡한 병합 충돌(merge conflicts)을 강제하지 않고도 업데이트를 받을 수 있습니다. 실제로 이는 애초에 충돌이 발생하는 횟수를 줄여주며, 발생하는 충돌도 대부분 자동으로 해결될 수 있음을 의미합니다.
작은 개선 사항들 (Small Things)
이러한 주요 특징 외에도 다음과 같은 작은 개선 사항들이 있습니다:
-
모바일에서도 보기 좋게 설계된 라이트/다크 테마의 새로운 UI.
-
문서를 뒤지는 대신 모든 과정을 안내해 주는 앱 내 온보딩(onboarding).
-
Radarr 및 Sonarr를 위한 라이브러리 페이지 제공:
- 표(Table) 및 카드(Card) 보기 지원, 두 방식 모두 표시 필드 설정 가능.
- 품질(quality), 프로필(profile), 연도(year), 장르(genre), 상태(status), 모니터링 여부(monitored) 등의 필드에 대해 AND 로직, 부정(negation), 범위 쿼리(range queries)를 지원하는 스마트 필터.
- 특정 커스텀 포맷(custom formats)의 적용 여부에 따른 필터링.
- 커스텀 포맷 점수(custom format score) 기준 정렬.
-
Profilarr 팀 및 데이터베이스 유지 관리자의 앱 내 공지 기능 제공 (최신 소식을 듣기 위해 Discord, Reddit 등을 계속 확인하며 살 필요가 없습니다).
-
드리프트 탐지 (Drift detection): 사용자 정의 포맷 (custom formats), 품질 프로필 (quality profiles), 지연 프로필 (delay profile), 또는 미디어 관리 설정이 Profilarr가 동기화하려는 내용과 더 이상 일치하지 않을 때 플래그를 표시하는 예정된 per-Arr 체크 기능.
-
Renameinatorr에서 영감을 받은 이름 변경 자동화 (Rename automation).
-
Health Checkarr에서 영감을 받은 정리 자동화 (Cleanup automation).
-
전면 개편된 테스트 기능:
- 패턴에 Regex101 링크를 첨부하고 테스트 케이스를 위해 파싱할 수 있습니다.
- Sonarr/Radarr의 파싱 로직을 묶은 파서 마이크로서비스 (parser microservice)를 통해 사용자 정의 포맷 테스트가 가능합니다.
- 대화형 검색을 저장하고 모든 프로필에 대해 한 번에 테스트할 수 있는 품질 프로필 시뮬레이터 (quality profile simulator).
-
미디어 관리 (Media Management) 설정이 더 이상 인스턴스당 하나가 아니므로, 여러 개의 품질 정의, 명명 규칙 (naming schemes), 미디어 설정을 가질 수 있습니다.
-
지연 프로필 (Delay Profiles)이 이제 별도의 설정 유형으로 분리되었습니다.
-
더 많은 인증 옵션: OIDC 지원 및 자체 리버스 프록시 (reverse proxy)를 실행하는 경우 인증을 완전히 비활성화할 수 있는 기능.
-
원본 TRaSH 설정과 일치하도록 돕기 위한 PCD 사양의 작은 추가 사항들 (include-in-rename, 조건별 arr 유형 및 기타 몇 가지).
참고 사항
v2는 v1과 호환되지 않습니다. 기반 데이터베이스와 커스터마이징 시스템이 크게 변경되었으므로, 기존 v1 데이터베이스/설정/앱 데이터 (appdata)는 v2에서 직접 작동하지 않습니다.
v2를 시도해보고 싶다면:
- 저희 documentation에서 설치 및 초기 설정을 다룹니다. 그 이후에는 앱 내 온보딩 (onboarding) 가이드가 나머지 과정을 안내합니다.
Unraid 사용자: v2 템플릿은 현재 Community Applications 승인을 대기 중입니다. 며칠 내로 Apps 탭에 나타날 것입니다. 그동안은 README에 있는 Docker Compose 설정을 사용하면 문제없이 작동합니다.이제 Unraid 커뮤니티 애플리케이션을 사용할 수 있습니다!- 버그, 피드백 및 기능 요청은 issue tracker에 게시해 주세요.
- 도움이 필요하거나 지원이 필요한 경우, Discord 및 r/Profilarr에서 저희를 찾을 수 있습니다.
- 또한 website에서 개발 진행 상황을 확인할 수 있습니다.
- 프로젝트 내에서 AI가 어떻게 사용되고 있지 않은지 궁금하다면, 여기 짧은 write-up이 있습니다.
감사합니다!
몇 년 전 저는 그저 사람들이 관심을 가질 만한 양질의 프로필들을 공유하고 싶었을 뿐이었습니다. 그 이후로 상황이 조금 커졌네요... 이 모든 것은 다음 분들 없이는 불가능했을 것입니다:
- Profilarr를 사용하는 여러분. 인터넷상의 낯선 사람이 만든 무작위 오픈 소스(open-source) 프로젝트를 시도해 볼 가치가 있다고 결정해 주신 분들.
- 자신의 프로덕션(production) 환경에서 기꺼이 v2를 테스트해 주신 베타 테스터 분들 :D
- 저희 지원 팀: 지구상 최고의 지원 팀인 Ba11in0nABudget, delavicci, 그리고 SFusion.
- 데이터베이스 유지 관리를 맡아 제가 꿈꾸던 것보다 더 훌륭하게 만들어 준 Seraphys. 그리고 저를 끊임없이 괴롭혀 주는 역할까지 해준 Seraphys.
다음 단계는?
2.x.x 로드맵(roadmap)은 여기에서 확인할 수 있습니다. 주요 하이라이트는 다음과 같습니다:
- 전체 데이터베이스를 먼저 연결하지 않고도 정규 표현식 (regex)/사용자 정의 포맷 (custom formats)/품질 프로필 (quality profiles)을 가져올 수 있는 기능
- 특정 미디어가 속성에 따라 특정 프로필을 사용하도록 만드는 고급 프로필 자동화 (Advanced profile automation)
- 이는 먼저 시청을 위해 더 높은 품질로 다운로드한 다음, 보관 목적으로 품질을 낮추는 (downgrade) 워크플로우를 가능하게 합니다.
- qui의 훌륭한 테마 시스템 (theming system)에서 영감을 받은 시맨틱 CSS (semantic CSS)를 사용한 테마 전면 개편
- 외부 통합을 가능하게 하는 더 많은 API 엔드포인트 (API endpoints). 이 중 일부는 이미 완료되어 대시보드와 같은 소규모 통합에서 사용할 수 있습니다!
Anime (애니메이션)
애니메이션에 대해 궁금해하시는 분들을 위해 말씀드리자면, 아직 프로필이 준비되지 않았으나 로드맵에 포함되어 있습니다. 접근 방식은 기존 프로필과는 약간 다릅니다. 라이브러리 전체에 걸쳐 릴리스를 점수화하는 하나의 프로필 대신, 각 애니메이션의 다양한 유형별 최상급 릴리스에 대한 수동 순위를 기반으로 시리즈별 프로필 (per-series profiles)을 구축하고 있습니다. 이는 SeaDex가 하는 방식과 유사하지만, 더 많은 포맷 (Blu-ray 인코딩, WEB, Remux, 듀얼 오디오, 자막 등)을 다룹니다. 이는 앞서 언급한 고급 프로필 자동화 작업과 연결됩니다. 시리즈별 프로필은 각 애니메이션이 자동으로 고유한 프로필로 라우팅 (routed)될 수 있을 때만 작동하기 때문입니다.
그동안 v2의 멀티 데이터베이스 (multi-database) 지원을 통해 Dictionarry를 커뮤니티에서 구축한 다른 애니메이션 데이터베이스와 함께 실행할 수 있습니다. TRaSH Guide의 Anime 프로필이 가장 확립된 옵션이며 현재 대부분의 사용자가 의존하고 있는 방식입니다. 저희의 애니메이션 작업 진행 상황은 여기에서 확인하실 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/SelfHosted (AI filter)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기