いけた…
Linuxチョットデキル方々には笑われそうだが管理者権限与えてdocker versionまで動作を確認した。
最終的なdocker-composeはこうなった
version: "3" services: cronicle: entrypoint: | sh -c " apk update && apk add docker-cli doas && echo 'permit nopass cronicle' | tee -a /etc/doas.conf && exec manager" image: elestio/cronicle:latest restart: always hostname: cronicle environment: - CRONICLE_manager=1 - CRONICLE_secret_key=[適当な文字列] ports: - "3012:3012" volumes: - /var/run/docker.sock:/var/run/docker.sock - /mnt/pool/dataset/cronicle/data:/opt/cronicle/data - /mnt/pool/dataset/cronicle/logs:/opt/cronicle/logs - /mnt/pool/dataset/cronicle/conf/config.json:/opt/cronicle/conf/config.json - /mnt/pool/dataset/cronicle/plugins:/opt/cronicle/plugins - /mnt/pool/dataset/cronicle/workloads/app:/app
これでdoas docker exec ~でコマンド打てるはず。多分。
ありがとうgemini先生とチャッピー君
・dockerコマンドを叩くためにdocker-cliを導入
・docker.sockにアクセスする権限を得る為にdoasを導入
・doas.confにcronicleユーザーを追加
・元々のentrypointのmanagerを実行
という流れ。
もっと真っ当な方法でdocker.sockにアクセスできるならそれがいいんだが…
ホスト側でUID:1000だかGID:1099だかでアクセスできるようにしてやればいいとは思う。
→試してみたけどdockerグループ*1にはユーザーを追加できないみたい。
*1:TrueNASのビルドイングループ