プロジェクト

全般

プロフィール

機能 #691

未完了

LXC 上の Docker で動かしているものを脱 Docker する

nop_thread さんが11日前に追加. 2日前に更新.

ステータス:
新規
優先度:
通常
担当者:
開始日:
期日:
進捗率:

0%

一時中断:
いいえ
pinned:
いいえ
リマインド予定日:
前回確認日:
2025/03/23
管理外残件あり:

説明

node.js とかだとつらいが、 Python と Rails くらいなら脱 Docker できる気がする。


関連するチケット 1 (1件未完了0件完了)

関連している 鯖缶 - 機能 #411: Nextcloud で脱 TurnKey Linux新規nop_thread

操作

nop_thread さんが11日前に更新

脱 Docker の動機は、以下のようなこと。

  • 外部サービスへの依存を減らしたい
    • docker.io のレート制限などを考えたくない
    • Docker 用キャッシュサーバ (CNCF distribution) も用意してあるが、そもそもそういったサービスに依存しないに越したことはない
  • そもそも Docker や類似のものを使いたくない
    • 肥大化した /var/lib/docker と向き合うのが面倒
    • いつまでも LRU でのキャッシュ削除が実装されない docker system pruneコマンド
    • LXC で既に仮想化しているので、オーバーヘッドつきの余分なレイヤーになっている

現状で Docker を使って嬉しいことといえば、 compose.yml で宣言的に構成を記述できる (つまり ansible でそこまで頑張る必要がない) ことと、アプリによっては必要になるマイグレーション手順などが自動化されていること、あとはインストール作業が楽なくらい。
逆に言えば、インストールがどうにかなって、マイグレーションもどうにかなって、 ansible で頑張る気があるなら、 Docker は必要ない。
インストールは最悪手動でもいいし (限度はあるが)、アップグレードとマイグレーション次第か。

nop_thread さんが11日前に更新

node.js などは Debian の公式リポジトリでは古すぎたりして手動でサードパーティリポジトリを追加して yarn を云々などする必要があることが多い (しかも署名鍵まわりでちょくちょくトラブルがある) のがあまりにダルいので、できるだけ避けたいし Docker 内に封じ込めておきたい。
あんなもの自分で管理していられるか。

nop_thread さんが11日前に更新

Upgrading NetBox - NetBox OSS

NetBox あたりは Git で管理されていて upgrade.sh があって Python で、といった感じのようなのでいけそう。
Redis も valkey:8.0-alpine になっているので bookworm-backports の 8.0.1+dfsg1-1~bpo12+1 とかにできればたぶんいける。

nop_thread さんが11日前に更新

  • 関連している 機能 #411: Nextcloud で脱 TurnKey Linux を追加

nop_thread さんが11日前に更新 · 編集済み

現状 kagamidai で Docker のもの:

  • ByteStash
    • npm run build などするビルドステージがあり、アップデート時に余分なリソースが必要かもしれない。
    • npm ci とか node くらいしか使っていないので、動かすことはできそう。
  • linkding
    • latest-plus タグのイメージに入っている、 HTML スナップショットをとるための Chromium まわりの依存が面倒そう
    • Dockerfile を覗いたところ、 node.js で何かしている様子。面倒そう
  • Mattermost
    • Mattermost omnibus を試したことがあったが失敗したため、仕方なく Docker を使っている
  • Monica
    • 5.x は PHP 製のようなのだが、 yarn.lock などが存在しており不穏。面倒かも
    • コンテナが結構多い
  • NetBox
    • いけそうな気がしている
  • NocoDB
  • Paperless-ngx
    • 依存を揃えるのがかなり面倒そうな印象があった
    • 不可能ではないだろうが……
  • PdfDing
    • Python と node.js を使っていそう (node.js はアセットビルドだけ? 詳細不明)
  • Ryot
    • yarn.lock があった
  • Shlink
    • 可能らしいが、 php-fpm ではパフォーマンスがめちゃくちゃ悪いから RoadRunner を使うといいぞ的なことが書かれており (Supported runtimes)、その辺りで悩むのも面倒なので recommended な構成がそのまま使えるらしい Docker を選択したという経緯がある

このなかで手を出せそうなものは、 ByteStash, NetBox, NocoDB くらいか。

nop_thread さんが2日前に更新

  • pinnedはい から いいえ に変更

他の形式にエクスポート: Atom PDF