프로젝트 소개
Calibre-Web Automated(CWA)는 Calibre-Web을 기반으로 하는 자체 호스팅 디지털 라이브러리 프로젝트입니다. 목표는 Calibre-Web의 현대적이고 가벼운 웹 인터페이스와 Calibre의 더 넓은 기능 세트를 결합하고, 추가 자동화를 제공하는 것입니다. README에서는 컨테이너화된 Calibre가 모바일에서 불편하고 상대적으로 리소스를 많이 사용하는 KasmVNC UI에 의존하는 반면, 기본 Calibre-Web은 일부 핵심 기능이 부족하여 많은 사용자가 두 서비스를 병행 실행한다고 설명합니다.
CWA는 반응형 Bootstrap HTML5 인터페이스, 사용자별 권한, 전자책 리더 앱용 OPDS 피드, 확장 가능한 소스에서의 메타데이터 편집 및 다운로드, 다운로드 제한, 공개 등록, 원클릭 전자책 전송, Kobo 기기 동기화, 여러 형식의 브라우저 내 읽기, 카테고리 및 사용자 정의 열에 따른 콘텐츠 숨기기, Magic Link 로그인, 고급 검색 및 필터링, 다국어 인터페이스를 포함한 모든 기본 Calibre-Web 기능을 유지합니다.
README에 설명된 CWA 특화 추가 기능은 다음과 같습니다.
- 27개 전자책 형식을 지원하는 자동 수집 서비스로, 무시 및 자동 변환 규칙을 구성할 수 있습니다.
- 기본적으로 켜져 있는 자동 변환 서비스로, EPUB, MOBI, AZW3, KEPUB 또는 PDF를 대상으로 하며 28개 입력 파일 형식을 지원합니다.
- 웹 UI를 통해 이루어진 표지 및 메타데이터 변경을 자동으로 적용하여, 편집 내용이 UI에만 반영되는 것이 아니라 책 파일에 기록되도록 합니다.
- 기본적으로 /config/processed_books에 원본을 저장하는 자동 백업 서비스.
- 하이브리드 SQL 및 퍼지 매칭을 사용하는 스마트 중복 감지로, 수집 후 검사, 예약 증분 스캔, 원클릭 병합, 일괄 작업 및 선택적 자동 해결을 제공합니다.
- Magic Shelves: AND/OR 논리를 사용하는 동적 규칙 기반 선반, 사전 구축된 템플릿, 캐시된 개수 및 Kobo 동기화 지원.
- 수집 후 전자책으로 자동 전송하며, 지연 시간, 형식 선택 및 여러 수신자를 구성할 수 있습니다.
- 수집 시 공급자 계층 및 대체를 포함한 자동 메타데이터 가져오기.
- CSV 내보내기, 사용자 필터링 및 날짜 범위를 포함한 심층 통계 및 분석.
- 여러 기기와 임시 주소를 지원하는 향상된 전자책 전송 모달.
- innocenat의 kindle-epub-fix를 기반으로 한 자동 EPUB Fixer로, UTF-8 인코딩, NCX 하이퍼링크 문제, 잘못된 언어 태그, 잘못된 이미지 태그, 잘못된 XML 및 손상된 CSS/폰트를 처리합니다. 기본적으로 활성화되며 실행별 백업과 대량 라이브러리 처리를 제공합니다.
- 원본을 선택적으로 보존하는 다중 형식 변환 도구.
- ibdb.dev를 통한 isbndb.com, Hardcover, Kobo 및 LitRes를 포함한 추가 메타데이터 공급자.
- 자동 부분 MD5 체크섬, KOReader, CWA 읽기 상태 및 Kobo 간 통합 진행 상황, HTTP Basic Auth 및 다운로드 가능한 플러그인을 갖춘 KOReader 동기화(KOSync).
- 자동 검색, 수동 엔드포인트 재정의, JWT 필드 매핑, 그룹 기반 관리자 역할 및 연결 테스트를 포함한 향상된 OAuth 2.0/OIDC 인증.
- 백그라운드 작업으로 자동 Hardcover ID 가져오기.
- 라이브러리 자동 감지: Calibre 라이브러리가 없으면 새로 만들고, 기존 라이브러리를 재귀적으로 찾아 마운트하며, 여러 개가 발견되면 가장 큰 것을 선택합니다. 인스턴스당 하나의 라이브러리가 지원됩니다.
- 설치된 버전과 최신 GitHub 릴리스를 비교하는 내부 업데이트 알림으로, 관리자에게 하루에 한 번 표시됩니다.
- 수집 폴더에 남아 있는 책을 수집하는 수동 라이브러리 새로 고침 버튼.
- 매일 자정 직전에 백업 파일을 자동 압축.
- Books List 페이지에서 일괄 편집 및 삭제.
배포 관련 참고 사항은 네트워크 공유를 다룹니다. NETWORK_SHARE_MODE=true는 metadata.db 및 app.db에서 SQLite WAL을 비활성화하고, 재귀적 chown을 건너뛰며, 감시자를 폴링으로 전환합니다. CWA_WATCH_MODE=poll은 폴링을 강제할 수 있습니다. Docker Desktop은 자동 감지되어 폴링을 사용합니다. 여러 프록시 뒤에서는 TRUSTED_PROXY_COUNT를 설정할 수 있는데, Werkzeug ProxyFix가 기본적으로 하나의 프록시를 신뢰하도록 되어 있어 세션 보호에 영향을 주기 때문입니다.
설치는 Docker Compose를 통해 이루어지며, compose 템플릿용 빠른 설치 curl 명령, 기본 Calibre-Web에서 마이그레이션하는 사용자를 위한 안내, 기본 관리자 로그인을 포함한 설치 후 작업이 제공됩니다. README에는 로드맵도 나열되어 있습니다. Svelte 기반 프런트엔드, 새로운 웹 리더, 기기 간 진행 상황 동기화, 전체 텍스트 검색, Calibre 플러그인 지원, 라이브러리 분할 및 알림 통합입니다. 관련 프로젝트로는 도서 다운로드를 위한 Shelfmark와 Flutter 기반 Calibre-Web Companion 앱이 있습니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.