SSD Nodes Learn Hosting plans →
가이드 Matt Connor작성자 Matt Connor

VPS에서 Chaptarr로 오디오북 셀프호스팅하기

Readarr는 2025년 6월 27일 유지 관리가 종료되었습니다. Chaptarr를 Compose 서비스로 배포하고 PUID·PGID를 설정하며 메타데이터 문제까지 확인합니다.

Chaptarr란 무엇이며 Readarr 사용자가 이를 필요로 하는 이유

Chaptarr는 단일 인스턴스에서 오디오북과 전자책을 관리할 수 있도록 Readarr를 포크(fork)한 프로젝트입니다. 새로운 릴리스를 감시하고, 다운로드 클라이언트로 전송한 뒤, 결과물을 이름을 변경하여 라이브러리에 정리합니다. 자체적인 재생 기능은 없으므로 Audiobookshelf와 같은 플레이어와 함께 사용해야 합니다.

Readarr는 2025년 6월 27일에 서비스가 종료되었습니다. Servarr 팀의 공지에 따르면, 프로젝트의 메타데이터를 더 이상 사용할 수 없게 되었고 Open Library로 이전하려는 커뮤니티의 노력이 중단되었기 때문입니다. 저장소는 아카이브 처리되었습니다. 이로 인해 도서 및 오디오북 컬렉션을 관리할 도구가 사라졌고, Chaptarr가 그 역할을 이어받았습니다. Sonarr 및 Radarr에서 익숙한 구성(인덱서, 다운로드 클라이언트, 품질 프로파일, 루트 폴더)을 유지하면서 오디오북 처리를 위한 기능(내레이터 인식 정리, 동일 타이틀의 다중 에디션, M4B 및 챕터별 MP3 지원, MP3를 M4B로 변환)을 추가했습니다.

이 가이드는 2026년 8월 9일 기준 최신 릴리스였던 이미지 태그 chaptarr/chaptarr:0.9.925를 사용했습니다. 2026년 10월 11일 기준 최신 릴리스는 2026년 9월 27일에 게시된 0.9.965 버전입니다. 아래 단계는 0.9.925 버전에서만 테스트되었으므로 파일은 해당 태그를 유지합니다. 더 최신 버전으로 이동하기 전에 릴리스 노트를 읽어보시기 바랍니다. Chaptarr는 베타 소프트웨어입니다. 복구할 수 없는 라이브러리에 적용하기 전에 마지막 부분의 유지보수 섹션을 반드시 읽어주십시오.

시작하기 전에 필요한 것

Docker와 Compose 플러그인이 설치된 VPS, 그리고 라이브러리를 저장할 충분한 디스크 공간이 필요합니다. 오디오북은 용량이 크며, 하드링크를 사용할 수 없는 가져오기 작업은 일시적으로 파일 사본 2개를 유지하게 됩니다. 이와 관련해서는 아래의 볼륨 섹션에서 설명합니다. 만약 서버에 Docker가 설치되어 있지 않다면, VPS에 Docker 설치 및 실행을 먼저 완료한 뒤 돌아오십시오.

Chaptarr는 현재 Docker 이미지로만 제공됩니다. 네이티브 지원은 개발 중이며 실험적인 Windows 빌드도 계획되어 있으나, 별도의 배포 패키지는 없습니다. 컨테이너는 기본적으로 /config 경로에 SQLite 데이터베이스를 저장합니다. 이미 운영 중인 외부 PostgreSQL 서버가 있다면 Chaptarr__Postgres__* 환경 변수를 통해 연결할 수 있습니다. 단일 서버에서 한 명의 사용자가 사용하는 경우에는 SQLite가 적합한 선택입니다.

Chaptarr용 Compose 서비스

이 서비스는 기존 스택에 추가된다. 릴리스된 태그를 고정하고 웹 UI는 loopback에서만 공개하며, 다운로드 클라이언트가 이미 사용하는 네트워크에 연결한다.

services:
  chaptarr:
    image: chaptarr/chaptarr:0.9.925
    container_name: chaptarr
    environment:
      - PUID=1000
      - PGID=1000
      - UMASK=002
      - TZ=Europe/Berlin
    volumes:
      - ./config:/config
      - /srv/media/audiobooks:/audiobooks
      - /srv/media/ebooks:/ebooks
      - /srv/media/downloads:/downloads
    ports:
      - 127.0.0.1:8789:8789
    restart: unless-stopped
    networks:
      - arr

networks:
  arr:
    external: true

external: true 줄은 "이 네트워크가 이미 존재하므로 여기에 연결한다"는 의미다. Prowlarr와 torrent client가 다른 Compose 프로젝트에서 실행되는 경우 이 설정을 사용해야 한다. 그렇지 않으면 두 번째 Compose 파일이 자체 격리 네트워크를 만들고 Chaptarr가 이름으로 qbittorrent를 확인할 수 없게 된다. 실제 이름은 docker network ls에서 확인한다. 스택이 이미 하나의 파일에 있다면 해당 파일에 chaptarr: 서비스를 추가하고 networks: 블록 전체를 삭제한다. 전체 구성은 Docker Compose에서 전체 arr 스택 구성에서 설명하며, 이름 지정 규칙은 Compose 네트워크와 서비스 이름의 확인 방식에서 설명한다.

config 디렉터리를 직접 만든 다음 서비스를 시작한다.

mkdir -p ./config
sudo chown 1000:1000 ./config
docker compose up -d
docker compose ps
docker compose logs -f chaptarr

docker compose ps의 출력에서 컨테이너가 Up로 표시되어야 한다. 컨테이너가 Restarting로 표시되면 시작에 실패하여 재시도 중인 상태다. 원인은 거의 항상 config 디렉터리다. 애플리케이션이 port 8789에서 listening 상태가 되면 로그 출력이 더 이상 스크롤되지 않는다.

PUID, PGID 및 Docker가 root 권한으로 생성하는 디렉터리

Chaptarr는 PUID=99 및 PGID=100 값을 설정하지 않으면 기본값으로 사용합니다. 이는 unRAID의 기본값이므로, 일반적인 Ubuntu VPS 환경에서는 유효하지 않은 사용자로 간주되어 로그인한 계정으로 수정할 수 없는 소유권으로 파일이 생성됩니다. id -u 및 id -g 명령어로 본인의 사용자 번호를 확인하여 해당 값을 파일에 입력하십시오.

동일한 파일에 접근하는 모든 컨테이너는 동일한 쌍의 값을 사용해야 합니다. 다운로드 클라이언트는 /srv/media/downloads에 파일을 쓰고, Chaptarr는 이를 /srv/media/audiobooks으로 이동시키며, 플레이어는 해당 위치에서 파일을 읽습니다. 다운로드 클라이언트가 1000:1000로 파일을 쓰고 Chaptarr가 99:100로 실행되면 가져오기 작업은 실패합니다. 파일 소유권 자체가 결정적인 요인은 아닙니다. 파일을 생성, 이름 변경 또는 삭제하려면 해당 파일이 포함된 디렉터리에 대한 쓰기 권한이 필요합니다. 사용자 1000이 일반적인 755 모드로 생성한 디렉터리는 99:100에게 쓰기 권한을 부여하지 않으므로, Chaptarr는 라이브러리에 책을 정리하거나 다운로드 폴더에서 파일을 삭제할 수 없습니다. UMASK=002를 설정하면 새 파일에 그룹 쓰기 권한이 부여되는데, 이는 여러 컨테이너가 하나의 미디어 그룹을 공유할 때 필요한 설정입니다. 전체 매핑 정보는 PUID 및 PGID가 컨테이너 사용자를 호스트 파일에 매핑하는 방법에서 확인할 수 있습니다.

README에서는 특정 함정에 대해 경고하고 있으며, 이는 다시 강조할 가치가 있습니다. docker compose up을 실행할 때 ./config이 존재하지 않으면 Docker가 이를 자동으로 생성하며, 소유자는 root:root이 됩니다. 이 경우 컨테이너는 UID 1000으로 실행되지만 자신의 데이터베이스에 쓰기 작업을 할 수 없으므로, 종료와 재시작을 무한히 반복하게 됩니다. ls -ln ./config 명령어로 확인하십시오. 이 명령어는 이름 대신 숫자 형태의 소유자를 출력합니다. 두 개의 0이 표시된다면 root가 소유하고 있다는 뜻입니다. sudo chown -R 1000:1000 ./config 명령어로 소유권을 수정한 뒤 컨테이너를 다시 시작하십시오.

오디오북과 ebook 볼륨을 분리하면 하드 링크를 사용할 수 없는 이유

위 레이아웃은 프로젝트 자체의 실행 명령과 일치하도록 /audiobooks, /ebooks, /downloads를 별도의 bind로 마운트한다. 구조를 이해하기 쉽지만 실제 비용이 하나 있다. 하드 링크가 작동하지 않는다.

하드 링크는 디스크의 동일한 데이터에 대한 두 번째 이름이다. 추가 공간을 사용하지 않고 즉시 생성되므로 arr 제품군은 파일 복사보다 하드 링크를 선호한다. 하드 링크는 하나의 파일 시스템 안에서만 작동한다. 컨테이너 내부에서는 이 세 경로가 서로 다른 마운트 지점이므로, 호스트 경로가 같은 디스크에 있더라도 커널이 링크 생성을 거부한다. 직접 테스트할 수 있다.

docker exec chaptarr sh -c 'touch /downloads/linktest && ln /downloads/linktest /audiobooks/linktest'

명령은 Invalid cross-device link로 끝나는 오류와 함께 실패한다. 커널이 마운트 지점을 넘어 링크하는 작업을 거부한 것이다. 이것이 Chaptarr가 파일 복사로 대체하는 정확한 이유다. 복사된 파일은 올바르지만 더 느리고, 토렌트를 계속 시드하는 동안에는 토렌트를 삭제하지 않으므로 오디오북이 한동안 2개 존재하게 된다. 이후 /srv/media/downloads/linktest을 삭제한다.

하드 링크를 유지하려면 상위 디렉터리 하나를 마운트한다.

    volumes:
      - ./config:/config
      - /srv/media:/data

그런 다음 Chaptarr의 root 폴더를 /data/audiobooks 및 /data/ebooks로 설정하고, 다운로드 클라이언트에도 동일한 /srv/media:/data 마운트를 제공한다. 그러면 두 컨테이너가 완전히 동일한 경로를 보게 된다. 먼저 호스트 측이 단일 파일 시스템인지 확인한다. df -h /srv/media/downloads /srv/media/audiobooks의 Filesystem 열에서 두 경로에 동일한 값이 출력되어야 한다. 값이 다르면 서로 다른 디스크에 있는 것이므로, 어떤 마운트 구성으로도 두 경로 사이에 하드 링크를 만들 수 없다. 이 방식과 named storage의 차이점은 미디어에 bind mount와 named volume을 사용하는 방식에서 설명한다.

웹 UI에 노출하지 않고 접근하기

port 행이 127.0.0.1에서 게시되도록 설정된 데에는 이유가 있다. ufw deny 8789는 게시된 Docker 포트를 보호하지 못한다. Docker가 자체 NAT(network address translation) 규칙을 커널이 ufw 규칙보다 먼저 거치는 체인에 기록하기 때문이다. 따라서 사용자가 설정한 규칙을 확인하기도 전에 트래픽이 전달된다. 이 동작 때문에 문제가 반복해서 발생하며, 게시된 Docker 포트가 ufw 규칙을 무시하는 이유에 설명되어 있다. loopback에 바인딩하면 이 문제를 완전히 피할 수 있다.

자신의 컴퓨터에서 SSH 터널을 통해 UI에 접근한다.

ssh -N -L 8789:127.0.0.1:8789 you@your-server

이 명령을 실행한 상태로 두고 브라우저에서 http://127.0.0.1:8789를 연다. 첫 실행 시 인증을 설정한다. 그 이후에만 앞단에 TLS(transport layer security)를 사용하는 reverse proxy를 둘지 검토한다. 이러한 도구를 3~4개 사용하면서 각각 별도의 비밀번호로 SSH 터널을 구성하게 되면, 더 깔끔한 방법은 Authentik 같은 self-hosted single sign-on 서버 뒤에 proxy를 두는 것이다. 그러면 한 번의 로그인으로 모든 앱에 접근할 수 있고, 한 번의 철회로 모든 접근을 차단할 수 있다.

인덱서와 다운로드 클라이언트 연결

Chaptarr은 표준 arr 인덱서 및 다운로드 클라이언트 프로토콜을 사용합니다. 따라서 Prowlarr은 Sonarr과 동일한 방식으로 인덱서를 Chaptarr에 전달합니다. 일반적인 torrent 및 usenet 클라이언트도 별도 처리 없이 연결할 수 있습니다.

거의 모든 사용자가 한 가지 설정에서 실수합니다. Chaptarr에서 다운로드 클라이언트 호스트를 입력할 때 localhost 또는 127.0.0.1을 입력하지 마십시오. 컨테이너 내부에서 해당 주소는 컨테이너 자신을 가리킵니다. 따라서 Chaptarr은 자신의 8080 포트에 연결하려고 시도하고 연결할 수 없다는 오류를 보고합니다. 포트 8080과 함께 컨테이너 이름인 qbittorrent을 사용하십시오. docker network inspect arr로 두 컨테이너가 동일한 네트워크에 연결되어 있는지 확인하십시오. 이 명령은 연결된 모든 컨테이너를 이름별로 표시합니다.

다운로드 클라이언트가 network_mode: "service:gluetun"을 사용해 VPN 컨테이너를 통해 실행된다면 네트워크에 자체 이름이 없습니다. Gluetun의 네트워크 네임스페이스를 공유하기 때문입니다. Gluetun이 노출하는 포트에서 gluetun로 접근하십시오. 이 구성과 그에 따른 라우팅은 Gluetun을 통해 다운로드 클라이언트 라우팅에 설명되어 있습니다.

Readarr 중단: 마이그레이션에 실제로 드는 비용

Chaptarr는 Readarr의 메타데이터 소스와 호환되지 않는다. Chaptarr는 여러 제공자에 걸쳐 자체 파이프라인으로 제목, 저자, 판본을 확인하므로 Readarr가 저장한 식별자는 여기서 의미가 없다. 데이터베이스를 가져오는 기능도 없고, 기존 설치를 그대로 대체하는 업그레이드 경로도 없다.

기존 라이브러리의 경우 파일은 안전하지만 설정은 그렇지 않다. 이 과정에서는 디스크에 이미 있는 파일을 변경하지 않는다. 루트 폴더를 추가하고 라이브러리 가져오기를 실행하면 Chaptarr가 찾은 파일을 자체 메타데이터와 대조한다. 수동으로 다시 설정해야 하는 항목은 quality profile, naming format, indexer 및 client 설정, 그리고 Chaptarr가 잘못 판단한 모든 매칭이다. 규모가 큰 라이브러리에는 수동으로 수정하는 작업이 필요하므로 10분이 아니라 저녁 시간 한 번을 할당해야 한다.

다음 순서로 진행한다. Readarr 컨테이너를 중지하되 config volume은 유지한다. 그러면 기존 설정을 확인하면서 새로 입력할 수 있다. 먼저 Chaptarr를 작은 폴더 하나에 연결하고, 전체를 가져오기 전에 매칭 결과를 확인한다. 결과가 만족스러울 때까지 기존 컨테이너를 삭제하지 않는다.

전체 라이브러리를 스캔하기 전에 알아둘 개인정보 관련 사항이 하나 있다. 메타데이터 조회 요청은 api2.chaptarr.com로 전송된다. README에 따르면 이러한 요청에는 provider ID, 검색어, 미디어 유형, 태그 및 파일 이름이 포함될 수 있으며, 전체 경로, 사용자 신원 및 자격 증명은 포함되지 않는다. 파일 이름은 서버 밖으로 전송된다. 메타데이터 서비스에서는 일반적인 동작이지만, 이를 의도적으로 허용할지 결정해야 한다.

오디오북을 플레이어에 전달하기

Chaptarr는 파일을 정리한다. 파일을 재생하는 일은 다른 프로그램의 역할이다. 일반적으로 Audiobookshelf를 함께 사용한다. Audiobookshelf는 장치 간 청취 위치를 추적하고 휴대폰 앱도 제공하기 때문이다. 공식 이미지는 ghcr.io/advplyr/audiobookshelf:latest이며, 문서에 나온 Compose 예제는 호스트 포트 13378을 컨테이너 포트 80으로 게시한다.

  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf:latest
    container_name: audiobookshelf
    ports:
      - 127.0.0.1:13378:80
    volumes:
      - ./abs/config:/config
      - ./abs/metadata:/metadata
      - /srv/media/audiobooks:/audiobooks
    environment:
      - TZ=Europe/Berlin
    restart: unless-stopped

Chaptarr가 파일을 기록하는 동일한 호스트 경로를 마운트한 다음, 웹 UI에서 /audiobooks를 라이브러리로 추가한다. 다음 스캔이 끝나면 새로 가져온 항목이 표시된다.

이미 Jellyfin을 실행하고 있다면 해당 폴더를 라이브러리로 추가해 파일을 재생할 수 있다. 다만 하나의 긴 오디오북 파일을 재생할 때 이어보기 동작은 오디오북 전용 서버보다 불안정하다. 이 구성은 VPS에서 Jellyfin을 미디어 서버로 실행하기에서 설명한다. 전자책 부분은 /srv/media/ebooks를 리더 애플리케이션에 전달하면 된다. 파일 이름을 지정하고 올바른 위치에 저장하면 Chaptarr의 역할은 끝난다.

유지보수 위험: 라이선스, 런타임, 그리고 빠르게 변하는 태그

Chaptarr는 GPL-3.0 라이선스를 따르며, 저작권은 Chaptarr 기여자에게 있고 일부는 Servarr 팀의 코드를 포함합니다. 따라서 코드는 오픈 소스로 유지되며, 현재 관리자가 중단하더라도 누구나 다시 포크할 수 있습니다. 이 프로젝트는 2026년 8월 기준 .NET 10(현재의 장기 지원 런타임 릴리스)을 기반으로 빌드되므로, 기반 기술은 수개월이 아닌 수년간 지원됩니다. 이 두 가지 사실은 내년에도 이 프로젝트가 존재할지 판단할 때 중요한 요소입니다.

버전 번호는 빠르게 바뀝니다. 0.9.925 버전은 2026년 8월 9일에 배포되었으며, 이후 7주 동안 5번의 릴리스가 추가로 이어졌습니다. 0.9.958 버전까지의 모든 릴리스는 프리릴리스로 배포되었으며, 2026년 9월 27일에 나온 0.9.965 버전이 처음으로 정식 릴리스로 표시되었습니다. 정확한 태그를 고정하십시오. latest을 사용하면 자동화된 docker compose pull로 인해 일주일 사이에도 여러 버전이 올라갈 수 있습니다. 이처럼 초기 단계의 포크 프로젝트는 릴리스마다 API가 변경될 수 있으며, 이는 작성해 둔 스크립트나 대시보드를 망가뜨릴 수 있습니다. 직접 호스팅하는 모든 초기 프로젝트에는 버전을 고정하는 습관을 들이는 것이 좋습니다. 자체 호스팅 운동 트래커로 openGym 실행하기 가이드에서 고정된 git 태그를 사용하여 배포하는 이유도 바로 이 때문입니다.

업그레이드 전에는 항상 백업을 수행하고, 의도적으로 업그레이드를 진행하십시오.

docker compose stop chaptarr
sudo tar czf chaptarr-config-backup.tgz ./config
docker compose start chaptarr
docker compose pull chaptarr
docker compose up -d chaptarr

이 프로젝트는 약 6개월 동안 11,000명 이상의 사용자를 거치면서 데이터 손실 사례가 보고되지 않았으나, 여전히 백업을 유지하고 잃어버려서는 안 될 라이브러리에 연결하지 말 것을 권고합니다. 이 두 가지 조언을 모두 진지하게 받아들이십시오. 설정 아카이브를 서버 외부로 복사하십시오. 보호 대상과 같은 디스크에 있는 백업은 진정한 백업이 아니기 때문입니다. Chaptarr는 상태를 /config 아래의 SQLite 파일 하나에 저장하므로 단일 tarball만으로도 충분합니다. 별도의 데이터베이스 서버를 사용하는 경우에는 데이터베이스 덤프도 함께 수행해야 합니다. 이는 VPS에서 Postgres 데이터 및 업로드 파일과 함께 Chatwoot 자체 호스팅하기 단계에서 수행하는 백업 방식과 동일합니다.

오류 상황과 화면에 표시되는 문자열

컨테이너가 반복해서 재시작됩니다. docker compose ps에 Restarting이 표시됩니다. ls -ln ./config을 실행합니다. 소유자 열에 2개의 0이 표시되면 Docker가 해당 디렉터리를 root로 생성했으며 컨테이너 사용자가 데이터베이스에 쓸 수 없다는 뜻입니다. sudo chown -R 1000:1000 ./config를 실행합니다.

가져오기가 완료되지 않고 파일이 downloads에 남습니다. Chaptarr가 다운로드한 파일은 읽을 수 있지만 library에 쓸 수 없습니다. ls -ln /srv/media/audiobooks을 사용자의 PUID 및 PGID와 비교합니다. 다른 UID가 소유한 디렉터리이거나, 사용자의 group이 소유하지만 group 쓰기 권한이 없으면 파일을 이동할 수 없습니다. UMASK=002은 새 파일에 대해 두 번째 문제를 방지합니다.

가져올 때마다 디스크 사용량이 2배로 증가합니다. hardlink가 생성되지 않아 파일이 복사된 것입니다. volumes 섹션의 ln 테스트를 실행합니다. Invalid cross-device link로 끝나는 오류가 이를 확인해 주며, 단일 상위 디렉터리 마운트가 해결 방법입니다.

다운로드 클라이언트에 연결할 수 없습니다. 호스트로 localhost를 입력했습니다. 컨테이너 내부에서 이 주소는 Chaptarr 자체를 가리킵니다. 컨테이너 이름을 사용하고, docker network inspect arr에 두 컨테이너가 모두 표시되는지 확인합니다.

Compose가 서비스를 시작하지 않습니다. Bind for 127.0.0.1:8789 failed: port is already allocated은 다른 프로세스가 해당 포트를 사용하고 있다는 뜻입니다. sudo ss -lntp | grep 8789로 해당 프로세스를 찾습니다.

브라우저에 아무것도 표시되지 않습니다. 포트가 127.0.0.1에 바인딩되어 있으면 노트북이 인터넷을 통해 연결할 대상이 없습니다. 이것은 의도된 동작입니다. 먼저 SSH 터널을 엽니다.

FAQ

Readarr 라이브러리를 Chaptarr로 마이그레이션할 수 있습니까?

가져오기(import) 방식으로는 불가능합니다. Chaptarr는 Readarr의 메타데이터 소스와 호환되지 않으며 자체적인 공급자 파이프라인을 사용하므로, Readarr에 저장된 식별자는 의미가 없으며 데이터베이스 변환 기능도 제공하지 않습니다. 디스크에 있는 파일은 그대로 유지됩니다. 기존 경로를 루트 폴더로 추가하고 라이브러리 가져오기를 실행하면 Chaptarr가 직접 파일을 매칭합니다. 품질 프로필, 명명 형식, 인덱서 설정 및 잘못된 매칭 수정은 수동으로 작업해야 하므로, 전체를 가져오기 전에 작은 폴더 하나로 먼저 시작하십시오.

Chaptarr가 오디오북 폴더에 쓰기 작업을 할 수 없는 이유는 무엇입니까?

컨테이너 사용자가 해당 디렉터리에 대한 쓰기 권한을 가지고 있지 않기 때문이며, 이는 보통 해당 디렉터리 소유자와 다른 UID로 실행되기 때문입니다. Chaptarr는 관련 변수가 설정되지 않았을 때 PUID=99 및 PGID=100를 기본값으로 사용하는데, 이는 unRAID의 값이므로 일반적인 Ubuntu VPS에서는 올바르지 않습니다. 이 변수들을 사용자의 id -u 및 id -g로 설정하고, 다운로드 클라이언트에서도 동일한 쌍을 사용하며, 새 파일이 그룹 쓰기 권한을 유지하도록 UMASK=002을 설정하십시오. 라이브러리 디렉터리에서 ls -ln를 사용하여 소유권을 확인하십시오. 이 명령은 이름 대신 숫자를 출력하므로 직접 비교할 수 있습니다.

가져오기 후 디스크 사용량이 두 배로 늘어난 이유는 무엇입니까?

Chaptarr가 하드링크를 생성할 수 없어 파일을 복사했기 때문입니다. /downloads과 /audiobooks을 별도의 바인드 마운트로 설정하면 컨테이너 내부에서 서로 다른 마운트 지점이 되며, 커널은 Invalid cross-device link 오류를 발생시키며 마운트 지점 간의 하드링크를 거부합니다. /srv/media:/data과 같은 하나의 상위 디렉터리를 마운트하고 앱 내부에서 /data/downloads 및 /data/audiobooks를 사용하십시오. 두 경로는 모두 동일한 호스트 파일 시스템에 있어야 하며, 이는 df -h 명령으로 확인할 수 있습니다.

Chaptarr에서 오디오북을 재생할 수 있습니까?

아니요. Chaptarr는 오디오북을 찾고, 다운로드하고, 이름을 변경하고, 정리하는 역할을 하며 재생은 별도의 프로그램이 담당합니다. 기기 간 재생 위치를 동기화할 수 있어 Audiobookshelf를 함께 사용하는 경우가 많으며, 이때 동일한 호스트 오디오북 경로를 마운트한 공식 이미지 ghcr.io/advplyr/audiobookshelf:latest을 사용합니다. Jellyfin에 해당 폴더를 라이브러리로 추가하여 파일을 재생할 수도 있지만, 긴 단일 파일 오디오북의 경우 이어 듣기 기능이 다소 약할 수 있습니다.

소중한 라이브러리에 Chaptarr를 사용해도 안전합니까?

이 소프트웨어는 초기 단계의 포크 버전인 베타 소프트웨어입니다. 프로젝트 측에서도 이를 명시하고 있으나, 약 6개월간 11,000명 이상의 사용자가 사용하는 동안 데이터 손실 사례는 보고되지 않았습니다. 안심할 수 있는 부분은 코드를 포크할 수 있도록 보장하는 GPL-3.0 라이선스와 2026년 8월 기준 장기 지원 런타임인 .NET 10 기반이라는 점입니다. latest 대신 0.9.925과 같은 정확한 이미지 태그를 고정하고, 업그레이드할 때마다 /config을 백업하며, 해당 아카이브를 서버 외부의 안전한 곳에 보관하십시오.