tags: Leanote Server Tips
写在前面
这次来配置一个基于calibre电子书管理软件web镜像的电子图书馆, 因为自己本地的电子书太多了, 各个文件夹都有, 显得比较乱糟糟, 有了calibre-web, 这个问题就可以解决了, 主要参考了1.
预备知识
配置Linux server, 现在已经是轻车熟路了, 但是这次配置的calibre需要一个新的内容, docker. 之前虽然接触过一些, 但是还是不够熟悉, 下面的一步步配置也算是对docker基本命令做一个总结了.
先pull一下镜像, 稍后会用到.
docker pull linuxserver/calibre-web
服务器配置
端口配置
管理界面开启8083/TCP.
参考之前我设置的快捷命令, 直接一步到位:
addtcp 8083
reufw
映射目录
# 存放书
mkdir -p /data/calibre/books
# 配置
mkdir -p /data/calibre/config
上传calibre数据库文件
将本地主机上的calibre数据库文件
/Users/xxx/Calibre\ 书库/metadata.db
, 上传到Ubuntu服务器, 这里用到了
scp
命令:
scp ~/Calibre\ 书库/metadata.db root@<公网IP>:/data/caliber/books/
然后在Ubuntu的
/data/caliber/books
目录下就有了一个数据库文件
数据库可以为空, 即不记录任何书, 后期直接上传即可.
改一下权限:(不然传不上去)
chmod 777 /data/calibre/*
这样的话之后你上传的所有的书都会存放在这个目录的
books/
子目录下.
docker配置
这里还是比较简单的, 先创建镜像2:
docker run -d \
--name=calibre-web \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-p 8083:8083 \
-v /data/calibre/books:/books \
-v /data/calibre/config:/config \
--restart unless-stopped \
linuxserver/calibre-web
其中:
- 第一行是用docker的run命令(通过
选项开启后台守护态运行)运行容器.-d
- 指定别名.
- 为容器分配的用户ID
- 为容器分配的组ID
- 时区设置
- 端口转发规则:
, 之后访问外部(主机):内部(容器)
时候就可以访问到镜像.http://公网IP:8083
- 配置路径映射: books存放数据库和书,
格式.外部(服务器主机):内部(容器)
- 配置路径映射: config存放配置信息.
- 重启规则.
- 所用镜像的名称.
不过这样不好改, 还是用docker-compose的yaml配置文件好一些.
查看一下状态:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c9bcaf90acbb linuxserver/calibre-web "/init" 16 seconds ago Up 15 seconds 0.0.0.0:8083->8083/tcp, :::8083->8083/tcp calibre-web
这些搞定了之后, 不要着急打开浏览器, 先输入:
docker logs calibre-web
查看一下配置的情况, 如果出现了下面的字样才算是成功配置了:(主要是最后一行)
[custom-init] No custom services found, skipping...
[migrations] started
[migrations] no migrations found
-------------------------------------
_ ()
| | ___ _ __
| | / __| | | / \
| | \__ \ | | | () |
|_| |___/ |_| \__/
Brought to you by linuxserver.io
-------------------------------------
To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------
User uid: 1000
User gid: 1000
-------------------------------------
[custom-init] No custom files found, skipping...
[ls.io-init] done.
web端配置
输入
<公网IP>:8083
进入webUI, 其中
用户名:admin
密 码:admin123
改一下密码和UI语言(中文)(admin’s profile), 以及上传设置(管理权限->编辑基本配置->基本配置->启动上传->保存).
一些可能的问题与解决
权限问题
chmod 777 /data/calibre/books/*
chmod 777 /data/calibre/config/*
然后
docker restart calibre-web
忘记密码怎么办
邮箱并不会给你发密码, 考虑issue的办法:3.
docker exec -it calibre-web bash
cd /app/calibre-web
python3 cps.py -s admin:admin123
# Password for user 'admin' changed
小坑
文章1里面说的内容我配置过, 但是成功率很低…
ref
- 【玩转腾讯云】使用轻量应用服务器和calibre-web搭建个人在线图书馆 - 腾讯云开发者社区-腾讯云 (tencent.com); ↩︎ ↩︎
- linuxserver/calibre-web - Docker Image | Docker Hub; ↩︎ ↩︎
- 如何重置密码 ·问题 #750 ·janeczku/calibre-web (github.com); ↩︎