Calibre-Web on TS-220

抗えない Python3 への移行
web
qnap
ts220
calibreweb
python
公開

2021年6月30日

1 概要

TS-220 バージョン 4.3.3.1677 (2021/06/08) 上で Calibre-Web を動作させる.すべての操作は QNAP で言うところの admin ユーザで行う.

2 Entware-std のインストール

※作業はクライアント側からブラウザ経由

  1. AppCenter にリポジトリを追加 [設定] - [アプリリポジトリ] より https://www.qnapclub.eu/en/repo.xml を追加.

  2. qnapclub.eu から Entware-std をインストール Entware-std 1.03 ※ Python3 系のみ

3 共有フォルダの作成

※作業はクライアント側からブラウザ経由

[コントロールパネル] - [共有フォルダ] より Calibre-Web を作成.

[自動的にパスを指定] で /share/MD0_DATA/Calibre-Web に生成される.

レイアウトは下記を想定.

Calibre-Web
├── .venv
└── Calibre Library

4 パッケージのインストール

※作業はクライアント側から SSH 経由

4.1 gcc

opkg install gcc

不要かも知れない.

4.2 python 関連

opkg install python3-dev
opkg install python3-pip

5 Python 仮想環境の作成

※作業はクライアント側から SSH 経由

システムの Python 環境に影響しないよう仮想環境を作成する.

5.1 1. 作業ディレクトリに移動

cd /share/MD0_DATA/Calibre-Web

5.2 2. 仮想環境を作成

python -m venv .venv --without-pip

--without-pip を省くとエラーが発生する.

5.3 3. 仮想環境をアクティブに

source .venv/bin/activate

5.4 4. 仮想環境の確認

which python
which pip

pip が仮想環境下にないことを確認.

5.5 5. pip をインストール

curl -O https://bootstrap.pypa.io/get-pip.py
python get-pip.py

5.6 6. 仮想環境を非アクティブ → アクティブに

deactivate
source .venv/bin/activate

5.7 7. 仮想環境の再確認

which python
which pip

pip が仮想環境下にあることを確認.

※ pip の位置が仮想環境下にない場合,pip install が意図しない動作になるので注意.

6 Calibre-Web のインストール

※作業はクライアント側から SSH 経由

6.1 1. インストール

仮想環境がアクティブになっていることを確認し

pip install calibreweb

途中 /root/.cache の容量を圧迫しシステムが不安定になるかも知れない.その場合 /root/.cache 以下を削除.

6.2 2. 確認

which cps

/share/MD0_DATA/Calibre-Web/.venv/bin/cps

この時点で Calibre-Web は起動可能.

7 Calibre Library の配置

※作業はクライアント側から FTP や同期アプリ経由

/share/MD0_DATA/Calibre-Web/Calibre Library に配置.

8 自動起動の設定

※作業はクライアント側から SSH 経由

8.1 1. autorun.sh の作成

/share/MD0_DATA/.qpkg/autorun/autorun.sh を作成.

autorun.sh
#!/bin/sh
/share/MD0_DATA/Calibre-Web/.venv/bin/cps

8.2 2. qpkg.conf の編集

/etc/config/qpkg.conf に [Autorun] ブロックを追加.

qpkg.conf
[Autorun]
Name = Autorun
Version = 0.1
Author = hasenpfote
QPKG_FILE = Autorun.qpkg
Date = 2021-06-30
Shell = /share/MD0_DATA/.qpkg/autorun/autorun.sh
Install_Path = /share/MD0_DATA/.qpkg/autorun
Enable = TRUE

9 Calibre-Web の動作確認

※作業はクライアント側からブラウザ経由

  1. http://<NASのアドレス>:8083 へアクセス
  2. Location of Calibre Database /share/MD0_DATA/Calibre-Web/Calibre Library
  3. ログイン(デフォルト) admin / admin123

※ DBを更新した場合,[Admin] - [Administration] - [Restart] などで反映.

10 その他

10.1 作業コマンド

10.1.1 pip 全消去

pip freeze > piplist.txt
pip uninstall -y -r piplist.txt

10.1.2 opkg 確認

opkg list-installed

10.1.3 opkg アンインストール

opkg remove <package> –force-removal-of-dependent-packages

10.2 特定のユーザで操作を行う

もしも特定のユーザで操作を行うなら…

※ opkg で sudo コマンドをインストールしないこと

10.2.1 1. sudoers の編集

/usr/etc/sudoers直接編集

例えば特定グループ(administrators)に適用する場合は次の行を追加.

sudoers
%administrators ALL=(ALL) ALL

特定グループ所属のユーザがコマンドを実行すると,そのユーザのパスワードを入力する形式になる.

10.2.2 2. profile の編集

~/.profile に次の行を追加.

.profile
export PATH=/opt/bin:$PATH

11 参考

トップに戻る