# Buggregator > Buggregator is a free, open-source debugging server for PHP applications. Debug everything — install nothing. One docker run gives you exceptions, dumps, emails, profiling, and logs in a single real-time UI. Runs beside your app, not inside it. - Install: `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 ghcr.io/buggregator/server:latest` - GitHub: https://github.com/buggregator/server - Lightweight CLI alternative (no Docker): `composer require --dev buggregator/trap` - JetBrains IDE plugin: https://plugins.jetbrains.com/plugin/26344-buggregator - Supported integrations: Sentry SDK, Symfony VarDumper, Monolog, Spatie Ray, Inspector, SMTP, HTTP dumps, XHProf, SMS - Works with: Laravel, Symfony, Spiral, WordPress, Yii, Drupal — and JS, Python, Ruby, Go via Sentry SDK ## Docs - [Configuration — External Database](/config/external-db.md): External database setup: PostgreSQL and MySQL support via PERSISTENCE_DRIVER=db, DB_DRIVER (pgsql/mysql), DB_HOST, DB_PORT, DB_USERNAME, DB_PASSWORD. Default DoltDB (MySQL-compatible). No SQLite support. Auto-migrations on startup, manual via 'php app.php migrate --force'. Docker Compose example with PostgreSQL healthcheck. - [HTTP Dumps — Request Inspection](/config/http-dumps.md): HTTP request capture: method, URI, headers, cookies, POST data, uploaded files, auto-generated cURL command. Two trigger methods: HTTP auth (http-dump@host) or X-Buggregator-Event: http-dump header. Use cases: webhook development, API debugging, request replay. - [Inspector — Application Monitoring](/config/inspector.md): Inspector.dev SDK compatibility for local APM: transaction name, duration, memory peak, result status, HTTP details, timeline breakdown. Config: INSPECTOR_URL=http://inspector@host:8000, INSPECTOR_API_KEY, INSPECTOR_INGESTION_KEY. Laravel and generic PHP setup. INSPECTOR_SECRET_KEY env for access restriction. - [Configuration — Metrics](/config/metrics.md): Prometheus metrics endpoint on port 2112: event counters by type (sentry, monolog, var-dumper, ray, inspector, http-dump, profiler, smtp). Metric format: 'events{type="..."}' counter. Webhook delivery tracking. Grafana integration: add Prometheus data source, create dashboards for event trends. - [Monolog — Logs](/config/monolog.md): Monolog log collection via SocketHandler on TCP port 9913 with JsonFormatter. UI shows channel, message, PSR-3 severity level, timestamp, context JSON, extra fields, source location. Config for Laravel (socket channel in logging.php), Spiral (LoggingBootloader), Symfony (monolog.php handler), generic PHP (monolog/monolog SocketHandler). - [JetBrains IDE Plugin](/config/phpstorm-plugin.md): JetBrains IDE plugin: embeds Buggregator Trap UI into PhpStorm, IntelliJ IDEA, WebStorm. Requires buggregator/trap Composer package and PHP interpreter. Two views: Web UI (embedded browser) and Terminal. Settings: PHP interpreter, path to Trap binary, Web UI port. Install from JetBrains Marketplace or manual .jar. - [Configuration — Projects](/config/projects.md): Multi-project support: YAML config files (.project.yaml) mounted at /app/runtime/configs. Default project key 'default'. Per-project DSN formats for Sentry (http://key@host/project_key), Inspector (inspector:project_key@host), XHProf (profiler:project_key@host), Ray (ray:project_key@host). VarDumper and Monolog do not support projects. - [Ray — Debug Tool](/config/ray.md): Spatie Ray compatibility: free self-hosted alternative supporting 18 payload types (Log, Caller, Carbon, Trace, Exception, Table, Measure, Query, Eloquent, View, Event, Job, Lock, Mailable, Notify, Origin). Config: RAY_HOST=ray@host, RAY_PORT=8000. Setup for Laravel (ray:publish-config), PHP (ray.php config file), JavaScript, Ruby, Go, Bash SDKs. - [Configuration — RoadRunner](/config/roadrunner.md): RoadRunner server configuration via environment variables: RR_LOG_MODE, RR_LOG_LEVEL, RR_HTTP_ALLOWED_ORIGIN, RR_HTTP_NUM_WORKERS, RR_TCP_READ_BUF_SIZE, RR_TCP_MONOLOG_ADDR, RR_TCP_VAR_DUMPER_ADDR, RR_TCP_SMTP_ADDR, RR_CENTRIFUGE_* settings. CORS control, logging levels per plugin (HTTP/TCP/Centrifuge/Server/Service). Docker Compose and docker run examples. - [Sentry — Exceptions](/config/sentry.md): Sentry SDK compatibility: DSN format http://sentry@host:8000/1. Setup for Laravel (SENTRY_LARAVEL_DSN), Spiral, Symfony, Magento 2, WordPress (WP Sentry plugin), JavaScript (bundled JS SDK at /sentry/.js). UI shows stack traces, breadcrumbs, request/device/app info, tags, modules. SENTRY_SECRET_KEY env for access restriction. - [SMS Gateway Interceptor](/config/sms.md): SMS gateway interceptor: /sms endpoint with auto-detection for 40+ providers (Twilio, Vonage, Plivo, Sinch, Infobip, MessageBird, Telnyx, etc.). Explicit provider URLs (/sms/twilio) for field validation with 422 responses. Symfony Notifier DSN config, Laravel HTTP example, generic curl. Supports JSON and form-urlencoded payloads, project URL segments. - [SMTP — Email Testing](/config/smtp.md): Fake SMTP server on port 1025: captures outgoing emails with HTML preview (desktop/mobile viewport), plain text, addresses (From/To/CC/BCC), attachments, raw MIME source. Config for Laravel (MAIL_HOST/MAIL_PORT), Spiral (MAILER_DSN), Symfony, Magento 2, WordPress (mu-plugin phpmailer_init hook). - [Configuration — Single Sign-On (SSO)](/config/sso.md): SSO authentication with Auth0 and Kinde providers. Environment variables: AUTH_ENABLED, AUTH_PROVIDER (auth0/kinde), AUTH_PROVIDER_URL, AUTH_CLIENT_ID, AUTH_CLIENT_SECRET, AUTH_CALLBACK_URL, AUTH_LOGOUT_URL, AUTH_SCOPES. Callback endpoint /auth/sso/callback, login /auth/sso/login, logout /auth/sso/logout. Troubleshooting tips. - [VarDumper — Variable Dumps](/config/var-dumper.md): Symfony VarDumper integration via TCP port 9912: VAR_DUMPER_FORMAT=server, VAR_DUMPER_SERVER=host:9912. UI shows dumped values as interactive tree, source location with IDE click-to-open, variable labels. VAR_DUMPER_PREVIEW_MAX_DEPTH env for performance. Syntax highlighting via trap() context(language:). Buggregator Trap alternative with trap()/tr()/td() helpers. - [Configuration — Webhooks](/config/webhooks.md): Webhook configuration: YAML files (.webhook.yaml) mounted at /app/runtime/configs. Fields: event, url, headers, verify_ssl, retry_on_failure. Supported events: sentry.received, monolog.received, var-dumper.received, ray.received, inspector.received, http-dump.received, profiler.received, smtp.received. Delivery tracking with response status and payload history. - [XHProf — Performance Profiling](/config/xhprof.md): XHProf profiling integration: Call Graph, Flame Graph, Top Functions table, profile comparison. Setup: pecl install xhprof, packages for Laravel (maantje/xhprof-buggregator-laravel), Spiral (spiral/profiler), generic PHP (spiral-packages/profiler). PROFILER_ENDPOINT config, custom client via HTTP auth, X-Buggregator-Event header, or /api/profiler/store endpoint. - [Getting Started](/getting-started.md): Installation via Docker run, Docker Compose, and Kubernetes. Port mapping: 8000 (HTTP/Sentry/Ray/Inspector/XHProf), 1025 (SMTP), 9912 (VarDumper TCP), 9913 (Monolog TCP), 9914 (XHProf TCP). Image tags: latest, dev, versioned. Security: localhost binding, SSO reference. Manual install link. - [What is Buggregator?](/index.md): Buggregator overview: self-hosted debugging server via Docker, supports XHProf profiling, Sentry exceptions, fake SMTP email capture, SMS gateway, HTTP request dumps, Monolog logs, Symfony VarDumper, Spatie Ray, Inspector APM. Includes event pinning, screenshots, keyboard shortcuts, IDE integration, multi-project support, webhooks, Prometheus metrics, SSO auth, external DB. Built on Spiral Framework, RoadRunner, Vue 3, Centrifugo. - [Using Buggregator docs with AI assistants](/llm.md): LLM-readable documentation endpoints: llms.txt index, llms-full.txt complete docs, per-page .md files. Usage with ChatGPT, Claude, Cursor, Windsurf, and other AI assistants for Buggregator setup and configuration help. - [Trap — Commands](/trap/commands.md): Trap CLI commands: 'run' (--port/-p, --sender/-s, --ui), 'test' (sends XHProf/dumps/emails/Sentry/binary test data), 'joke'. Default ports: 1025, 8000, 9912, 9913. Senders: console, file, file-body, mail-to-file, server. Environment variables: TRAP_TCP_PORTS, TRAP_TCP_HOST, TRAP_UI_PORT, TRAP_UI_HOST, TRAP_XHPROF_PATH, TRAP_MAIN_LOOP_INTERVAL. - [Trap — Getting Started](/trap/getting-started.md): Trap installation: standalone binary download (Linux/macOS/Windows amd64/arm64) or Composer (buggregator/trap). Start with 'vendor/bin/trap' or './trap'. trap() function usage: basic dumps, named arguments, ->return(), ->depth(). Web UI via --ui flag on port 8000. - [Trap — Functions](/trap/usage.md): Trap PHP functions: trap(mixed ...$values) with ->stackTrace(), ->depth(), ->if(), ->once(), ->times(), ->return(), ->context(), ->code() methods. tr() shorthand for trap()->return() and performance ticker (time/memory between calls). td() dump-and-die. Protobuf message support. TrapHandle method chaining API. - [Trap — What is it?](/trap/what-is-trap.md): Buggregator Trap: lightweight PHP CLI debugging tool, alternative to Symfony VarDumper. Zero-config, standalone binary (Linux/macOS/Windows), no Docker needed. Supports VarDumper, Monolog, Sentry, SMTP, HTTP dumps, Ray handlers. Protobuf debugging. Console and dashboard UI. Cross-project compatible. ## Optional - [Contributing to Buggregator](/contributing.md): Contributing guide: issue labels (for contributors, c:easy/c:medium/c:difficult), project repositories (Server, Frontend, Trap, Documentation, Site, PHPStorm Plugin). Benefits of contributing to open source. - [Contributing — Documentation](/contributing/docs.md): Documentation contributing: VitePress-based docs. Setup: git clone buggregator/docs, npm install, npm run docs:dev. Structure: docs/ directory for markdown files, docs/.vitepress/config.mts for site config and navigation. - [Contributing — Frontend side](/contributing/frontend.md): Frontend contributing: Vue 3, TailwindCSS, Storybook stack. Requirements: Node.js 20+ (22 preferred), Yarn 1.22+. Setup: git clone, yarn install, yarn dev (port 3000). Storybook at port 6006 for component isolation. - [Contributing — Server side](/contributing/server.md): Server-side contributing: Spiral Framework, RoadRunner, Centrifugo, DoltDB stack. PHP 8.2+ required. Installation via Docker (docker-install cookbook) or manual setup. Event processing and REST API architecture. - [Cookbook — Dev environment using docker compose](/cookbook/docker-install.md): Docker Compose dev environment setup: git clone, composer install, make build, make up. Starts Buggregator server, PostgreSQL, example server. Mounted directories: app/, runtime/, vendor/. Access at buggregator.localhost and examples.buggregator.localhost. make down to stop. - [Cookbook — Manual install dev environment](/cookbook/manual-install.md): Manual dev environment without Docker: composer install, ./vendor/bin/rr get (RoadRunner), bin/get-binaries.sh (Centrifugo + DoltDB). Database: mkdir .db, dolt sql create database. Config: .env.sample, php app.php encrypt:key. Start with ./rr serve. Access at localhost:8082.