GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Buggregator docs
  • buggregator.dev
  • Getting Started
  • Install the Binary
  • Set Up with an AI Agent
  • For LLM
  • What is Trap?
  • Getting Started
  • Commands
  • Usage
  • XHProf Profiler
  • Sentry
  • SMTP Server
  • SMS Gateway

This view

  • Original page
  • New address

GeezerVison is showing docs.buggregator.dev — Getting Started

Getting Started ​

Three steps. That's it. ​

  1. Run one command — start Buggregator with a single command. No installation, no registration, no configuration files.
  2. Add one env variable — change one line in your .env file. Your existing Sentry SDK, VarDumper, Monolog, or Ray — they all just work.
  3. Open your browser — navigate to http://127.0.0.1:8000 and start debugging. No login required.

Quick Start ​

Two ways to run it. Both give the same Buggregator.

  • Binary: one file, no Docker. Good on your own machine.
  • Docker: one container. Good when your app already runs in Docker Compose.

Setting it up with an AI agent? Give it the agent setup page.

Binary ​

Buggregator is a single binary with no dependencies. One command installs it (from v2.6.0).

Linux and macOS — puts buggregator in ~/.local/bin, no sudo, checks the checksum:

bash
curl -fsSL https://raw.githubusercontent.com/buggregator/server/master/scripts/install.sh | sh
buggregator

Windows (PowerShell) — puts buggregator.exe in %LOCALAPPDATA%\Programs\buggregator, checks the checksum:

powershell
irm https://raw.githubusercontent.com/buggregator/server/master/scripts/install.ps1 | iex
& "$env:LOCALAPPDATA\Programs\buggregator\buggregator.exe"
  • The script picks the file for your system and CPU (Intel/AMD or ARM).
  • Windows: the folder is not added to PATH, so run it by its full path, as above.
  • Linux and macOS: if ~/.local/bin is not in your PATH, the script says so. Then run ~/.local/bin/buggregator.
  • On Windows, the VarDumper module (port 9912) is not available. Every other module works.
Download the file yourself
bash
# Linux (Intel/AMD). ARM: buggregator-linux-arm64
curl -fsSL -o buggregator https://github.com/buggregator/server/releases/latest/download/buggregator-linux-amd64
chmod +x buggregator
./buggregator

# macOS (Apple Silicon). Intel: buggregator-darwin-amd64
curl -fsSL -o buggregator https://github.com/buggregator/server/releases/latest/download/buggregator-darwin-arm64
chmod +x buggregator
./buggregator
powershell
# Windows (PowerShell). ARM, from v2.6.0: buggregator-windows-arm64.exe
Invoke-WebRequest https://github.com/buggregator/server/releases/latest/download/buggregator-windows-amd64.exe -OutFile buggregator.exe
.\buggregator.exe

Downloaded in a browser instead? These are the usual system prompts:

  • macOS blocks the file once. Run xattr -d com.apple.quarantine buggregator, or right-click → Open. curl and the script do not hit this.
  • Windows SmartScreen says «Windows protected your PC». Click More info → Run anyway, or run Unblock-File .\buggregator.exe.

Open http://127.0.0.1:8000 in your browser. Done.

All systems, ports, keeping events after a restart: Install the binary.

Only on this computer ​

The binary listens on all network interfaces, so other machines on your network can reach it. To keep it local:

bash
HTTP_ADDR=127.0.0.1:8000 SMTP_ADDR=127.0.0.1:1025 MONOLOG_ADDR=127.0.0.1:9913 VAR_DUMPER_ADDR=127.0.0.1:9912 PROXY_ADDR=127.0.0.1:8080 buggregator
powershell
$env:HTTP_ADDR="127.0.0.1:8000"; $env:SMTP_ADDR="127.0.0.1:1025"; $env:MONOLOG_ADDR="127.0.0.1:9913"; $env:PROXY_ADDR="127.0.0.1:8080"; & "$env:LOCALAPPDATA\Programs\buggregator\buggregator.exe"

The install scripts print the same line after they finish. The Docker samples below already publish on 127.0.0.1 only.

Docker ​

bash
docker run --pull always \
  -p 127.0.0.1:8000:8000 \
  -p 127.0.0.1:1025:1025 \
  -p 127.0.0.1:9912:9912 \
  -p 127.0.0.1:9913:9913 \
  ghcr.io/buggregator/server:latest

Docker Compose ​

Add Buggregator to your docker-compose.yml alongside your other services:

yaml
services:
  buggregator:
    image: ghcr.io/buggregator/server:latest
    ports:
      - 127.0.0.1:8000:8000
      - 127.0.0.1:1025:1025
      - 127.0.0.1:9912:9912
      - 127.0.0.1:9913:9913

No environment configuration needed. Works out of the box.

Just change the address ​

If Buggregator is part of an existing Docker Compose stack, other services can reach it by its service name. Change your app's .env to point at the container — that's the only change you need:

dotenv
# Sentry — only the host changed. Your Sentry SDK keeps working exactly the same.
SENTRY_LARAVEL_DSN=http://sentry@buggregator:8000/1

# Ray
RAY_HOST=ray@buggregator
RAY_PORT=8000

# VarDumper
VAR_DUMPER_FORMAT=server
VAR_DUMPER_SERVER=buggregator:9912

# Monolog
LOG_CHANNEL=socket
LOG_SOCKET_URL=buggregator:9913

# SMTP — email capture
MAIL_HOST=buggregator
MAIL_PORT=1025

Ports ​

Each port serves a specific module. You only need to expose the ports for the features you use:

PortProtocolModuleWhat it does
8000HTTPSentry, Ray, Inspector, HTTP Dumps, XHProf, SMSWeb UI + HTTP-based event ingestion. This is the only required port.
1025SMTPFake SMTP ServerCaptures outgoing emails. Point your app's SMTP config here.
9912TCPSymfony VarDumperReceives dump() / dd() output.
9913TCPMonologReceives log records via Monolog's SocketHandler.
8080HTTPHTTP ProxyForward proxy that captures request + response pairs. Optional.
9003TCP (DBGp)Xdebug ProxySits between Xdebug and your IDE. Off by default; listens on 127.0.0.1 unless you change XDEBUG_PROXY_ADDR.

Port 8000 also serves the mock server under /mock/.

If you only need specific features, omit the unused ports. For example, VarDumper only:

bash
docker run --pull always \
  -p 127.0.0.1:8000:8000 \
  -p 127.0.0.1:9912:9912 \
  ghcr.io/buggregator/server:latest

Kubernetes ​

The recommended way to deploy Buggregator on Kubernetes is using the Helm chart:

bash
helm install buggregator oci://ghcr.io/buggregator/helm-chart/buggregator

See the Helm chart documentation for SSO, Ingress, Prometheus, and more.

Or deploy manually as a Deployment + Service:

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: buggregator
spec:
  replicas: 1
  selector:
    matchLabels:
      app: buggregator
  template:
    metadata:
      labels:
        app: buggregator
    spec:
      containers:
        - name: buggregator
          image: ghcr.io/buggregator/server:latest
          ports:
            - containerPort: 8000
            - containerPort: 1025
            - containerPort: 9912
            - containerPort: 9913
---
apiVersion: v1
kind: Service
metadata:
  name: buggregator
spec:
  selector:
    app: buggregator
  ports:
    - name: http
      port: 8000
    - name: smtp
      port: 1025
    - name: var-dumper
      port: 9912
    - name: monolog
      port: 9913

Configuration ​

Buggregator can be configured via a YAML config file, environment variables, or CLI flags. The priority order is: CLI flags > Environment variables > Config file > Defaults.

See the server configuration guide for the full reference.

Quick example with environment variables ​

bash
docker run --pull always \
  -p 127.0.0.1:8000:8000 \
  -e DATABASE_DSN=/data/buggregator.db \
  -e METRICS_ENABLED=true \
  -v ./data:/data \
  ghcr.io/buggregator/server:latest

Image Tags ​

TagDescription
latestLatest stable release. Recommended.
X (e.g., 2)Latest release of a major version. Published since v2.6.0.
X.Y (e.g., 2.6)Latest patch of a minor version.
X.Y.Z (e.g., 2.6.0)One exact release, pinned.

Security ​

By default, all ports are bound to 127.0.0.1 (localhost only). This prevents external access. Your debug data never leaves your machine.

Warning: If you remove the 127.0.0.1: prefix (e.g., -p 8000:8000), the port becomes accessible from outside your machine. Only do this if you understand the implications.

For team environments, consider enabling SSO authentication to restrict access to the UI.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.