QNAPのNASでPDFビューワ(Komga)を動かす
概要
QNAPのNASを買ったんですが、どうやらDockerが動くらしい。
AppleのBooks的な、オンプレで建てられるいい感じのPDFビューワをChatGPTに聞いたらKomgaというのを教えてくれました。

最終的にはこんな感じ。Webアプリケーションなのでスマホからでも見れる。
参考
実行環境
| NAS種別 | 使用アプリケーション | 
|---|---|
| QNAP TS-133 | Container Station | 
いっちゃん安いエントリーモデルのやつ。
Container Stationが動く新しめのQNAP製品なら同じように動くと思う。
設定手順
UID, GIDを確認する
デフォルトでSSHは無効になっているので、Qfinder Proなどを使って有効化する必要がある。
対象のNASを選択して、Connect via SSH を選択する。

これでアプリケーションからSSHできるのかと思ったら有効/無効を切り替えるだけっぽい。
有効化できたらWSLなりPuttyなりを使ってSSHする。
$ ssh {{ユーザ名}}@{{NASのIPアドレス}}
sshできたら下記のコマンドを実行すると、UID, GIDを確認できる。
最初に作ったユーザなら大体UID=1000, GID=100なんじゃないかな。
$ id {{ユーザ名}}
uid=1000({{ユーザ名}}) gid=100(everyone)
参考
config, data ディレクトリの作成
Container Stationをインストールしていると、/Container ディレクトリが作成されているはず。
/Container 配下に komga ディレクトリ, /Container/komga 配下に config, data ディレクトリを作成しておく。

Komgaアプリケーションを動かす

Container Station > アプリケーション > 作成 から下記のDocker-Compose設定を入れてコンテナを作成する。
各項目は必要に応じて変更する。
version: '3.8'
services:
  komga:
    image: gotson/komga
    container_name: komga
    volumes:
      - '/share/CE_CACHEDEV1_DATA/Container/komga/config:/config'
      - '/share/CE_CACHEDEV1_DATA/Container/komga/data:/data'
    ports:
      - 8282:25600
    user: "1000:100"
    restart: unless-stopped
Volumes
/share/CE_CACHEDEV1_DATA/Container/komga/config:/config
ホスト側ディレクトリ:コンテナ側ディレクトリ を記述する。
CE_CACHEDEV1_DATA は環境によって違うかも。もし失敗したらボリュームのマウントポイントを見ればよい。

Ports
8282:25600
ホスト側ポート:コンテナ側ポート を記述する。
25600はKomgaのデフォルトなので変えなくて良い。8282は自分がアクセスしたいポートにしておけばポートフォワードしてくれる。
User
"1000:100"
前述の UID:GID を記述する。
実行結果

暫く待つと http://{{NASのIPアドレス}}:8282 でアクセスできた。
初回アクセス時にアカウントを作ってなんやかんやする。
PDFを追加するときには /Container/komga/data に置いてWebアプリ側から参照すればよい。
お わ り
参考
Discussion