오디오북 앱들은 대부분 구독형이거나, 돈 주고 산 파일도 그 앱 안에서만 재생되는 폐쇄적인 구조예요. MP3나 M4B 같은 오디오북 파일을 이미 갖고 있다면 이야기가 달라지는데, Audiobookshelf 하나만 설치하면 넷플릭스 같은 인터페이스로 관리하면서 스마트폰에서 듣다가 멈춘 지점을 PC에서도 정확히 이어들을 수 있어요. 그렇다면 오디오북과 팟캐스트를 셀프호스팅한다는 게 구체적으로 어떤 경험을 뜻하는 걸까요?
Jellyfin/Plex와 무엇이 다른가
Audiobookshelf는 챕터 단위 탐색, 정확한 재생 위치 동기화, 배속 재생 기억처럼 오디오북 특유의 기능에 특화된 전용 서버라는 점이 가장 큰 차이예요. Jellyfin이나 Plex도 오디오 파일 자체는 재생할 수 있지만, 이런 세부 기능까지 세밀하게 챙기지는 않아요. Audiobookshelf는 처음부터 오디오북과 팟캐스트만을 위해 설계돼서 이 부분이 훨씬 정교하게 다듬어져 있어요. 음악 스트리밍까지 자체 서버로 옮기고 싶다면 Navidrome으로 음악 스트리밍 구축하기도 같이 참고해보세요.
핵심 기능
- 정확한 이어듣기 동기화: 스마트폰에서 듣다가 멈춘 지점이 데스크톱이나 다른 기기에서도 정확히 이어져요.
- 챕터 탐색: M4B 형식의 챕터 정보를 인식해 원하는 챕터로 바로 이동할 수 있어요.
- 배속 재생 기억: 책마다 설정한 재생 속도가 개별적으로 저장돼요.
- 팟캐스트 자동 구독: RSS 피드를 등록하면 새 에피소드를 자동으로 다운로드해 서버에 보관해요.
- 메타데이터 자동 수집: 오디오북의 표지, 저자, 줄거리 정보를 자동으로 스크래핑해 정리해요.
- 모바일 앱의 오프라인 다운로드: 공식 모바일 앱에서 파일을 기기에 다운로드해 오프라인으로도 재생할 수 있어요.
설치와 라이브러리 구조
Audiobookshelf는 Docker로 간단하게 설치할 수 있고, 오디오북 파일을 저자/책 제목 폴더 구조로 마운트해주기만 하면 자동으로 라이브러리를 스캔해요. 이미 Docker Compose 기반 홈랩 스택을 운영 중이라면 서비스 하나만 추가하면 끝이에요.
services:
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
ports:
- "13378:80"
volumes:
- /path/to/audiobooks:/audiobooks
- /path/to/podcasts:/podcasts
- audiobookshelf_config:/config
- audiobookshelf_metadata:/metadata
volumes:
audiobookshelf_config:
audiobookshelf_metadata:
오디오북 파일은 어디서 구하나
Audiobookshelf 자체는 콘텐츠를 전혀 제공하지 않고, 순수하게 재생·관리 플랫폼 역할만 해요. 합법적으로 구매한 오디오북(Audible에서 구매 후 DRM을 제거한 개인 소장본, 직접 구매한 DRM-free 오디오북 등)이나, 저작권이 만료된 퍼블릭 도메인 오디오북(Librivox 등)을 서버에 올려 관리하는 용도로 쓰는 것이 일반적이에요.
팟캐스트 아카이빙의 숨은 장점
팟캐스트는 제작자가 언제든 에피소드를 비공개로 돌리거나 피드 자체를 내릴 수 있어요. Audiobookshelf로 좋아하는 팟캐스트를 자동 구독해두면, 원본이 나중에 사라지더라도 이미 다운로드한 에피소드는 내 서버에 안전하게 남아요. 특히 오랫동안 즐겨 듣던 팟캐스트가 종영되거나 플랫폼을 옮기는 경우에 이 아카이빙 기능의 가치가 크게 느껴져요.
다중 사용자와 진도 관리
가족 구성원마다 별도 계정을 만들어 각자의 재생 진도와 라이브러리 접근 권한을 독립적으로 관리할 수 있어요. 아이들에게는 특정 오디오북 컬렉션만 보이도록 라이브러리를 분리하는 것도 가능해서, 가족 단위로 운영하기에도 적합한 구조예요.
결론
Audiobookshelf는 좁은 틈새 같아 보이지만, 오디오북과 팟캐스트를 즐겨 듣는 사람에게는 상용 앱 못지않은, 어떤 면에서는 더 나은 경험(광고 없음, 완전한 소유권, 이어듣기 완벽 동기화)을 제공하는 프로젝트예요. 이미 Jellyfin으로 미디어 서버를 운영 중이라면, 오디오 전용 콘텐츠는 Audiobookshelf로 분리해 관리하는 것을 추천해요.
자주 묻는 질문
Q1. Jellyfin이나 Plex로도 오디오북을 들을 수 있는데 굳이 따로 설치해야 하나요?
네, Jellyfin/Plex는 챕터 단위 탐색이나 배속 재생 기억 같은 오디오북 특화 기능이 없어서, 오디오북/팟캐스트를 자주 듣는다면 Audiobookshelf를 별도로 두는 편이 훨씬 편해요.
Q2. 오디오북 파일이 없는데 콘텐츠는 어디서 구하나요?
Audiobookshelf 자체는 콘텐츠를 제공하지 않으므로, 직접 구매한 DRM-free 오디오북이나 Librivox 같은 퍼블릭 도메인 오디오북을 준비해 서버에 올려야 해요.
Q3. 가족 여러 명이 같이 써도 되나요?
네, 계정을 구성원별로 만들면 각자의 재생 진도와 라이브러리 접근 권한을 독립적으로 관리할 수 있어 가족 단위 운영에도 적합해요.
Q4. 팟캐스트 원본이 내려가면 다운로드해둔 에피소드도 사라지나요?
아니에요, 자동 구독으로 미리 다운로드해둔 에피소드는 원본 피드가 사라지거나 비공개로 전환되더라도 내 서버에 그대로 보관돼요.
Q5. 모바일에서도 오프라인으로 들을 수 있나요?
네, 공식 모바일 앱에서 파일을 기기에 다운로드해두면 네트워크 연결 없이도 재생할 수 있어요.
댓글
첫 번째 댓글을 남겨보세요!
Kavita: 만화/전자책 서버 셀프호스팅
쌓여있는 만화책과 전자책 파일을 웹/모바일 어디서든 이어읽기까지 지원되는 라이브러리로 만들어주는 Kavita를 소개합니다.
Kavita
Navidrome: 스포티파이 대신 내 음악 서버 만들기
직접 소장한 음원 파일을 스포티파이처럼 스트리밍할 수 있는 가벼운 오픈소스 음악 서버, Navidrome을 소개합니다.
Navidrome
Jellyfin vs Plex, 셀프호스팅 미디어 서버 비교
내 영화와 드라마를 직접 서버에 올려 어디서든 스트리밍하는 두 대표 미디어 서버, Jellyfin과 Plex를 비교합니다.
Jellyfin