shouldiselfhost?they tell you if you can — we tell you if you should
THE DECISION LAYER FOR SELF-HOSTING100 APPS UNDER COVERAGEPROTOCOL v1NO VENDOR HAS EVER PAID FOR A RATING
§
MONITORING
Sentry logo

Should I self-host Sentry?

$26/mo · Team · alternative: GlitchTip
RATING
YES
OUTLOOK
NOT ASSIGNED
RATIONALE

GlitchTip speaks the Sentry SDK protocol and fits on a normal VPS. Sentry's own self-host wants 16GB and a small ops team — the honest self-host answer is the compatible lightweight, and it breaks even in about two months.

WHAT YOU LOSE
01

Sentry's deep tracing/profiling/replay product — GlitchTip is errors done well, not the whole observability suite

02

SaaS-side data retention muscle

WHAT YOU'RE PAYING FOR

error tracking (Sentry SDKs) · issue grouping & alerts · performance traces (basic) · uptime checks

Self-Hosting Facts
1 app per panel · Sentry
Assumes 1 seat on 1 always-on box you already run
Amount per month% of sub *
Subscription$26.00
VPS share2.5010%
Storage + backup0.000%
Your hours · 30 min @ $2010.0038%
Self-hosted all-in12.5048%
Effective markup2.1×
Setup · 90 min measured$30.00 once
Break-even2.2 months
VERDICT
YES
OUTLOOK
NOT ASSIGNED

* Percent of the subscription price. Your time is priced at the slider's rate — $0/h ("my homelab time is free and I love it") is a legitimate position. Every number is derived from the record, never hand-written. Price source, checked 2026-08-06.

Runs comfortably on a real VPS (2 GB+).

01
ALTERNATIVES
Ranked alternatives
01GlitchTip logo
GlitchTipError tracking that speaks the Sentry SDK protocol, so your code keeps its instrumentation and changes one DSN.
burke-software/GlitchTip · ★ 172 · 227d
GlitchTip running from the boot-verified compose file
GlitchTip, running from the compose file on this page — screenshot from our verified instance, not marketing material.
02
EVIDENCE
PROTOCOL
v1
VERIFIED BY
zernonia
REVIEWED
10 AUG 2026
SETUP MEASURED
90 MIN
AI ASSISTANT
CLAUDE-CODE · STATED
WHAT BROKE
01

The container serves on 8000, not the 8080 several guides claim — map and probe accordingly

02

python-slim image has no curl/wget; the healthcheck probes /_health/ with python urllib

03

Celery worker needs its own container with the same env — errors ingest but nothing processes without it; don't healthcheck it with celery inspect ping, which races broker registration forever

THE TESTED COMPOSE FILE — CI-BOOTED WEEKLY
# GlitchTip — Sentry-compatible error tracking that fits on a normal VPS (replaces Sentry's
# Team plan; Sentry's own self-host wants ~16GB and a dozen containers — GlitchTip is the
# sane answer)
services:
  glitchtip-web:
    image: glitchtip/glitchtip:latest
    container_name: glitchtip-web
    restart: unless-stopped
    depends_on:
      glitchtip-db:
        condition: service_healthy
      glitchtip-redis:
        condition: service_healthy
    environment: &gt-env
      DATABASE_URL: postgres://glitchtip:glitchtip@glitchtip-db:5432/glitchtip
      REDIS_URL: redis://glitchtip-redis:6379
      SECRET_KEY: 2b1e6f9c8d7a5b4c3e2f1a0d9c8b7a6f5e4d3c2b1a0f9e8d # throwaway test value
      GLITCHTIP_DOMAIN: http://localhost:8088
      EMAIL_URL: consolemail://
      ENABLE_USER_REGISTRATION: "true"
    ports:
      - "8088:8000" # glitchtip serves on 8000
    healthcheck:
      # python-slim image: no curl/wget, but python is right there
      test: ["CMD-SHELL", "python3 -c \"import urllib.request;urllib.request.urlopen('http://localhost:8000/_health/')\""]
      interval: 5s
      timeout: 5s
      retries: 36
      start_period: 30s

  glitchtip-worker:
    image: glitchtip/glitchtip:latest
    container_name: glitchtip-worker
    restart: unless-stopped
    command: ./bin/run-celery-with-beat.sh
    depends_on:
      glitchtip-db:
        condition: service_healthy
      glitchtip-redis:
        condition: service_healthy
    environment: *gt-env
    # No worker healthcheck: celery's inspect ping is unreliable as a container probe
    # (broker registration races it forever). The web container's /_health/ gate plus
    # restart: unless-stopped is the honest signal here.

  glitchtip-db:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_USER: glitchtip
      POSTGRES_PASSWORD: glitchtip
      POSTGRES_DB: glitchtip
    volumes:
      - glitchtip-pg:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U glitchtip"]
      interval: 5s
      timeout: 5s
      retries: 12

  glitchtip-redis:
    image: redis:7-alpine
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
      interval: 5s
      timeout: 5s
      retries: 12

volumes:
  glitchtip-pg:

Want a guided install instead? caniselfhostit.com/sentry has AI-agent prompts that assume a bare machine — that's their half of the stool, and it's good.

FULL TIMED LOG
# Timed setup log: Sentry → glitchtip

**Protocol:** v1 · **Verified by:** zernonia · **Date:** 2026-08-10
**Assistant:** claude-code · **Environment:** containerized runner, 2 vCPU class, Docker 29.3 / Compose v5.1

## Timeline

| Step | Time |
|---|---|
| Read upstream docs, draft compose with healthcheck | ~30 min |
| **Boot: all services healthy in 13 s (measured, `compose up --wait`)** | — |
| Endpoint-level workflow check (login/health/API serve) + re-run from clean volumes | ~30 min |
| **Total: ~90 min** | |

Boot and endpoint checks are machine-verified; `setup_min` is the wall-clock total for this
session including authoring, diagnosis and re-runs. Endpoint-level ≠ full human UI workflow —
dispute anything that doesn't reproduce (CONTRIBUTING.md).

## What broke

- The container serves on 8000, not the 8080 several guides claim — map and probe accordingly
- python-slim image has no curl/wget; the healthcheck probes /_health/ with python urllib
- Celery worker needs its own container with the same env — errors ingest but nothing processes without it; don't healthcheck it with celery inspect ping, which races broker registration forever

## Verdict-relevant notes

- SDK setup is unchanged from Sentry: swap the DSN.
03
HISTORY
10 AUG 2026UNRATED → YESInitial verdict: GlitchTip speaks the Sentry SDK protocol and fits on a normal VPS. Sentry's own self-host wants 16GB and a small ops team.