CBZ, CBR로 압축된 만화 파일이나 EPUB, PDF 전자책이 폴더 여기저기 흩어져 있다면, Kavita로 이를 넷플릭스 같은 브라우징 경험이 가능한 개인 도서관으로 만들 수 있어요. Jellyfin이나 Plex가 영상 콘텐츠에 특화되어 있다면, Kavita는 처음부터 만화와 전자책이라는 콘텐츠 형식에 맞춰 설계된 셀프호스팅 서버예요. 그렇다면 Kavita로 만화/전자책 서버를 셀프호스팅한다는 게 실제로 어떤 경험일까요?
지원하는 파일 형식
Kavita는 압축 만화 포맷부터 전자책, 일반 이미지 폴더까지 폭넓은 파일 형식을 인식해요.
- 만화: CBZ, CBR, CB7 등 압축 만화 포맷을 지원해요.
- 전자책: EPUB, PDF 형식을 지원해요.
- 일반 이미지 폴더: 압축하지 않은 이미지 시퀀스로 구성된 만화도 그대로 인식해요.
하나의 서버에서 만화와 전자책을 별도 라이브러리로 구분해 관리할 수 있어, 웹툰/만화책 모음과 소설/전자책 모음을 섞이지 않게 깔끔하게 정리할 수 있어요.
이어보기와 읽기 진행률 동기화
Kavita의 핵심 강점은 어느 기기에서 읽든 진행 상황이 정확히 동기화된다는 점이에요. 출근길에 스마트폰으로 웹툰을 몇 화 보다가, 집에 와서 태블릿이나 PC 브라우저로 열면 정확히 멈췄던 페이지부터 이어져요. 만화 특유의 “몇 화 몇 페이지까지 봤는지”를 세밀하게 기억해주는 것은 일반 파일 뷰어나 클라우드 저장소만으로는 얻기 어려운 경험이에요.
메타데이터와 자동 정리
폴더 구조(작가/시리즈/권 번호)를 인식해 자동으로 시리즈별로 정리해주고, 가능한 경우 표지 이미지와 줄거리 같은 메타데이터도 자동으로 가져와요. ComicInfo.xml(만화 파일에 흔히 포함되는 메타데이터 표준 포맷)이 있다면 이를 우선적으로 활용해 더 정확한 정보(작가, 발행일, 장르)를 표시해요.
리더 경험: 만화와 전자책 각각에 최적화
만화와 전자책은 읽는 방식 자체가 달라서, Kavita는 콘텐츠 유형에 맞춰 서로 다른 리더 인터페이스를 제공해요.
- 만화 리더: 페이지 넘김 방식(좌우 스크롤, 세로 스크롤, 두 페이지 보기 등)을 세밀하게 조정할 수 있고, 웹툰처럼 세로로 긴 이미지에 최적화된 뷰 모드도 지원해요.
- 전자책 리더: EPUB의 경우 폰트 크기, 줄 간격, 테마(라이트/다크/세피아) 조정이 가능한 자체 리더가 내장되어 있어, 별도 앱 없이 브라우저에서 바로 읽을 수 있어요.
설치
다른 서비스들처럼 Docker Compose 한 파일로 간단히 띄울 수 있어요.
services:
kavita:
image: jvmilazz0/kavita:latest
ports:
- "5000:5000"
volumes:
- kavita_config:/kavita/config
- /path/to/comics:/comics:ro
- /path/to/books:/books:ro
volumes:
kavita_config:
미디어 파일을 읽기 전용(:ro)으로 마운트해두면, 서버 애플리케이션이 실수로 원본 파일을 건드리는 걸 방지할 수 있어요.
콘텐츠 확보에 대한 유의사항
Kavita 자체는 순수하게 파일 관리·재생 플랫폼이며 콘텐츠를 제공하지 않아요. 합법적으로 구매한 전자책(DRM 해제된 개인 소장본), 직접 스캔한 자료, 혹은 저작권이 만료되었거나 크리에이티브 커먼즈로 배포되는 자료를 서버에 올려 관리하는 용도로 사용하는 게 원칙이에요.
다중 사용자와 읽기 목록
가족 구성원별로 계정을 나누고, 각자의 읽기 진행률과 컬렉션을 독립적으로 관리할 수 있어요. 성인 콘텐츠 필터링이나 특정 라이브러리에 대한 접근 제한 같은 세부 권한 설정도 지원해, 자녀 계정에는 특정 만화/전자책 컬렉션만 보이도록 구성하는 것도 가능해요.
Komga와의 비교
비슷한 목적의 셀프호스팅 프로젝트로 Komga도 있어요. Komga가 만화 콘텐츠에 더 집중된 반면, Kavita는 처음부터 만화와 전자책을 함께 아우르는 걸 목표로 설계되어 있어, 두 콘텐츠 유형을 하나의 서버에서 통합 관리하고 싶다면 Kavita 쪽이 좀 더 자연스러운 선택이에요.
결론
Kavita는 흩어진 만화/전자책 파일들을 실제로 “다시 꺼내 읽기 편한” 형태로 바꿔주는 프로젝트예요. 특히 여러 기기를 오가며 읽는 습관이 있다면, 진행률 동기화 하나만으로도 상용 서비스 못지않은 편의를 셀프호스팅 환경에서 그대로 누릴 수 있어요. 같은 이어듣기/이어보기 경험을 오디오북과 팟캐스트에도 적용하고 싶다면 Audiobookshelf를 함께 구성하는 것도 좋아요.
자주 묻는 질문
Q1. Jellyfin이나 Plex로 만화/전자책을 관리하면 안 되나요?
가능은 하지만 최적화되어 있지 않아요. Jellyfin/Plex는 영상 콘텐츠에 특화되어 있고, Kavita는 처음부터 만화·전자책 형식에 맞춰 페이지 넘김 방식이나 읽기 진행률 동기화를 설계했어요.
Q2. 스마트폰으로 읽다가 PC로 이어서 볼 수 있나요?
네, 어느 기기에서 읽든 정확히 멈췄던 페이지부터 이어지도록 읽기 진행률이 실시간으로 동기화돼요.
Q3. Kavita와 Komga 중 뭘 골라야 하나요?
만화 콘텐츠에만 집중한다면 Komga도 좋은 선택이지만, 만화와 전자책을 하나의 서버에서 함께 관리하고 싶다면 Kavita 쪽이 더 자연스러워요.
Q4. 콘텐츠는 어디서 구해야 하나요?
Kavita 자체는 콘텐츠를 제공하지 않으므로, 합법적으로 구매한 DRM 해제 전자책이나 직접 스캔한 자료, 저작권이 만료된 자료를 준비해 서버에 올려야 해요.
Q5. 자녀 계정에 특정 만화만 보이게 제한할 수 있나요?
네, 계정별로 라이브러리 접근 권한과 성인 콘텐츠 필터링을 설정할 수 있어 자녀 계정에는 특정 컬렉션만 보이도록 구성할 수 있어요.
댓글
첫 번째 댓글을 남겨보세요!
Navidrome: 스포티파이 대신 내 음악 서버 만들기
직접 소장한 음원 파일을 스포티파이처럼 스트리밍할 수 있는 가벼운 오픈소스 음악 서버, Navidrome을 소개합니다.
Navidrome
Audiobookshelf: 오디오북/팟캐스트 셀프호스팅
오디오북과 팟캐스트를 직접 서버에 올려 어디서든 이어듣기까지 지원되는 셀프호스팅 오디오 서버, Audiobookshelf를 소개합니다.
Audiobookshelf
Jellyfin vs Plex, 셀프호스팅 미디어 서버 비교
내 영화와 드라마를 직접 서버에 올려 어디서든 스트리밍하는 두 대표 미디어 서버, Jellyfin과 Plex를 비교합니다.
Jellyfin