メインコンテンツへスキップ
見出し画像

【配布】Docker-compose WEBマネージャー作った~WEB画面で簡単にコンテナ管理~

    こんにちはRcatです。
    Docker Desktopって便利ですよね。PC全体でどのコンテナがどんな状況なのかすぐわかって、ログもみられる。

    しかしこれはメインマシンのWindows実験環境の話。サーバーのLinuxではそうはいきません。
    というわけでWEBで同じようなことができるのもを、ローカルバイブコーディングで作ってみましたので紹介します。

    画像

    はじめに

    利用規約

    情報や作品の活用時は事前に利用規約をご確認ください。


    コメントについて

    利用規約のガイドラインを確認の上コメントしてください。
    則っていないコメントは削除します。


    概要

    Dockerとは

    ここで説明していますが、簡単に言うとコンテナ型仮想環境を提供するツールです。
    仮想環境といってもゲストOSを持つわけではないので非常に軽量なのが特徴。

    コンテナとは、任意の一つのプログラムを実行するための専用仮想環境です。

    Docker composeとは

    複数のコンテナや各コンテナの詳細設定を記述したファイルで一括管理できるツールです。

    コンテナは一つでALLではなく役割ごとに分けるので、最終的なアプリケーションは複数コンテナになることが多いのですが、それらを一括で管理します。

    WEBだとこんな感じ。環境により全然違いますが。

    • オリジナルWEBサーバー

      • WEBアプリ本体

      • DB

      • WAF

    これらの設定をまとめてやってまとめて起動や停止ができるのがDocker compose


    Docker compose WEB マネージャーの紹介

    概要

    最初にも説明した通り、Docker Desktopの便利なUIに惹かれて作ったWEBアプリです。
    そのマシンで起動中のコンテナを確認したり操作できます。

    画像

    systemd版は、実はこんなの作ったんですが、Dockerにしちゃうとこっちで操作効かなくて困ってたんですよね。
    あと、Dockerの方が移植楽なので、systemdからDockerに今後はできる限り移行していくつもりです。

    ログイン

    最初はログインボタンしかないのでログインします

    画像

    初期ユーザーでログイン

    画像

    ボタンが増えますので一番下が本ツールとなります

    画像

    コンテナ一覧

    ログイン後に入れる一覧ページです。
    Docker Desktop同様にcomposeごとに分かれています。
    クリックすることで詳細へ移行

    画像

    コンテナ詳細

    詳細画面ではcomposeで管理されているコンテナの詳細を見ることができます。
    例えばこのコンテナの場合は、RooCode(ZooCode)のコードベースのためのバックエンドコンテナなので、ベクトルDBと埋め込みモデル用のllama-serverをホストしたコンテナグループです。

    画像

    上側の全体ボタンを押せばすべてのコンテナの一括操作が、各コンテナ横のボタンを押せば個別のコンテナの操作ができます。

    ちなみに停止させてみたのがこちら
    下側だけ止まってます

    画像

    Docker Desktopの方を見に行くとちゃんと同じコンテナが停止しています。

    画像

    コンテナログ

    個別コンテナのログボタンを押すと入れる画面です。
    オートリフレッシュを有効にすれば常に新しいログを見ることができます。
    これは埋め込みモードllama-serverのログですね。

    画像

    導入方法

    要件

    • 動作確認済みOS

      • Windows11

      • Ubuntu24.04 (Linux)

    導入方法

    最下部の配布リンクからRcat公式サイトを経てDLしてください。

    DL後、いろいろ入ってますが、Windowsはstart.batをLinuxはstart.shを指定して起動すればOK。
    まぁWindowsにはDockerDesktopがあるので使わないと思いますがw

    画像

    Linuxの場合はstart.shをsystemdに登録してしまうのが一番楽。

    設定

    ポート番号だけ変更できます。デフォルトは8080です。

    画像

    アクセス方法

    起動後、FWがブロックしていないのを確認の上、IPアドレスと設定したポートで接続。httpです。"s"じゃないので注意。

    例:

    http://192.168.0.2:8080

    ログイン

    初期はroot/rootで入れます。

    気になる方はパスワードを変更するか、dbinit.pyの中身を書き換えてDBを作り直してください。ユーザー定義は上の方にいます。


    まとめ

    いかがでしたか?
    今回はDocker Composeマネージャーを作成しました。
    これでVPNを使えば外出先からもコンテナを再起動できる!
    面倒なLLMが無限ループしたから再起動しなきゃいけない!というのが超楽になる。てかほぼそのために作りました。

    よろしければぜひお使いください
    それではまたお会いしましょう


    配布情報

    配布URL

    以下のURLより配布しています。
    利用規約に同意の上ご利用ください。

    https://script.google.com/macros/s/AKfycbxdcr8pnazR7RbjaSICTtaNWfN7h_rjQrKlZ3h9CZpPRFzRILk1OGc8mZqKbF-NXNO9/exec?name=Docker-Compose-Manager

    配布情報

    追加のキーワードについては下記より確認可能です


    リンク集

    【Linux】Systemd追加支援スクリプト

    ミニPCにLinuxをインストール

    特典

     
     
    モノづくりが趣味。 "売ってないなら自分で作ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワーク 全部やります。 記事執筆はAI不使用。 ご連絡や利用規約はプロフィール記事参照。

    あなたへのおすすめ