Open Source · Self-Hosted · Docker-Powered

One command. Your entire server stack, on tap.
Just brew it!

Interactive 7-step CLI wizard and Web Dashboard for setting up and managing personal servers with 17 Docker-based services. Build your own home server, skip the hosting fees, and own your data. From zero to a fully configured server in minutes — no cloud subscription required.

  • Git Server (Gitea)
  • Web Server (Nginx / Traefik)
  • Media Server (Jellyfin)
  • Runtime Stack (Go, Java, Kotlin, Node, Python, Rust, React)
  • Database (PostgreSQL, SQLite, MySQL)
  • Cloud Storage (Nextcloud)
  • Monitoring (Grafana, Prometheus) (Pro)
  • CI/CD Pipeline
  • Easy Domain Connection
brewnet ~ terminal
$|
17Docker-Based Isolation Apps & Clean Uninstall
6+16Languages & Framework Runtimes
3Simple Steps from Install to Domain
100%Open Source CLI + Dashboard
The Problem

Complex hosting setups. Unpredictable costs.
Brewnet solves it.

Web server, Git, DB, Media & File server — all included. Cost: $0. Simple setup wizard, domain in 1 minute! No data collected.

Runtime setup is a nightmare

Go, Java, Kotlin, Node, Python, Rust, React — each runtime has its own version manager, dependencies, and conflicts. Brewnet solves it all in one click with full isolation.

Security is an afterthought

SSH hardening, firewall rules, SSL certificates, credential management — most cloud setups are complex. Brewnet solves all security concerns at once with Cloudflare Tunnel.

No clean way out

Most cloud platforms are hard to clean up even after multiple deletion steps. Brewnet removes everything with a single brewnet uninstall. No leftover configs, containers, or volumes.

Features

Everything you need to self-host like a pro

Stop paying for cloud hosting. Deploy with one command.
Domain, build, deploy — all in one step.

One-Click Server Stack

Go, Java, Kotlin, Node, Python, Rust, React — pick your runtime and launch a production-ready web server in one command. No manual dependency setup, no version conflicts.

Secure by Default

SSH key-only auth, root login disabled, auto-firewall configuration, and encrypted credential propagation across all services.

Clean Uninstall & Rollback

Every change is tracked. Preview removals with --dry-run before executing. Full backup & restore, one-command rollback, and zero leftover containers, volumes, or configs after uninstall.

Cloudflare Tunnel Integration

No port forwarding needed. Works behind NAT/CGNAT with automatic HTTPS and DDoS protection. Paste one Cloudflare token and tunnel, ingress rules, and DNS are configured automatically.

Docker Orchestration

Auto-generates docker-compose.yml for up to 17 services with full container isolation. Each service runs in its own network sandbox with dependency ordering, health checks, and secure credential propagation.

Slack & Telegram Notifications (Pro)

Get real-time alerts on service status, deployments, and errors — directly to Slack or Telegram. No database required. Just paste your webhook URL or bot token and start receiving notifications.

Build, Deploy & Connect

Server setup is just the start. Run your apps, connect custom domains, automate builds, deploy in one command, and monitor everything — the full DevOps lifecycle without the DevOps team.

Cross-Platform Support

macOS 12+ and Ubuntu 20.04+ officially supported. Brewnet auto-detects your OS, adjusts package managers, and handles platform-specific differences so you don't have to.

Web Dashboard & Monitoring (Pro)

Browser-based setup wizard, real-time service monitoring, web terminal, and a visual interface for managing your entire server stack.

Usage

Get started in 3 simple steps

Install to running server — the CLI wizard handles it all.

01

Install Brewnet

Install via curl (recommended) or npm. Requires Node.js 20+ and Docker 27+. Supports macOS 12+ and Ubuntu 20.04+.

curl -fsSL https://raw.githubusercontent.com/claude-code-expert/brewnet/main/install.sh | bash
02

Run the Wizard

The interactive 7-step wizard walks you through: system check, project setup, admin account & server components, dev stack & runtime, domain & network, review, and generation & deployment.

brewnet init
03

Manage Services

Add, remove, start, stop, and monitor services with simple commands. Check logs, manage domains, deploy apps.

brewnet status

CLI Commands

  • brewnet initInteractive setup wizard
  • brewnet add <service>Add a service
  • brewnet remove <service>Remove a service
  • brewnet up / downStart / Stop all services
  • brewnet statusShow service status
  • brewnet logs [service]View logs
  • brewnet adminOpen web dashboard
  • brewnet domain connectConnect custom domain
  • brewnet domain tunnelManage Cloudflare Tunnel
  • brewnet backupCreate backup
  • brewnet restore <id>Restore from backup
  • brewnet create-app <name>Scaffold a new app
  • brewnet shutdownGraceful shutdown all services
  • brewnet uninstallRemove all services & data
Services

All your server needs, one platform

17 Docker services ready to deploy.

WEB

Web Server

Traefik, Nginx, Caddy

GIT

Git Server

Gitea with SSH access (port 3022)

DB

Database

PostgreSQL, MySQL, SQLite

CACHE

Cache (Pro)

Redis, Valkey

FILE

File Storage

Nextcloud, MinIO (S3)

MEDIA

Media Server

Jellyfin streaming

SSH

SSH Server (Pro)

OpenSSH, key-based auth, SFTP

MAIL

Mail Server (Pro)

docker-mailserver (SMTP/IMAP)

TUNNEL

Cloudflare Tunnel

Automatic HTTPS, DDoS protection

FB

FileBrowser

Web-based file management UI

DEV

Dev Stack

Go, Java, Kotlin, Node, Python, Rust, React — 16 framework boilerplates

SETUP

Easy Install & Domain

One-command setup, custom domain & Cloudflare integration

Installation

Get up and running in minutes

From install to production — 3 minutes is all you need.

System Requirements

Brewnet system requirements
RequirementMinimumRecommended
OSmacOS 12+ / Ubuntu 20.04+Latest stable
Node.js20+22 LTS
Docker27+Latest (auto-installed if missing)
RAM2 GB4 GB+
Disk20 GB50 GB+ (for media usage)

Docker is not required before installation — brewnet init auto-detects and installs it.

01

curl (Recommended)

One-line install script that handles everything.

Step 1

curl -fsSL https://raw.githubusercontent.com/claude-code-expert/brewnet/main/install.sh | bash

Step 2

brewnet init
02

npm

Install globally via npm package manager.

Step 1

npm install -g @brewnet/cli

Step 2

brewnet init

7-Step Install Wizard

1
System Check
OS, Docker, ports (80/443), disk, RAM verification
2
Project Setup
Project name, path, install type (Full / Partial)
3
Admin & Servers
Admin account, Web/File/DB/Media/SSH selection
4
Dev Stack
Backend language, framework, frontend, FileBrowser (optional)
5
Domain & Network
Local (LAN) or Cloudflare Tunnel, Mail Server (conditional)
6
Review & Confirm
Full config review, credential propagation targets, resource estimate
7
Generate & Deploy
docker-compose.yml generation, image pull, container start, access verification
FAQ

Frequently asked questions

Install & Uninstall

There are two methods:

# Method 1: npm (recommended)
npm install -g @brewnet/cli

# Method 2: Build from source
curl -fsSL https://raw.githubusercontent.com/claude-code-expert/brewnet/main/install.sh | bash

After installation, run brewnet init to start server setup.

  • Node.js 20+
  • Docker 24+ (auto-installed during brewnet init if missing)
  • macOS 12+ or Linux (Ubuntu/Debian/CentOS)
  • RAM 2GB minimum (4GB+ recommended)
  • Disk 20GB+

No. Currently only macOS and Linux are supported.

# If installed via npm
npm update -g @brewnet/cli

# If installed via curl (re-run the same command)
curl -fsSL https://raw.githubusercontent.com/claude-code-expert/brewnet/main/install.sh | bash
brewnet uninstall            # Interactive uninstall
brewnet uninstall --force    # Uninstall without confirmation
brewnet uninstall --keep-data    # Preserve Docker volumes (DB, etc.)
brewnet uninstall --keep-config  # Keep config files, remove containers only

Removed items: Docker containers, networks, project directories, ~/.brewnet/projects/ metadata

# If installed via npm
npm uninstall -g @brewnet/cli

# If installed via curl
sudo rm /usr/local/bin/brewnet
rm -rf ~/.brewnet/source
brewnet up                  # Start all services
brewnet down                # Stop all services
brewnet down --volumes      # Stop + delete data
brewnet status              # Check overall status
brewnet logs [service]      # View service logs

You can also use brewnet status --json for JSON-formatted output.

Usage & Operations

brewnet admin   # Automatically opens http://localhost:8088

Use --port 9090 to change the port. Use --foreground for debug mode.

brewnet create-app my-app                    # Interactive selection
brewnet create-app my-app --stack go-gin     # Specify stack
brewnet create-app my-app --database postgres # Specify database

16 stacks supported: 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    # Check tunnel status
brewnet domain tunnel restart   # Restart tunnel

A Cloudflare API Token with Zone:Read, DNS:Edit, and Tunnel:Edit permissions is required.

No. All containers are configured with the restart: unless-stopped policy, so they automatically recover once Docker starts after a reboot.

However, if you manually stopped services with brewnet down, they remain stopped after a reboot. On Docker Desktop (macOS), check Settings → General → "Start Docker Desktop when you sign in".

brewnet backup              # Create a backup
brewnet backup --list       # List backups
brewnet restore <backup-id>          # Restore
brewnet restore <backup-id> --force  # Restore without confirmation

Backup location: ~/.brewnet/backups/ (.tar.gz format)

Port conflict: During brewnet init, a warning is shown if ports 80, 443, etc. are in use. Check with lsof -i :80. When creating apps, free ports are automatically assigned.

Docker not installed: brewnet init attempts automatic installation. It uses Homebrew on macOS and the official Docker install script on Linux.

Command errors: Check the install path with which brewnet. If both curl and npm installs exist, conflicts may occur — use only one method.

All config and metadata are stored in ~/.brewnet/. Project directories (docker-compose.yml, app source, etc.) are located at ~/brewnet/<project-name>/.

Thank you! We’ll get back to you within 24 hours.
Get In Touch

Developer Contact

Have a specific inquiry? Send us a message directly. We’ll respond via email or Telegram.

Something went wrong. Please try again or email us at [email protected].