コミュニティソリューション

Docker ComposeでZimaOSにBamBuddyをインストールする

A ZimaOS user wanted to run BamBuddy for Bambu Lab printer management but could not find a dedicated App Store package.

BamBuddyは組み込みのApp Storeパッケージではありませんが、Docker Composeを通じてZimaOS上で動作します。アップストリームのビルド済みイメージを使用し、/app/data/app/logsフォルダーを永続化してください。Bambuプリンターを自動検出したい場合は、Linuxホストネットワークを使用します。

元のスレッドには解決策がありませんでしたが、現在はBamBuddyが保守されたDockerワークフローを公開しています。ZimaOSはカスタムComposeアプリに対応しているため、ホストOSを変更したり、開発目的でない限りBamBuddyをソースからビルドしたりする必要はありません。

アップストリームのDockerイメージを使用する

現在のBamBuddy Dockerガイドでは、最も簡単なデプロイ方法としてDockerを推奨しています。

ZimaOS Composeの基本設定

services:
  bambuddy:
    image: ghcr.io/maziggy/bambuddy:latest
    container_name: bambuddy
    restart: unless-stopped
    network_mode: host
    environment:
      - TZ=YOUR_TIMEZONE
      - PUID=1000
      - PGID=1000
    volumes:
      - /DATA/AppData/bambuddy/data:/app/data
      - /DATA/AppData/bambuddy/logs:/app/logs

起動後、http://ZIMA-IP:8000を開きます。

ホストネットワークが重要な理由

BamBuddyはBambuプリンターのローカルネットワーク検出を使用します。通常のブリッジネットワークでは、想定されるSSDP検出トラフィックを安定して受信できないため、アップストリームのCompose設定ではLinux上でnetwork_mode: hostを使用しています。

プリンターは手動で追加することもできます

検出でプリンターが見つからない場合は、LAN IPで追加してください。プリンターとZimaOSが相互に通信できるネットワーク上にあり、プリンターで必要なローカル/開発者モードが有効になっていることを確認します。

更新前にデータを永続化する

BamBuddyは、データベース、アーカイブ、運用データを設定したデータディレクトリに保存します。これらのパスは、破棄されるコンテナレイヤーの外部に保持してください。

Dockerデプロイメントを更新する

docker compose pull
docker compose up -d

アップストリームプロジェクトではセキュリティ関連の更新も配信されているため、イメージを最新に保ち、大きな変更を行う前にアプリケーションをバックアップしてください。

ポート8000をインターネットに直接公開しない

BamBuddyはLAN内で使用するか、認証付きHTTPSまたはプライベートなリモートアクセスの背後に置いてください。プリンター管理インターフェースを安易にポートフォワーディングしないでください。

カスタムDockerガイドでは、一般的なカスタムアプリモデルを説明しています。

プリンターを追加する前にコンテナを確認する

docker ps | grep bambuddy
docker logs --tail 100 bambuddy

プリンター検出をトラブルシューティングする前に、Webサービスがポート8000で正常に起動していることを確認します。ダッシュボード自体が開かない場合、問題はまだプリンターネットワークにはありません。

更新前にBamBuddyのデータベースをバックアップする

アップストリームプロジェクトには独自のバックアップ機能があります。大きなイメージ変更の前に使用し、永続データディレクトリのコピーも保持してください。コンテナイメージはいつでも再取得できますが、印刷履歴とローカルデータベースは再取得できません。

ホストネットワークではコンテナのネットワーク到達範囲が広がる

ホストモードではZimaOSのネットワーク名前空間を共有するため、アプリのポートを確認し、ソフトウェアを最新に保ってください。ここではプリンター検出のためにホストモードが適していますが、通常のブリッジネットワークよりネットワーク分離が弱くなります。

安定したプリンターIPを使用する

可能であれば、ルーターでプリンターのIPを予約してください。自動検出が現在機能していても、安定したアドレスがあれば、ルーターやプリンターの再起動後にカメラ、MQTT、手動再接続をトラブルシューティングしやすくなります。

FAQ

BamBuddyはZimaOS App Storeにありますか?

元のユーザーは専用パッケージを見つけられませんでした。カスタムDocker Composeを使用するのが簡単な方法です。

BamBuddyが使用するポートは何ですか?

デフォルトのWeb UIはポート8000です。

なぜホストネットワークを使用するのですか?

BamBuddyが必要とするLinuxコンテナの検出機能とプリンターネットワーク機能を有効にするためです。

ソースからビルドできますか?

はい。ただし、通常のデプロイではビルド済みイメージを使用するようアップストリームプロジェクトが推奨しています。