経緯
最近自宅のサーバのスペックが上がってCPUとかメモリとかかなり遊んでいるので自宅ホストのサービスを増やしちゃお、ってことでこれまでドキュメントスキャナでPDF化だけしてHDDに眠っていた書類たちをPaperless-ngxにまとめてみることにした。
Paperless-ngx使えなさそうでもHDD管理に戻るだけなのでひとまず試してみるということで構築
構成
今回もRHEL10のサーバを使ってPodman & docker-composeをsystemdで管理する構成で。
wallabagも同様だったので同じ仮想マシンで動かす構成。
外部公開はいつも通りCloudflare Tunnel&Access
追加設定
基本的には標準のcompose.ymlファイル構成で、追加の設定として
- NASをマウントしてmediaディレクトリとして使用する場合Sambaだと難しそう(Podmanのrootlessの運用と相性が悪い感じ)
NFSであれば問題ないのでNFSで - environmentに"PAPERLESS_CONSUMER_POLLING: 10"、"PAPERLESS_DATE_ORDER: YMD"あたりは設定しておく必要がありそう
PAPERLESS_DATE_ORDERは指定しないと日付の推測をdd/mm/yyyyでやってしまうので日本語と相性が相当に悪い - ログイン失敗のログを出力しようとすると"PAPERLESS_LOGGING"で色々設定しないとダメそう
という感じ。
Cloudflare Tunnelの設定注意点
アプリでServiceTokenで認可させようとする場合/api/*以下をServiceTokenで、/をIdPで認証させようとした場合色々うまくいかない。(/api/以下をwebアクセス時も使っているみたい)
なので、api用にサブドメインでアクセスできるようにしてWebアクセス用とAPIアクセス用でアクセスする名前を変えてWebアクセス用の名前のAccess設定をIdP、APIアクセス用の名前をServiceTokenで設定する。