Calibre Web으로 전자책 서비스 구축, ‘도커’로 더 쉽게

NAS 운영 환경의 변화는 예기치 않은 문제를 야기하기도 한다. 바로 의도치 않게 다른 서비스에게 악영향을 끼치는 경우다. 도커(Docker)는 그러한 위험이 없다. 격리된 소프트웨어 컨테이너 내에서 프로그램을 빌드, 실행할 수 있는 가상화 된 컨테이너 환경이기 때문이다. 가상화와 달리 도커는 필요한 환경만을 상속받는다. 더 적은 리소스로 더 나은 성능을 제공한다. 그러한 도커를 NAS에서도 이용할 수 있다. 시놀로지 NAS OS ‘DSM 5.2’부터, XS/XS+, 플러스 시리즈에 한해 지원하고 있다.

 

도커를 이용하면 시놀로지나 커뮤니티의 패키지 외에도 ‘레지스트리’라는 일종의 저장소를 통해 다양한 오픈소스 소프트웨어를 NAS에 손쉽게 설치, 이용할 수 있다. owncloud, 플렉스(Plex), 티비헤드엔드(Tvheadend), 버추얼박스(VirtualBox) 등 그 수가 상당하다. 여기서는 도커를 이용해 칼레브레 웹(Calibre Web)을 설치할 것이다. 칼리브레 웹은 앞서 포스팅 한 ‘리디북스 같은 전자책 서비스, NAS로도 가능할까’의 BicBucStriim을 대체적 성격의 오픈소스다. 칼리브레 웹은 BicBucStriim보다 알려져 있지 않지만 현대적 인터페이스를 채택, 더 직관적이고 친숙하며 메타데이터 편집, 포맷 변환 등의 칼리브레의 기능 일부를 웹에서 제공하는 게 특징. 전자책의 관리, 데이터베이스 구축은 칼리브레로, 서비스는 칼리브레 웹이 맡는 것이다. 그러므로 여기서는 NAS와의 동기화를 통한 칼리브레의 데이터베이스를 복제하는 과정은 다루지 않는다.

 

170927_calibre_web_page

 

도커로 칼리브레 웹 설치하기
우선 시놀로지 DSM의 패키지센터에서 도커(Docker)를 설치한다. 도커 앱의 레지스토리에서 ‘Calibre Web’을 검색, ‘janeczku/calibre-web’을 더블 클릭해 이미지를 다운로드한다. 이제 칼리브레 웹을 컨테이너로 서비스하기 위한 기본 설정만이 남았다.

 

 

이미지를 더블클릭해 컨테이너를 실행한다. 고급설정의 볼륨 탭에서 폴더 추가를 클릭해 NAS로 동기화 설정된 칼리브레 데이터베이스 폴더를 선택한다. 여기서는 /homes/관리자 계정/CloudStation/Calibre다. 마운트 경로로는 /calibre를 입력한다.

 

이제 포트 설정을 할 차례다. 포트 설정 탭을 클릭, 로컬 포트 4431, 컨테이너 포트 443 그리고 로컬 포트 881, 컨테이너 포트 80을 각각 입력한다. 이는 격리된 컨테이너 내의 포트와 로컬 포트를 맵핑하기 위한 설정이다. 칼리브레 웹은 컨테이너 내에서 80포트를 사용하지만 외부, 즉 로컬에서는 881 포트를 할당함으로써 다른 서비스와의 포트 간섭을 막기 위함이다.

 

170927_calibre_web_docker

 

모든 설정을 마쳤다면 적용을 클릭하면, 칼리브레 웹 컨테이너가 실행된다. 웹 브라우저에서 http://NAS IP:881를 입력하면 칼리브레 웹의 페이지가 나타날 것이다.

 

칼리브레 웹 관리자 계정의 아이디는 admin, 비밀번호는 admin123이다. ‘Admin’ 메뉴를 통해 관리자 및 사용자 계정을 관리할 수 있다. 기본적인 계정 정보는 물론 계정별 권한도 여기서 변경할 수 있다.

 

칼리브레 웹 또한 BicBucStriim처럼 전자책 도서관 규격인 OPDS(Open Publication Distribution System)를 지원한다. 칼리브레 웹의 ODPS 주소는 http://NAS IP:881/feed다. 이를 통해 Aldiko, Marvin, Bookari 등의 전자책 리더와 연동할 수 있다. 마치 리디북스처럼 이들 리더로 책을 다운로드하고 읽을 수 있는 것이다.

suhyeoni

suhyeoni@gmail.com

15 Comments
  • 푸디스트

    모든걸 완료하고 실행했는데 502 Bad Gateway가 계속 되는데 뭐가 문제인제 검색해봐도 알수 없네요 ^^;;

    18. Jan 2017 at 11:55 오후 응답
    • suhyeoni

      앗 안녕하세요! 답변이 늦어 죄송합니다. 칼리브레 웹 페이지에 접속 시 에러가 나오는 것인가요? 아니면 전자책 뷰어에서 OPDS로 연결 시 발생하고 있나요?

      20. Jan 2017 at 11:22 오후 응답
      • 푸디스트

        아닙니다.^^ 답변 감사합니다. 나스와 피씨의 칼리브레 폴더를 싱크 시켜놓고 도커로 말씀하신 이미지를 설치후 칼리브레 웹접속 자체가 되지 않습니다.

        21. Jan 2017 at 6:55 오후 응답
        • suhyeoni

          아 네! 제가 안그래도 어제 칼리브레 웹을 다시 설치하며 해봤습니다. 502 에러는 경험 못했지만, 500 에러가 발생하더군요.

          칼리브레 웹 도커 이미지 설정에서 포트 설정에 잘못된 게 없는지 확인해 보셨나요. 칼리브레 웹은 컨테이너 안에서 80포트와 443포트를 쓰는데요. 이걸 881 또는 4431처럼 임의의 빈 포트로 포워딩해야 합니다. 칼리브레 웹에 접속할 때에는 http://NAS IP:임의 설정한 포트 번호 를 입력하시면 됩니다.

          참고로 NAS 서비스에 따라 임의 설정한 포트가 사용 중일수도 있습니다. 이 경우 다른 포트 번호를 지정해 줘야 합니다.

          아울러 500에러가 발생하는 경우는 동기화한 칼리브레 웹 DB 폴더의 권한 문제 때문입니다. 이는 도커 앱에서 터미널을 이용할 수 있는데요. 여기서 chmod -R 655 calibre 로 폴더 권한을 변경하면 잘 됩니다.

          21. Jan 2017 at 11:47 오후 응답
          • 푸디스트

            포트는 말씀하신데로 설정해놓았고 그래도 접속이 안되었는데
            폴더의 권한 문제 였던것 같습니다. chmod -R 655 calibre로 해봤습니다. 이 명령어를 넣으니 접속은 됐지만 메타데이터 수정이랑 다운로드가 이루어지지 않았습니다. 다른 명령어를 찾아보니 chmod -R ga+w calibre로 해보니 메타데이터 접속도 잘되고 깨끗하게 작동 됩니다.
            “655”의 의미랑 “ga+w”의 의미는 알고 싶기는 하지만.. 찾아보다 전문가가 아니다 보니 어렵네요;; ㅎㅎ
            그래도 많은 도움 주셔서 이북들이 정리되고 개인적으로 제가 하는 업무에 관련된 이북들이 많았는데 깔금하게 관리 정리 되는걸 보니
            NAS의 활용가치가 높아져서 개인적으로 만족감도 높고 즐겁습니다.
            이 글 말고 아마존 드라이브를 활용한 NAS 데이터 백업, 보안인증서 발급,webdav도 잘 활용하고 있습니다.
            너무나도 감사합니다. 추운 겨울 감기 안걸리게 조심하시고 블로그 자주 찾아 뵙겠습니다.

            *아이폰 사용중인데 Bookari에서는 Feed 접속은 되는데 내용이 출력이 되지는 않네요.
            그래서 Marvin을 사용해보니 잘 나와서 쓰고 있습니다.

            23. Jan 2017 at 12:30 오전
  • suhyeoni

    아 잘 해결되셨다니 다행이네요!!

    이북 뷰어마다 feed 접속 시 에러가 나는 케이스가 더러 있습니다. 버전 업되면 해결되지 않을까 생각했는데 아직인가보네요.
    bicbucstriim이 여타의 리더 앱과 가장 호환성이 좋았습니다. 참고하시기 바랍니다 ^ㅡ^

    23. Jan 2017 at 2:27 오후 응답
    • 푸디스트

      bicbucstriiim도 한번 활용하고자 설치해봤는데 접속부터가 안되네요 ㅎㅎㅎ 403 에러가 드면서 검색해보니 DSM 6.0이후로 넘어가면서 뭔가 바뀐것같은데 도통 알수가 없네요.^^

      24. Jan 2017 at 8:12 오전 응답
      • suhyeoni

        아 네! 우선 웹 스테이션, 아파치 HTTP 서버 2.2, PHP 5.6을 설치하셔야 합니다.
        설치 후 웹 스테이션 좌측 일반 설정에서 HTTP 백엔드 서버로는 아파치 HTTP 서버 2.2를, PHP로는 PHP 5.6을 선택하세요!
        PHP 설정 탭에서는 본문에 적힌 대로 PHP open basedir을 활성화하고 경로를 추가해야 합니다. 아울러 PHP 캐시를 활성화하고, 아래 확장란의 목록을 모두 체크해 활성화해보시기 바랍니다. 그러면 잘 접속되실거에요!

        24. Jan 2017 at 6:26 오후 응답
        • 푸디스트

          아 말씀하신데로 하니 잘 실행됩니다. ^^ calibre web은 실시간 반영이 안되서 추가된 책들은 다시 재 실행을 했어야 했는데. bicbuc 그렇지 않아도 되는군요. ^^ calibre web 심플하고 디자인이 참 예쁘고 bicbuc은 기능성이 참 좋은것 같네요. 둘다 매력있어서 동시에 사용해볼려고 합니다. 도와주셔서 이렇게 좋은 기능 사용합니다.^^ 감사합니다.

          25. Jan 2017 at 5:23 오후 응답
          • suhyeoni

            다행이네요! 설치해야 할 과정이 많아서 어렵지 않을지 걱정했는데요!
            말씀하신 것처럼 도커의 경우 실시간 반영이 안되더군요! DB 업데이트 시 컨테이너를 다시 실행하셔야 합니다! NAS 쓰시면서 재밌는거 있으시거나 궁금한 거 있으시면 언제든 연락주세요!

            새해 복 많이 받으세요!!

            26. Jan 2017 at 2:12 오후
  • SKH

    글 감사합니다.
    한가지 여쭙고 싶은게 있습니다.
    Calibre Web이나 Bicbucstrim이나 모두 외부에서 연결이 가능한지요?
    아이패드의 3G망이나, 밖에서 wifi를 켜고 있을 때 연결하는 부분입니다.
    NAS IP를 사용하면 집에서 밖에 안되는 거 아닌가 해서요.
    제게는 그런 문제가 있습니다. ㅠ

    16. Apr 2017 at 11:13 오후 응답
  • dohyuny

    안녕하세요~
    제가 칼리브레 웹까지 설치했는데
    설명에서 http:나스주소:881/feed 로 설정하라고 하셨는데

    http:나스주소:881/feed 이 주소를 찾을수 없다고 나오네요
    feed를 빼면 데스크탑에서 보는 화면으로 접속을 하구요

    뭐가 잘못 되었을까요

    15. Sep 2017 at 1:34 오후 응답
  • pang

    CALIBRE WEB을 구축 중에 마지막 단계에서

    마지막h ttp://ip:881 화면이config 설정화면이 나오는데

    환경설정을 어떻게 해야 하나요?

    admin 이나 관리자 패스워드를 입력하는 곳은 없는데

    그것도 궁금하고요. 메일로 화면 캡쳐 보냈습니다.

    초보자에게 도움 좀 주세요.

    15. Oct 2017 at 11:56 오후 응답
    • suhyeoni

      답변이 늦었습니다. 요즘 직장 생활로 바빠서요.

      우선 feed가 붙는 주소는 ODPS 주소로, 여타의 이북 리더 앱에서 칼리브레 웹 서버와 연결할 수 있는 주소입니다.
      따라서 일반 웹브라우저 접속해 사용할 때 쓰는 주소가 아닙니다.

      config는 제가 지금 정확히 기억나지 않는데, 보내주신 스샷 외에도 설정 메뉴가 있을 겁니다.
      로그인 후 상단 admin 계정 이름이 나오는 곳 등을 찾아보시기 바랍니다.

      칼리브레 웹이 사용법이 많이 난해하거나 기능이 그리 많지는 않아 아마 어렵지 않게 찾으실 수 있을 겁니다.

      감샇바니다.

      19. Oct 2017 at 12:48 오전 응답

Post a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.