Skip to content

Quickstart

Get a working Breeze instance running with a single docker compose up.

  1. Download the compose file and environment template

    Terminal window
    mkdir breeze && cd breeze
    curl -fsSLO https://raw.githubusercontent.com/lanternops/breeze/main/docker-compose.yml
    curl -fsSLO https://raw.githubusercontent.com/lanternops/breeze/main/.env.example
    cp .env.example .env
  2. Edit .env and set the required values

    At minimum, set these:

    Terminal window
    # Domain (use "localhost" for local testing)
    BREEZE_DOMAIN=localhost
    # Generate secrets (run each command, paste the output)
    openssl rand -base64 64 # → JWT_SECRET
    openssl rand -hex 32 # → AGENT_ENROLLMENT_SECRET
    openssl rand -hex 32 # → APP_ENCRYPTION_KEY
    openssl rand -hex 32 # → MFA_ENCRYPTION_KEY
    openssl rand -hex 32 # → ENROLLMENT_KEY_PEPPER
    openssl rand -hex 32 # → MFA_RECOVERY_CODE_PEPPER
    openssl rand -hex 32 # → SESSION_SECRET
    # Database
    POSTGRES_PASSWORD=changeme
  3. Start Breeze

    Terminal window
    docker compose up -d

    On first boot the API container automatically:

    • Runs database migrations
    • Seeds the default admin user
    • Starts the background job workers
  4. Verify

    Terminal window
    # Wait for API to be healthy (~30s on first boot)
    docker compose logs -f api --since 1m

    Once you see Breeze API running, open the dashboard:

    • Dashboard: https://localhost (accept the self-signed cert)
    • Health check: curl -k https://localhost/health
ContainerPortPurpose
breeze-caddy80, 443Reverse proxy + auto-TLS
breeze-api3001 (internal)Hono API server
breeze-web4321 (internal)Astro SSR dashboard
breeze-postgres5432 (internal)PostgreSQL 16 database
breeze-redis6379 (internal)Redis 7 (BullMQ + caching)
breeze-coturn3478 (host)TURN relay for WebRTC remote desktop (only with --profile turn)

Download and install the Breeze agent on a device:

Terminal window
# On the target device:
curl -fsSL https://localhost/api/v1/agents/install.sh | \
BREEZE_SERVER=https://localhost \
BREEZE_ENROLLMENT_SECRET=<your-enrollment-secret> \
bash

See Agent Installation for detailed instructions per platform.

For production deployment with a real domain and monitoring, see Production Deploy.