ランタイム設定は悪夢
Go, Java, Kotlin, Node, Python, Rust, React — 各ランタイムごとに独自のバージョンマネージャー、依存関係、競合があります。Brewnetは完全な分離環境でワンクリックですべて解決します。
17のDockerベースサービスを設定・管理するインタラクティブな7ステップCLIウィザードとWebダッシュボード。自分だけのホームサーバーを構築し、ホスティング費用を節約し、データを自分で所有しましょう。ゼロから完全なサーバー構成まで数分で完了 — クラウドサブスクリプション不要。
Webサーバー、Git、DB、メディア&ファイルサーバー — すべて含まれています。コスト:¥0。簡単セットアップウィザード、1分でドメイン接続!データ収集なし。
Go, Java, Kotlin, Node, Python, Rust, React — 各ランタイムごとに独自のバージョンマネージャー、依存関係、競合があります。Brewnetは完全な分離環境でワンクリックですべて解決します。
SSH強化、ファイアウォールルール、SSL証明書、認証情報管理 — ほとんどのクラウドセットアップは複雑です。BrewnetはCloudflare Tunnelですべてのセキュリティ問題を一度に解決します。
ほとんどのクラウドプラットフォームは、何度削除しても完全にクリーンアップするのが困難です。Brewnetは brewnet uninstall 一発ですべて削除。設定ファイル、コンテナ、ボリュームの残骸なし。
クラウドホスティング費用はもう不要。コマンドひとつでデプロイ。
ドメイン接続、ビルド、デプロイを一度に。
Go, Java, Kotlin, Node, Python, Rust, React — ランタイムを選んでコマンドひとつでプロダクション対応Webサーバーを起動。手動の依存関係設定もバージョン競合もなし。
SSH鍵認証のみ、rootログイン無効化、自動ファイアウォール設定、全サービスにわたる暗号化された認証情報伝播。
すべての変更を追跡。実行前に--dry-runで削除対象をプレビュー。完全なバックアップ&リストア、ワンコマンドロールバック、アンインストール後にコンテナ・ボリューム・設定の残骸なし。
ポートフォワーディング不要。NAT/CGNAT環境でも自動HTTPSとDDoS保護。Cloudflareトークンを貼り付けるだけでトンネル、インバウンドルール、DNSが自動設定。
最大17サービスに対して完全なコンテナ分離でdocker-compose.ymlを自動生成。各サービスは独自のネットワークサンドボックスで依存関係の順序付け、ヘルスチェック、安全な認証情報伝播と共に実行。
サービスステータス、デプロイ、エラーのリアルタイムアラートをSlackまたはTelegramで直接受信。データベース不要。Webhook URLまたはボットトークンを貼り付けるだけで通知開始。
サーバー設定は始まりにすぎません。アプリ実行、カスタムドメイン接続、ビルド自動化、ワンコマンドデプロイ、全体モニタリング — DevOpsチームなしで完全なDevOpsライフサイクル。
macOS 12+およびUbuntu 20.04+を公式サポート。BrewnetがOSを自動検出し、パッケージマネージャーを調整、プラットフォーム固有の違いを処理。
ブラウザベースのセットアップウィザード、リアルタイムサービスモニタリング、Webターミナル、サーバースタック全体を管理するビジュアルインターフェース。
インストールからサーバー起動まで、CLIウィザードがすべて処理します。
curl(推奨)またはnpmでインストール。Node.js 20+とDocker 27+が必要です。macOS 12+およびUbuntu 20.04+に対応。
curl -fsSL https://raw.githubusercontent.com/claude-code-expert/brewnet/main/install.sh | bash対話式7ステップウィザードが案内します:システムチェック、プロジェクト設定、管理者アカウント&サーバー構成、開発スタック&ランタイム、ドメイン&ネットワーク、確認、生成&デプロイ。
brewnet init簡単なコマンドでサービスの追加、削除、開始、停止、モニタリング。ログ確認、ドメイン管理、アプリデプロイも可能。
brewnet statusbrewnet init対話式セットアップウィザードbrewnet add <service>サービスを追加brewnet remove <service>サービスを削除brewnet up / down全サービス開始 / 停止brewnet statusサービス状態を表示brewnet logs [service]ログを表示brewnet adminWebダッシュボードを開くbrewnet domain connectカスタムドメインを接続brewnet domain tunnelCloudflare Tunnelを管理brewnet backupバックアップを作成brewnet restore <id>バックアップからリストアbrewnet create-app <name>新しいアプリをスキャフォールドbrewnet shutdown全サービスを安全に停止brewnet uninstall全サービスとデータを削除17のDockerサービスをすぐにデプロイ。
Traefik, Nginx, Caddy
Gitea SSH接続対応(ポート3022)
PostgreSQL, MySQL, SQLite
Redis, Valkey
Nextcloud, MinIO (S3)
Jellyfinストリーミング
OpenSSH、鍵認証、SFTP
docker-mailserver (SMTP/IMAP)
自動HTTPS、DDoS保護
Webベースのファイル管理UI
Go, Java, Kotlin, Node, Python, Rust, React — 16フレームワークボイラープレート
ワンコマンドセットアップ、カスタムドメイン&Cloudflare連携
インストールから本番運用まで、3分で十分です。
| 項目 | 最小 | 推奨 |
|---|---|---|
| OS | macOS 12+ / Ubuntu 20.04+ | 最新安定版 |
| Node.js | 20+ | 22 LTS |
| Docker | 27+ | 最新版(未インストール時は自動インストール) |
| RAM | 2 GB | 4 GB+ |
| ディスク | 20 GB | 50 GB+(メディア使用時) |
インストール前にDockerは不要です — brewnet initが自動検出してインストールします。
npmパッケージマネージャーでグローバルインストール。
Step 1
npm install -g @brewnet/cliStep 2
brewnet initすべてを処理するワンライナーインストールスクリプト。
Step 1
curl -fsSL https://raw.githubusercontent.com/claude-code-expert/brewnet/main/install.sh | bashStep 2
brewnet init2つの方法があります:
# 方法1: npm(推奨) npm install -g @brewnet/cli # 方法2: ソースからビルド curl -fsSL https://raw.githubusercontent.com/claude-code-expert/brewnet/main/install.sh | bash
インストール後、brewnet initでサーバーセットアップを開始します。
# npmでインストールした場合 npm update -g @brewnet/cli # curlでインストールした場合(同じコマンドを再実行) curl -fsSL https://raw.githubusercontent.com/claude-code-expert/brewnet/main/install.sh | bash
brewnet uninstall # 対話形式でアンインストール brewnet uninstall --force # 確認なしでアンインストール brewnet uninstall --keep-data # Dockerボリューム(DBなど)を保持 brewnet uninstall --keep-config # 設定ファイルを保持、コンテナのみ削除
削除対象: Dockerコンテナ、ネットワーク、プロジェクトディレクトリ、~/.brewnet/projects/メタデータ
CLIバイナリ自体を削除するには:
# npmでインストールした場合 npm uninstall -g @brewnet/cli # curlでインストールした場合 sudo rm /usr/local/bin/brewnet rm -rf ~/.brewnet/source
brewnet up # すべてのサービスを起動 brewnet down # すべてのサービスを停止 brewnet down --volumes # 停止 + データ削除 brewnet status # 全体のステータスを確認 brewnet logs [service] # サービスログを確認
brewnet status --jsonでJSON形式の出力も可能です。
brewnet admin # http://localhost:8088 を自動で開きます
--port 9090でポートを変更できます。--foregroundでデバッグモードで実行します。
brewnet create-app my-app # 対話形式で選択 brewnet create-app my-app --stack go-gin # スタックを指定 brewnet create-app my-app --database postgres # データベースを指定
16種類のスタックに対応: Node.js (Express, NestJS, Next.js), Python (FastAPI, Flask, Django), Go (Gin, Echo, Fiber), Rust (Actix-web, Axum), Java (Spring), Kotlin (Spring Boot, Ktor)
brewnet domain connect my-app --domain api.example.com brewnet domain tunnel status # トンネルの状態を確認 brewnet domain tunnel restart # トンネルを再起動
Cloudflare APIトークン(Zone:Read、DNS:Edit、Tunnel:Edit権限)が必要です。
いいえ。すべてのコンテナはrestart: unless-stoppedポリシーで設定されており、再起動後にDockerが起動すると自動的に復旧します。
ただし、brewnet downで手動で停止した場合、再起動後も停止状態のままです。Docker Desktop(macOS)では、Settings → General → "Start Docker Desktop when you sign in"をチェックしてください。
brewnet backup # バックアップを作成 brewnet backup --list # バックアップ一覧を確認 brewnet restore <backup-id> # リストア brewnet restore <backup-id> --force # 確認なしでリストア
バックアップの保存先: ~/.brewnet/backups/(.tar.gz形式)
すべての設定とメタデータは~/.brewnet/に保存されます。プロジェクトディレクトリ(docker-compose.yml、アプリソースなど)は~/brewnet/<project-name>/にあります。
BrewnetはDockerが見つからない場合、自動的にインストールを試みます。自動インストールに失敗した場合は、手動でインストールしてください。
curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER
インストール後、ログアウト/ログインしてdockerグループを適用してください。
別のプログラムがそのポートを使用しています。
# macOS/Linuxでポートを使用しているプロセスを確認 lsof -i :80 lsof -i :8088 # そのプロセスを停止するか、Brewnetの設定で別のポートを使用
よく競合するサービス: Apache、Nginx、他のDockerコンテナ
以下を順番に確認してください。
1. サービスが実行中か確認:
brewnet status
2. ポート8088が開いているか確認:
curl http://localhost:8088
3. Dockerコンテナの状態を確認:
docker ps -a | grep brewnet
4. サービスを再起動:
brewnet down && brewnet up
Quick TunnelのURLは一時的なもので、サーバーを再起動すると変更されます。これは正常な動作です。永続的なURLが必要な場合は、Named Tunnelに切り替えてください。
brewnet domain connect
以下を確認してください。
1. DNS伝播の待機: DNSレコードが伝播するまで数分かかる場合があります。
dig my-app.example.com CNAME
2. Cloudflareドメインの状態: ドメインがActive状態であることを確認(Pendingの場合、ネームサーバーの伝播待ち)
3. トンネルの状態を確認:
brewnet domain tunnel status
4. cloudflaredコンテナを再起動:
brewnet domain tunnel restart
Nextcloudのtrusted domains設定に現在のアクセスURLが登録されていない場合に発生します。Brewnetは自動的に*.trycloudflare.comをtrusted domainに追加しますが、カスタムドメインを使用する場合は追加の設定が必要になることがあります。
Jellyfinの初期設定URLは必ず以下の形式を使用してください。
http://<host>:8096/web/#/wizard/start
/web/#/homeパスを使用すると、初期設定ウィザードが表示されません。
デプロイ失敗の一般的な原因:
brewnet logs <app-name>
/healthエンドポイントが応答しない場合Dockerイメージとコンテナはディスク容量を大量に消費する可能性があります。
# Dockerディスク使用量を確認 docker system df # 未使用のイメージをクリーンアップ(注意: 必要なイメージも削除される可能性があります) docker image prune
docker system pruneは未使用のリソースをすべて削除するため、注意して使用してください。重要なデータを含むボリュームは絶対に削除しないでください。
Traefikのstrip-prefix配下のGiteaは、X-Forwarded-Hostに基づいてサブパスのないURLを返す場合があります(例: /gitパスの欠落)。Brewnet内部ではauthedCloneUrl()が正しいURLを自動生成するため、Gitea APIから返されるclone_urlを直接使用しないでください。
ご質問がありますか?メッセージをお送りください。メールまたはTelegramでご返信いたします。