在服务器上安装 calibre-web

2 minute read

起因是上班摸鱼想看书,但是公司电脑不方便安装 Kindle,就想着装个 calibre-web,方便直接开网页看书。

我的需求只有看书,不需要转换,就没有安装 calibre。我使用 Docker 安装配置,过程非常简单,最后又到了 Nginx 反代失败环节,前前后后折腾了好几次才成功。

安装 Docker & Docker-Compose

  1. 安装 Docker
1bash <(curl -L -s https://get.docker.com)
  1. 安装 Docker-Compose
1curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2
3chmod +x /usr/local/bin/docker-compose

安装 calibre-web

  1. 创建文件夹
1mkdir calibre-web
2cd calibre-web
3mkdir library
  1. docker-compose 配置
 1---
 2version: "2.1"
 3services:
 4    calibre-web:
 5        image: lscr.io/linuxserver/calibre-web:latest
 6        container_name: calibre-web
 7        environment:
 8            - PUID=1000
 9            - PGID=1000
10            - TZ=Asia/Shanghai
11            - DOCKER_MODS=linuxserver/mods:universal-calibre #optional
12            - OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional
13        volumes:
14            - /path/to/data:/config
15            - /path/to/calibre/library:/books
16        ports:
17            - 8083:8083
18        restart: unless-stopped
  1. 启动容器
1docker-compose up -d
  1. library 文件夹添加读写权限
1chmod -R 777 library

Nginx 配置

不知道为什么每次都在反代出问题,研究了一下最后还是决定把它设置成 TiddlyWiki 的一个页面,不用自己再写配置文档,直接复制官方给的配置就好了。

 1server {
 2    client_max_body_size 20M;
 3    location /calibre-web {
 4        proxy_bind              $server_addr;
 5        proxy_pass              http://127.0.0.1:8083;
 6        proxy_set_header        Host            $http_host;
 7        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
 8        proxy_set_header        X-Scheme        $scheme;
 9        proxy_set_header        X-Script-Name   /calibre-web;  # IMPORTANT: path has NO trailing slash 
10    }
11}

初始配置

  1. 上传一份空白的 metadata 文件到 calibre-web/library 文件夹下

  2. 访问 calibre-web 站点,默认账号为:admin,密码:admin123

  3. 初始化 Database,以及杂七杂八的配置