网站源码下载电子书-有声小说源码/付费小说网站源码带支付系统/开源小说网站源码完全手工采集

与普通有声读物来源相同 - 您可以从浏览器查看、添加、编辑和阅读书籍:

“无法创建路径 /books/(权限被拒绝)”错误

如果您今天尝试上传文件,可能会遇到以下错误:

无法创建路径 /books/Mark Menson/Tonkoe iskusstvo pofigizma_Paradoksal 'nyi sposob zhit' schastlivo(权限被拒绝)。

对我来说,这是一个预期的错误,因为 Cloud Storage 和有声读物源 Docker 容器 /data/cloud/app/data/setevoy/files/Books/CALIBRE/ 现在都在使用该目录。

查看 Audiofiction 源容器中的用户:

  $ docker exec -ti books ps | grep cali
  
  0:08 /usr/bin/python /calibre-web/app/cps.py

还有他的UID:

$ docker exec -ti books id calibre
uid=15000(calibre) gid=15000(calibre) groups=15000(calibre),15000(calibre)

主机上的本地目录属于:

$ ls -l /data/cloud/app/data/setevoy/files/Books/
total 4
drwxr-xr-x 117 www-data www-data 4096 Dec 16 09:32 CALIBRE

以及 www-data 用户的 UID:

  $ id www-data
  
  uid=33(www-data) gid=33(www-data) groups=33(www-data)

也就是说,有声小说源码使用的是calibreUID 15000的用户,但是主机上的NGINX和云存储容器都使用了www-dataUID 33的用户。

要解决此问题 - 在主机上创建一个 UID 15000 的新用户口径:

$ sudo useradd -u 15000 calibre
  
  $ id calibre
  
  uid=15000(calibre) gid=15000(calibre) groups=15000(calibre)

更改目录所有权:

  $ sudo chown -R calibre:calibre /data/cloud/app/data/setevoy/files/Books/CALIBRE/

网站源码下载电子书-有声小说源码/付费小说网站源码带支付系统/开源小说网站源码完全手工采集

重新启动口径:

  $ docker restart calibre-web
  
  calibre-web

现在检测上传 - 现在必须工作:

下一云PUT403

但现在云存储已损坏 - 在桌面客户端上,我在同步期间收到 403 错误,如下所示:

172.29.0.2 – setevoy [16/Dec/2019:13:22:24 +0000] “PUT /remote.php/dav/files/setevoy/Books/CALIBRE/Pol'%20Diubua/MySQL%20(68)/cover .jpg HTTP/1.1” 403 759 “-” “Mozilla/5.0 (Linux) mirall/2.6.1git”

要解决此问题,请将之前创建的 calibre 用户添加到 www-data 组:

    $ usermod -a -G www-data calibre
  
  Check his groups now:

网站源码下载电子书-有声小说源码/付费小说网站源码带支付系统/开源小说网站源码完全手工采集

现在看看他的小组:

 $ id calibre
  
  uid=15000(calibre) gid=15000(calibre) groups=15000(calibre),33(www-data)

递归修改所有权 - 授予 www-data 和 calibre 用户对 www-data 组成员的完全权限(例如 g):

 $ find /data/cloud/app/data/setevoy/files/Books/CALIBRE/ -type d -exec chmod g+rwx {} +

并修改所有者:

 $ chown -R calibre:www-data /data/cloud/app/data/setevoy/files/Books/CA

此操作已完成,同步正在进行中。

Docker 合成

要实现数据持久化,我们首先要找到数据在容器中存储的位置,例如应用程序的数据库及其所有设置。

您可以阅读文档,或连接到容器:

$ docker exec -ti calibre-web bash
Find all _*.db_ files:
bash-4.4# find / -name "*.db"
/calibre-web/app/app.db
/calibre-web/app/gdrive.db
...

在主机上为 Docker Compose 文件和应用程序数据创建目录:

  $ mkdir /opt/calibre-web/
  
  $ mkdir -p /data/calibre/app
  
  $ chown -R calibre:calibre /data/calibre/

在 /opt/audionovel-source/ 目录中创建 calibre-compose.yml 文件:

version: '3'
services:
  calibre-web:
    user: "root:root"
    image: technosoft2000/calibre-web
    container_name: calibre-web
    ports:
      - 8083:8083
    volumes:
      - /data/cloud/app/data/setevoy/files/Books/CALIBRE/:/books
      -  /data/calibre/app:/calibre-web/app/ 
      - /var/run/docker.sock:/tmp/docker.sock:ro
restart: unless-stopped

启动服务:

网站源码下载电子书-有声小说源码/付费小说网站源码带支付系统/开源小说网站源码完全手工采集

 $ docker-compose -f calibre-compose.yml up -d

Linux:systemdсервисдляDocker Compose 中描述了单元文件创建网站源码下载电子书,在本例中我添加了 /etc/systemd/system/cacalibre.service 文件:

[Unit]
Description=Calibre library service
Requires=docker.service
After=docker.service
[Service]
Restart=always
WorkingDirectory=/opt/calibre-web
ExecStart=/usr/local/bin/docker-compose -f calibre-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f calibre-compose.yml down
[Install]
WantedBy=multi-user.target

开箱即用的有声读物源码有两个主题——浅色主题网站源码下载电子书,默认为:

将metadata.db与云存储合并

这个问题与当前云存储作为存储的设置有关,因为它运行在我自己的服务器上,有时会离线,这可能会导致桌面上的数据不同步。

问题是,当您使用有声小说源从浏览器编辑书籍时,主 Calibre 文件(metadata.db)将在主机的文件系统上更新,但当它像服务器一样运行时,此修改不会触发本地云存储 该实例将此修改推送到其客户端,因为它不是客户端的一部分。

然后,如果您的有声读物源桌面配置为使用相同的云存储,并且您有一个与云存储桌面类似的桌面客户端,如果您将运行本地在线阅读桌面并对其库进行任何修改,这将影响您的metadata.db 文件,该文件会触发您的云存储客户端将此修改推送到云存储服务器,从而覆盖服务器上的修改。

因此,为了防止这些情况的发生,需要在使用云存储服务器之前自动同步桌面的在线阅读目录内容。

为此,只需发出以下命令:

$ cloudcmd --user setevoy -p PASSWORD /home/setevoy/cloud/Books/CALIBRE/ https://cloud.example.org.ua/Books/CALIBRE

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网站源码 网站源码下载电子书-有声小说源码/付费小说网站源码带支付系统/开源小说网站源码完全手工采集 https://www.wkzy.net/game/147210.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务