기술 · 실용 가이드
Jellyfin 업데이트 뒤 재생목록이 사라졌다면, 복원 전에 표시와 항목을 확인하세요
목록이 안 보이는 경우, 비어 있는 경우, 미디어를 읽지 못하는 경우는 다릅니다. 증거를 보존한 뒤 맞는 복구 경로를 선택하세요.

Jellyfin의 한 화면에서 재생목록이 사라졌다고 항목이 삭제됐다고 단정할 수는 없습니다. 같은 서버와 계정으로 웹 화면과 문제가 생긴 클라이언트를 비교하세요. 목록 자체가 없는지, 목록이 비었는지, 항목은 있으나 재생이 안 되는지 구분해야 합니다.
이 글은 증거 기록표와 복구 판단 절차이며 데이터베이스 수리 스크립트가 아닙니다. 업데이트나 재시작 뒤 목록이 없거나 빈 경우를 다룹니다. 과거 10.11 보고만으로 현재 설치에도 같은 버그가 있다고 할 수 없고, Jellyfin 12에서는 항목 저장 방식도 바뀌었습니다.
1. 실험 전에 현재 상태 보존
무엇을 바꿨는지, 마지막 정상 시점과 첫 실패 시점을 적고 시작·마이그레이션·스캔·정리 로그를 비공개로 보관하세요. 마이그레이션이 진행 중이면 진행 상황을 확인합니다. Jellyfin은 도중에 서버를 중단하지 말라고 안내합니다. 증상을 시험하려고 재시작을 반복하지 마세요.
마이그레이션이 끝난 뒤 공식 백업 절차를 따릅니다. 수동 복사는 서버를 멈춘 상태에서 실제 데이터와 설정 디렉터리를 모두 복사해야 합니다. 현재 상태 사본과 손대지 않은 업데이트 전 백업을 구분하고 각각의 서버 버전을 기록하세요. 손실 후 백업은 손상된 상태만 담을 수도 있습니다.
2. 표시 문제인지 먼저 확인
깨끗한 웹 세션에서 영향받은 계정으로 같은 서버에 로그인하세요. 웹과 다른 클라이언트의 목록을 비교하고 라이브러리 필터와 선택한 서버를 확인합니다. 목록마다 이름, 소유자 또는 공유 상태, 표시 여부, 항목 수, 항목 열기 가능 여부를 한 줄씩 기록하세요.
웹에는 예상 항목이 있고 다른 앱에는 없다면 해당 앱부터 조사합니다. Feishin 관리자는 목록 응답과 Jellyfin 웹 화면을 비교하라고 권했지만 자신은 보고된 문제를 재현하지 못했습니다. 관리자는 응답을 로컬에서 볼 수 있으나 지원 요청에는 토큰·쿠키·개인 미디어 경로를 공개하지 않아야 합니다.
3. 정리 작업 전에 저장소 확인
항목은 있는데 재생이 실패하면 참조하는 정확한 파일에 Jellyfin이 접근할 수 있는지 확인하세요. 컨테이너에서는 활성 마운트 설정의 호스트 원본과 컨테이너 목적지 경로를 기록합니다. 호스트에 보이는 파일이 컨테이너 경로에도 있다는 뜻은 아닙니다. Jellyfin 공식 이전 문서도 기존 설치를 Docker로 옮길 때 경로 일치를 요구합니다.
공식 작업 문서는 미디어에 접근할 수 없을 때 컬렉션·재생목록 정리 작업이 실행되면 목록을 잃을 수 있고, 보통 시작 시 실행된다고 경고합니다. 의도적인 재시작이나 정리 전에 안정적인 접근을 복구하고 트리거를 점검하세요. 트리거 하나를 끄는 것은 손실 항목을 되살리거나 모든 스캔 문제를 해결하지 않습니다.
4. 실제로 남은 내용을 목록화
실행 중인 데이터베이스를 수정하지 말고 이전 상태와 현재 상태의 사본을 확인합니다. 복구할 목록마다 원본 스냅샷, 예상 항목 수, 순서대로 된 미디어 참조를 기록하세요. 같은 미디어가 반복되면 각각의 위치를 유지합니다. 이름만 남았거나 파일을 해석할 수 없다면 항목 구성은 알 수 없음으로 표시하세요.
파일명이 같다는 이유로 옛 SQL·XML 처리법을 적용하지 마세요. Jellyfin 12는 각 재생목록 항목을 별도 데이터베이스 행에 저장하며 중복 곡을 허용합니다. 옛 LinkedChildren 설명은 현재 구조에 보편적으로 적용되지 않습니다. 남은 XML은 증거지만 현재 서버가 목록과 소유자를 인식한다는 증명은 아닙니다.
5. 증거에 맞는 복구 경로 선택
앱에서만 차이가 나면 앱을, 경로를 읽지 못하면 저장소를 조사합니다. 항목 손실이 확인되고 정상 백업이 있다면 별도 작업 사본과 백업에 맞는 앱 버전으로 공식 복원을 시험하세요. 운영 데이터 디렉터리와 격리하고 원본 미디어에 쓰는 도구도 연결하지 마세요. 구버전 서버가 마이그레이션된 운영 데이터를 열게 해서는 안 됩니다.
증거가 일부만 남았다면 검증된 미디어로 지원되는 조작을 이용해 새 목록 하나를 만들고 원본 증거는 보존합니다. 소유자 ID를 0으로 바꾸거나 데이터베이스를 합치거나 경로를 일괄 치환하는 것을 일반 해결책으로 삼지 마세요. 소유권·순서·미디어 정체를 확인할 수 없는 행은 미해결로 남겨 버전에 맞는 도움을 구합니다.
6. 목록 단위로 복구 검증
기록표와 비교해 예상 수, 각 항목의 순서, 중복 위치, 대표적인 재생을 확인합니다. 실제 사용자의 표시·편집 권한도 점검하세요. 이름이나 수가 같아도 잘못된 곡, 바뀐 순서, 권한 문제를 숨길 수 있습니다. 이전·이후 항목 ID는 대조할 식별자이지 같은 미디어라는 자동 증명이 아닙니다.
저장소가 안정적으로 연결된 뒤 통제된 재시작과 해당 릴리스가 요구하는 스캔으로 결과를 검증하세요. 통과할 때까지 복구 사본을 보존합니다. 이 글은 출처를 바탕으로 한 판단 절차이며 실제 Jellyfin 이전·복원 시험을 수행하지 않았습니다. 모든 남은 사본에서 사라진 항목을 만들어낼 수는 없습니다.
