このプロジェクトについて

Shoggoth は、K3s 上で展開され、構成可能なドメイン(デフォルトは s.local)でアクセス可能な、コンテナ化されたサービスから組み立てられた、個人使用向けのセルフホスト型エージェント開発マルチツールである。このプロジェクトは、実験的で初期段階にあり、セキュリティは優先事項ではなく、Ubuntu/C++/Python スタックと IDE なしのコードファーストワークフロー向けに調整された、ローカルネットワーク用に設計されている。その目標は、コーディングエージェントがチームメンバーとして働き、割り当てられたタスクを実行し、コードレビューに参加する環境であり、すべてのコンポーネントはオープンソースで、セルフホスト可能で、同様のソフトウェアで置き換え可能である。README は、カンバン形式のエージェントコーディングツールと比較し、サードパーティコンポーネントの統合とより幅広い機能のカバーに重点を置いているが、エージェントワークフローは他の代替手段ほど進んでいないと述べている。 説明されているサービスグループ: ネットワーキング - Web 管理 UI 付きの WireGuard VPN サーバー、VPN 外部からの VPN UI への HTTPS アクセスを提供する Angie TLS 終端リバースプロキシ、ドメインエイリアシングと DNS ブラックリスト用の CoreDNS。 キャッシング - Debian/Ubuntu apt キャッシングプロキシ、プルスルーキャッシング付きの zot コンテナレジストリ、Python パッケージキャッシングプロキシ、ccache/sccache ビルドキャッシュ(後者は Angie で提供)。 開発 - Gitea スイート(Git サーバー、Git Pages 静的ホスティング、Actions ランナー)、Kestra ワークフローオーケストレーション、ttyd、tmux、Qwen Code ベースのインタラクティブな Web ターミナル付き Docker-in-Docker スレーブサービス、テスト結果ダッシュボード用の CDash。 プロジェクト管理 - Redmine サーバー。 LLM とコーディングエージェント - MCP ゲートウェイ付き LiteLLM プロキシ、LocalAI ローカルモデルサーバー、Gitea MCP サーバー、Basic Memory MCP サーバー。 観測機能 - LGTM スタックを使用した Grafana スイート:ログ用の Loki、トレース用の Tempo、メトリクス用の VictoriaMetrics、取り込み用の OpenTelemetry Collector パイプライン。 アイデンティティとシークレット - Web インターフェース付き OpenLDAP ディレクトリ、シークレット管理用の OpenBao。 アーキテクチャと運用:システムは、shoggoth/k3s フォルダー内の K3s マニフェスト、Makefile ターゲット(up、down、log、ssh、sync_restart)を介して公開された展開の遠隔制御用ユーティリティ、および設定ファイル生成、Docker キャッシングプロキシとレジストリの構成、/etc/hosts の更新、apt キャッシュ設定のインストール、API ゲートウェイトークンの取得を行うクライアントマシン上の実行用セットアップスクリプトで構成される。スレーブコンテナは、コンパイラと静的解析ツールを備えた ccws ビルド環境、Qwen Code ターミナルエージェント、shoggoth 専用ユーティリティを組み合わせ、純粋な CI/CD、コーディングやレビューなどの非対話型エージェントフロー、対話型開発を目的としている。 認証は、3 つのアカウント(ディレクトリ管理と Grafana 管理ログイン用の admin、サービスバインドアカウントの sldapauth、CI と自動化用の sslave)と、2 つのグループ(OpenBao の shoggoth-admin ポリシーにマッピングされる admins、サービスバインドアカウント用の shoggoth-auth)を持つ OpenLDAP を使用する。OpenBao はパスワードの真実源であり、初回実行時に自動生成され、LDAP ベースのサービスには Gitea、Redmine、CDash、OpenBao 自体が含まれる。文書化された注意点には、gitea と redmine の CLI クライアントは環境変数のみでは構成できない、zot は中断されたオンデマンド同期後に古い同期ステージングディレクトリを残す(クリーンアップ initContainer で回避)、既知の LiteLLM OpenTelemetry コールバックと Tempo WAL ウォッチャーの問題がある。