Calibre-web 소개
Calibre-Web은 유효한 Calibre 데이터베이스 를 사용하여 eBook을 검색하고, 읽고, 다운로드할 수 있는 깔끔하고 직관적인 인터페이스를 제공하는 웹 앱입니다.

설치 방법
기본적으로 epub 파일만 있다고 사용 가능하진 않습니다.
calibre 앱을 통해 정보(저자, 책이미지, 책요약 등)를 데이터 베이스화한 파일과 책 폴더들이 있어야 가능합니다.
없다고 하셔도 기본적으로 calibre 앱을 설치하게 되면 기본적이 설명서 파일 등이 있으니 사용 가능하겠죠??
Calibre 데이터베이스
기본적으로 calibre를 이용한 데이터베이스가 있어야 합니다. 저 같은 경우 calibre를 통해 네트워크 폴더에 북 폴더라는 곳으로
책을 추가하고 정보를 입력하고 있습니다.

그러면 관리하는 폴더는 아래와 같은 형식의 폴더가 존재하게 됩니다. 이 폴더를 calibre web을 통해 어디든 접속하고 다운받을 수 있게 진행해 봅시다.

컨테이너 매니져(docker compose)를 통한 설치
docker 폴더에 calibre_web 폴더를 생성합니다. 그리고 하위 폴더에 config 폴더도 생성합니다.
/docker/calibre_web/config <- 이런식으로 폴더가 완성되어야 합니다.

docker compose 생성
컨테이너 매니져를 실행 후 프로젝트 – 생성을 클릭 후
프로젝트 이름을 넣어주시고
경로에 위에 만들어둔 calibre_web 폴더 설정 후
docker-compose.yml 만들기를 선택 해 줍니다.

docker-compose 내용에는 아래와 같이 입력해줍니다. 아래 내용 복사 붙여넣기 해주세요
아래 북 폴더(calibre 데이터베이스 폴더)는 자신의 상황에 맞게 수정 바랍니다.
/volume1/hjm79/books:/book #calibre로 생성한 북폴더
version: "3.5"
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:nightly
container_name: calibre-web
environment:
- PUID=1026
- PGID=100
- TZ=Asia/Seoul
- DOCKER_MODS=linuxserver/calibre-web:calibre #optional
- OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional
volumes:
- ./config:/config
- /volume1/hjm79/books:/book # calibre로 생성한 데이터베이스 북폴더
ports:
- 8083:8083
restart: unless-stopped
그리고 다음을 누르고 이미지 생성 후 완료가 되면 바로 접속이 되지 않습니다.
나스 사양에 따라 다른데 제 DS423+ 같은 경우 3분 정도 소요되더군요 안된다고 건들지 마시고 대충 5분뒤에 접속 바랍니다.
대기 후 주소창에 니스IP:8083 으로 접속해줍니다.
초기 로그인 아이디와 비번은 아래와 같습니다.
ID: admin
pw: admin123

Calibre-web 책 폴더 지정
아래와 같이 /book 이라고 입력 후 저장을 눌러줍니다.

아이디, 패스워드 변경과 언어변경
상단의 Admin – Edit Users 를 클릭합니다.

Edit users 클릭

아래 admin을 지우시고 원하는 아이디로 변경해주시고 패스워드와 언어도 변경해줍니다.

그리고 완료되면 좌측 calibre-web 아이콘을 클릭하시면 완성된 calibre web을 확인하실 수가 있습니다.

OPDS 연결
OPDS 연결
Calibre web은 OPDS 연결을 지원합니다.
도메인에 연결하셨다면 저 같은 경우 서브도메인에 연결해서 book.test.com 지정하였습니다.
opds 연결같은 경우 이렇게 쓰실수가 있습니다.
서버의 ip:port/opds
또는
지정한 도메인/opds 로 등록이 가능합니다. ex) book.test.com/opds
안드로이드 Moon Reader
안드로이드는 opds를 지원하는 moon reader 를 사용하고 있습니다. 예전부터 moon reader를 사용해서 다른 어플은 모르겠네요
지금은 더 좋은 어플이 있을듯 한데 아시는 분 댓글좀!!!!!



iOS 아이폰, 아이패드
ios에는 의외로 쓸만한 opds 지원 앱들이 많이 없습니다. 제가 사용하는것으로 kybook3 입니다.
유료 버전과 무료 버전이 있습니다. 현재 pro 유료버전으로 사용중입니다.
https://apps.apple.com/us/app/kybook-3-ebook-reader/id1348198785



도메인 연결
웹스테이션 별칭 연결이 안됩니다.
서브패스 그러니까 alias로 설정하시는 방법 아시는 분 있으면 댓글로 알려주세요!
nginx 설정 같은 경우 별칭으로 등록할 경우 아래와 같이 설정해주면 도메인/calibre 와 같이 패스 등록이 가능한데 시놀로지는 이런 자잘한 설정이 불가능하네요!
그렇다고 npm 설치하자니 중복이 되고 ㅜ,.ㅜ
아래와 같이 nginx 설정해주면 별칭 등록이 가능한데 시놀로지 웹스테이션에서 설정하는 방법이 없음!!
roxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /calibre;
저 같은 경우 저렴한 namesilo에서 도메인 구매해 사용중입니다.
이번에도 마찬가지로 도메인 하나 구매해 시놀로지 기본 리버스 프록시로 연결해서 사용중입니다.
제어판 – 로그인포털 – 고급 – 역방향 프록시 설정
또는
프로젝트 생성 시 web staion을 통해 웹 포털 설정을 체크해주시고 진행하시면 됩니다.
인증서 발급 후 연결해서 사용하면 자신만의 서재가 완성이됩니다.

