分类目录归档:NAS

Network Attached Storage 个人私有云

Synology NAS中的Calibre-Web安装配置

Synology NAS中的Calibre-Web安装配置

Calibre是一个电子书管理软件,分别支持Windows、MacOS、Web等,这里介绍如何在Synology的Docker中配置Calibre-Web的Docker镜像。

在Synology NAS的Docker中部署Calibre-Web镜像

  1. 拉取Calibre-Web镜像

    • 打开群辉Docker,点击注册表,搜索linuxserver/calibre-web镜像,右单击并下载
    • 下载完镜像后,在容器中点击新增,选择linuxserver/calibre-web
  2. 配置Calibre-Web镜像

    • 按照如下配置设置linuxserver/calibre-web运行
      可以将下列内容创建成Calibre-Web.json文件,通过容器中的操作按钮导入配置文件

      {
      "CapAdd" : [],
      "CapDrop" : [],
      "cmd" : "",
      "cpu_priority" : 50,
      "enable_publish_all_ports" : false,
      "enable_restart_policy" : true,
      "enable_service_portal" : null,
      "enabled" : true,
      "env_variables" : [
      {
       "key" : "PATH",
       "value" : "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
      },
      {
       "key" : "HOME",
       "value" : "/root"
      },
      {
       "key" : "LANGUAGE",
       "value" : "en_US.UTF-8"
      },
      {
       "key" : "LANG",
       "value" : "en_US.UTF-8"
      },
      {
       "key" : "TERM",
       "value" : "xterm"
      },
      {
       "key" : "S6_CMD_WAIT_FOR_SERVICES_MAXTIME",
       "value" : "0"
      },
      {
       "key" : "S6_VERBOSITY",
       "value" : "1"
      },
      {
       "key" : "S6_STAGE2_HOOK",
       "value" : "/docker-mods"
      },
      {
       "key" : "TZ",
       "value" : "Asia/Shanghai"
      },
      {
       "key" : "OAUTHLIB_RELAX_TOKEN_SCOPE", #可选
       "value" : "1"
      },
      {
       "key" : "PUID",
       "value" : "1000"
      },
      {
       "key" : "PGID",
       "value" : "1000"
      },
      {
       "key" : "DOCKER_MODS",
       "value" : "linuxserver/mods:universal-calibre" #可选,设置后可以开启Ebook converter,可以配置书籍格式转换功能
      }
      ],
      "exporting" : false,
      "id" : "10567f8f382f86e9e8d6b306395d5212d3ddc87e08597a5429023d8206de447b",
      "image" : "linuxserver/calibre-web:latest",
      "is_ddsm" : false,
      "is_package" : false,
      "links" : [],
      "memory_limit" : 0,
      "name" : "Calibre-Web",
      "network" : [
      {
       "driver" : "host",
       "name" : "host"
      }
      ],
      "network_mode" : "host",
      "port_bindings" : [],
      "privileged" : true,
      "shortcut" : {
      "enable_shortcut" : false,
      "enable_status_page" : false,
      "enable_web_page" : false,
      "web_page_url" : ""
      },
      "use_host_network" : true,
      "volume_bindings" : [
      {
       "host_volume_file" : "/docker/docker_config/calibre-web/config", 需要NAS本地创建该路径
       "mount_point" : "/config",
       "type" : "rw"
      },
      {
       "host_volume_file" : "/docker/docker_config/calibre-web/metadata_provider", #需要NAS本地创建该路径,配置完后,可以通过外部增加获取书籍内容的api
       "mount_point" : "/app/calibre-web/cps/metadata_provider",
       "type" : "rw"
      },
      {
       "host_volume_file" : "/eBooks/books", #需要NAS本地创建该路径
       "mount_point" : "/books",
       "type" : "rw"
      },
      {
       "host_volume_file" : "/docker/docker_config/calibre-web/temp", #需要NAS本地创建该路径,升级的数据需要预先下载到此处
       "mount_point" : "/tmp",
       "type" : "rw"
      }
      ]
      }
  3. 运行Calibre-Web镜像

    • 点击Docker的运行并在calibre-web镜像中的log中观察错误,如果遇到错误,首先应检查相关文件夹的权限设置是否正确

      可能出现问题的地方有tmp路径(/docker/docker_config/calibre-web/temp),一般需要将NAS本地temp目录的权限设置为Everyone具有读写功能
      可通过FileStation修改目录权限

Calibre-Web配置

  1. 数据库配置

    • 数据库文件配置,事先需要将一个空的书籍数据库文件放到NAS本地/eBooks/books路径下,该数据库文件可以使用Windows/MacOS版本的应用程序自行创建,文件名默认为metadata.db
      Calibre for Windows:https://calibre-ebook.com/download_windows
      Calibre for MacOS:https://calibre-ebook.com/download_osx

      如果出现配置数据库文件后出现readonly错误,需要通过Docker中的控制台去修改metadata.db的用户权限,只需要修改成跟其他产生的文件的一样即可。

    • 访问http://NAS_IP:8083/,默认用户名admin,密码admin123 (可根据需要修改)

    • 在跳出来的数据库设置中,配置成/books,并保存,也可以在权限管理中,找到编辑Calibre 数据库配置中修改

    • 在权限管理中找到编辑基本配置,修改如下内容

      基本配置->功能配置->启用上传(请确保用户也有上传权限) = 勾选
      基本配置->扩展程序配置
      ->Calibre 电子书转换器路径 = /usr/bin/ebook-convert
      ->KEpubify 电子书转换器路径 = /usr/bin/kepubify
      ->Unrar程序路径 = /usr/bin/unrar
      #保存
  2. 在线阅读配置

    权限管理->用户列表->点击xxxx用户名->编辑用户xxxx->允许在线阅读 = 勾选
    #保存

参考资料

  1. Calibre项目官网:https://calibre-ebook.com
  2. Calibre-Web项目主页:https://github.com/janeczku/calibre-web
  3. linuxserver/calibre-web项目主页:https://github.com/linuxserver/docker-calibre-web

如何安装Aria2到WD MyCloud Gen1 FW4.0

如何安装Aria2到WD MyCloud Gen1 FW4.0

WD MyCloud FW4.0 – WDMyCloud v04.06.00-111 : Core F/W

Aria2是个离线下载软件,可以安装在路由器或者树梅派,NAS上也可以的,由于是轻量级的软件,没有UI界面,可以通过shell发命令下载,当然你也可以通过下载网页版界面去控制和管理。
Aria2控制界面你可以安装在路由器或WDMyCloud里面,或者本地机器,配置界面主要是做下载文件的入口,并不会需要一直开启,这里会介绍控制界面安装在WD MyCloud内和Merlin Router内。

关于FW4.0源的问题

由于FW4更新后,里面自带的源无法使用,看了些资料说是安装包需要64K对齐才可以安装,这样的话你就需要重新编译成特定的格式才可以,这是比较麻烦的,不过好在网上已经有朋友编译好了一些可以直接安装在WD MyCloud上的软件包,我们更换源地址就可以通过apt-get install去安装了。

开启WD MyCloud SSH

通过浏览器进入WD MyCloud界面后,进入->设置->网络->网络服务->SSH=开,默认用户名:root、密码welc0me,第一次SSH登陆后会需要修改密码。

WDMyCloud:~#nano /etc/apt/sources.list
  #deb http://ftp.us.debian.org/debian/ jessie main
  ## Note, wheezy is not 64K page aligned.  
  ##deb http://ftp.us.debian.org/debian/ wheezy main
  #deb http://ftp.us.debian.org/debian/ sid main
  #deb http://ftp.us.debian.org/debian/ experimental main
  #deb-src http://ftp.us.debian.org/debian/ jessie main

  ## Note, It is from mobibrw.com
  deb http://www.mobibrw.com/deb/wdmycloud/4.0/wheezy wheezy main
  deb http://www.mobibrw.com/deb/wdmycloud/4.0/jessie jessie main
# 保存退出
WDMyCloud:~#apt-get update # 更新安装包清单

Aria2

  1. 安装
    WDMyCloud:~#apt-get install aria2
  2. 配置
    WDMyCloud:~#mkdir /etc/aria2
    WDMyCloud:~#nano /etc/aria2/aria2.conf
    # aria2.conf 可以通过网上自行获取,各大论坛都有
    # 需要自己配置好下载保存的路径,例如如下配置
    dir=/DataVolume/shares/Public/Downloads
    input-file=/etc/aria2/aria2.session
    log=/etc/aria2/aria2.log
    rpc-listen-port=6800 # RPC监听端口, 端口被占用时可以修改, 默认:6800
    rpc-secret=password # 设置的RPC授权令牌, v1.18.4新增功能
    # 保存退出
  3. 创建自启动脚本
    #将aria2的deamon文件拷贝到/etc/aria2/目录下
    WDMyCloud:~#cp aria2 /etc/aria2/
    WDMyCloud:~#nano /etc/init.d/aria2 #可参照/etc/init.d/vsftpd和KireinaHoro aria2 deamon文件进行修改
    ......
    DAEMON=/usr/bin/aria2c
    CONF=/etc/aria2.conf
    ......
    # 保存退出
    WDMyCloud:~#chmod 755 /etc/init.d/aria2
    WDMyCloud:~#chown root:root /etc/init.d/aria2
    WDMyCloud:~#nano aria2.session #敲个空格,保存退出
    WDMyCloud:~#nano aria2.log #敲个空格,保存退出
    WDMyCloud:~#cd /etc/init.d/
    WDMyCloud:~#update-rc.d aria2 defaults #将aria2设置为开机自启动
    WDMyCloud:~#reboot

Aria2 控制界面UI

  1. 常见的界面
    YAAW – https://github.com/binux/yaaw
    AriaNG – https://github.com/mayswind/AriaNg
    webui-aria2 – https://github.com/ziahamza/webui-aria2

    以上三种界面可自选一种,这里以webui-aria2为例子,因为部署简单,不需要额外安装其他的软件包

  2. UI安装在WD MyCloud内

    WDMyCloud:~#git clone https://github.com/binux/yaaw.git
    # 将获取的yaaw文件夹拷贝到/var下面
    WDMyCloud:~#cp -r yaaw /var/
    WDMyCloud:~#nano /etc/apache2/ports.conf
    ......
    #new for yaaw-aria2-ui
    Listen 8888 #监听8888端口
    ......
    # 保存退出
    WDMyCloud:~#nano /etc/apache2/conf.d/ara2-ui-yaaw.conf
    # new for Aria UI
    # 新增8888端口虚拟主机配置文件,一定要在conf.d目录下存放
    <VirtualHost *:8888>
        ServerAdmin webmaster@localhost
        ServerName localhost
        DocumentRoot /var/yaaw
    
        LogLevel warn
    
        <Directory /var/yaaw>
            DirectoryIndex index.php index.html index.htm
            Options -Indexes +FollowSymLinks +MultiViews  
            AllowOverride All
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/yaaw_error.log
        CustomLog ${APACHE_LOG_DIR}/yaaw_access.log combined
    
    </VirtualHost>
    # 保存退出
    WDMyCloud:~#nano apache2ctl configtest
    # 如返回配置文件OK,则重启apache2服务
    WDMyCloud:~#nano /etc/init.d/apache2 restart
    # 如返回启动OK,通过浏览器访问http://wdmycloud_ip:8888/
    #
    # JSON-RPC Path = http://token:password@wdmycloud_ip:6800/jsonrpc password为/etc/aria2/aria2.conf中定义的rpc-secret的内容,点击保存,页面会刷新,rpc连接正常后就可以开始下载了
  3. UI安装在Merlin Router内

    root@MerlinRouter:/#amtm #安装entware环境
    root@MerlinRouter:/#opkg update
    root@MerlinRouter:/#opkg install ca-bundle ca-certificates lighttpd lighttpd-mod-fastcgi php7-fastcgi
    root@MerlinRouter:/#cd /opt/share/
    root@MerlinRouter:/#mkdir www
    root@MerlinRouter:/#cd www
    root@MerlinRouter:/#wget -c -O ariang.zip https://github.com/mayswind/AriaNg/releases/download/1.2.5/AriaNg-1.2.5-AllInOne.zip --no-check-certificate
    root@MerlinRouter:/#mkdir ariang
    root@MerlinRouter:/#unzip ariang.zip -d ariang/
    root@MerlinRouter:/#rm ariang.zip
  4. 配置lighthttpd和php

    root@MerlinRouter:/#nano /opt/etc/lighttpd/lighttpd.conf
    server.port                 = 81
    server.upload-dirs          = ( "/opt/tmp" )
    # 保存退出
    root@MerlinRouter:/#nano /
    ......
    server.modules += ( "mod_fastcgi" )
    ......
    # 保存退出
    root@MerlinRouter:/#reboot
  5. 连接Aria2

    • Merlin Router AriaNG
      a.打开 http://wdmycloud_ip:81/
      b.AriaNG设置->RPC,地址配置中输入Aria2服务器地址,协议选择http,端口设置跟你的aria.conf中定义的一样,密钥设置成跟你的aria.conf中定义的一样
      c.页面出现重新加载的提示,点击一下,如果Aria2状态变成已连接,说明都已经通了。
    • WDMyCloud + Yaaw
      a.打开 http://RouterIP:81/
      b.点击设置,输入http://token:password@wdmycloud_ip:6800/jsonrpc password为/etc/aria2/aria2.conf中定义的rpc-secret的内容,点击保存,页面会刷新,rpc连接正常后就可以开始下载了

参考资料