Getting Started

Get PortZero installed and running your first app in under a minute.

Prerequisites

  • macOS (Apple Silicon or Intel) or Linux (x86_64 or arm64)

Installation

Homebrew (recommended)

brew install portzero-dev/tap/portzero

Quick install script

Install the latest release with a single command:

curl -fsSL https://goport0.dev/install.sh | bash

This downloads the prebuilt binary for your platform and installs it to /usr/local/bin. You can override the install directory:

# Install to ~/.local/bin instead
PORTZERO_INSTALL_DIR=~/.local/bin curl -fsSL https://goport0.dev/install.sh | bash

# Install a specific version
PORTZERO_VERSION=0.1.0 curl -fsSL https://goport0.dev/install.sh | bash

From GitHub releases

Download the binary for your platform from the GitHub Releases page:

PlatformAsset
macOS (Apple Silicon)portzero-darwin-aarch64.tar.gz
macOS (Intel)portzero-darwin-x86_64.tar.gz
Linux (x86_64)portzero-linux-x86_64.tar.gz
Linux (arm64)portzero-linux-aarch64.tar.gz
# Example: manual install on macOS Apple Silicon
curl -fsSL https://github.com/portzero-dev/portzero/releases/latest/download/portzero-darwin-aarch64.tar.gz | tar xz
sudo mv portzero /usr/local/bin/

From source

Requires Rust 1.77+ and a C compiler:

git clone https://github.com/portzero-dev/portzero.git
cd portzero
cargo install --path crates/portzero-cli

Your first app

Navigate to any project directory and prefix your dev command with portzero:

cd my-project
portzero next dev
# => http://my-project.localhost:1337

The name is automatically inferred from the current directory name. PortZero will:

  • Start your command (next dev) with a deterministic PORT env variable
  • Route my-project.localhost:1337 to that port
  • Capture all HTTP traffic for inspection
  • Monitor the process and auto-restart on crash

Explicit naming

You can also provide a name explicitly:

portzero my-api cargo run
# => http://my-api.localhost:1337

HTTPS support

Trust the auto-generated local CA certificate for HTTPS:

portzero trust    # Installs CA into system trust store
portzero untrust  # Removes it

Next steps