GlitchTip (Sentry Alternative) on Debian 12 (Docker Compose + Nginx + SSL)

GlitchTip is a modern, open-source error tracking and performance monitoring platform that serves as a drop-in alternative to Sentry. It helps developers monitor application health, detect bugs, and analyze performance through a user-friendly web interface. GlitchTip supports Sentry-compatible SDKs, allowing you to migrate seamlessly from Sentry while maintaining full control of your data.

Running GlitchTip on Debian 12 (Bookworm) ensures a stable, secure, and production-ready environment. Debian 12 features systemd 252, OpenSSL 3, and updated Docker Engine packages — making it ideal for hosting GlitchTip with PostgreSQL, Redis, Docker Compose, Nginx, and SSL encryption for enterprise-grade reliability.


Architecture Overview

LayerComponentRole
OSDebian 12 (Bookworm)Stable and long-term supported Linux base
Container RuntimeDocker Engine + ComposeOrchestrates GlitchTip and its dependencies
ApplicationGlitchTip (Django)Core error tracking and performance monitoring application
DatabasePostgreSQL 15Stores user, project, and issue data
Cache/QueueRedisManages background task queues and event processing
Reverse ProxyNginxHandles HTTPS termination, routing, and compression
TLSLet’s Encrypt / PKIProvides secure HTTPS access for GlitchTip dashboard and APIs

Why Use GlitchTip?

  • Open-source Sentry alternative – same functionality, zero vendor lock-in.
  • Sentry SDK compatible – supports existing client libraries and integrations.
  • Privacy-first design – all data stays on your infrastructure.
  • Performance monitoring – identify slow transactions and backend bottlenecks.
  • Team collaboration – invite users, manage roles, and track issues per project.
  • Email notifications – configurable SMTP alerts for errors and regressions.
  • Lightweight and efficient – runs well on modest infrastructure.

GlitchTip vs Other Error Tracking Tools

Feature/CapabilityGlitchTip (Self-hosted)Sentry (Cloud/Self-hosted)LogRocketElastic APM
HostingSelf-hosted / CloudCloud or on-premCloud onlySelf-hosted / Cloud
DatabasePostgreSQLPostgreSQLProprietaryElasticsearch
Source available100% open-sourcePartially open-sourceNoYes
SDK compatibilitySentry SDKs supportedNativeNoPartial
CostFree, open-sourcePaid tiersSubscriptionDepends on license
Ideal forSMBs / DevOps teamsEnterprisesFrontend appsLarge infrastructures

GlitchTip delivers Sentry-grade observability at zero licensing cost — making it the preferred choice for developers, startups, and DevOps teams seeking error tracking and performance analytics with full data ownership.


Security & Best Practices

  • Run GlitchTip behind Nginx with HTTPS enabled.
  • Store all database passwords and API keys securely in .env or Docker secrets.
  • Limit PostgreSQL and Redis to internal Docker networks.
  • Use Debian’s UFW or nftables to allow only ports 80/443.
  • Keep Docker images and Debian packages updated frequently.
  • Configure SMTP credentials for email alerts.
  • Enable automatic SSL renewals using Certbot or Traefik ACME.
  • Set up automated backups for PostgreSQL data volumes.
  • Apply fail2ban or rate limiting to prevent brute-force attacks.

Typical Use Cases

  • Error and crash monitoring for web, mobile, and backend services.
  • Frontend error tracking using Sentry-compatible SDKs.
  • Performance analytics for slow endpoints or database queries.
  • Application health monitoring across microservices.
  • Self-hosted observability for teams needing GDPR or HIPAA compliance.

Deploying GlitchTip on Debian 12 with Docker Compose and Nginx gives you a secure, scalable, and Sentry-compatible error tracking platform — perfect for teams that want full transparency, privacy, and control while maintaining enterprise-level observability.


Step 1: Create a Shape.Host Cloud VPS Instance

Log in to Shape.Host.

Click Create → Instance.

Shape.host Resources dashboard with Create > Instance highlighted.

Choose a server location near your users.

Shape.host instance form with the data center location selector highlighted.

Select a plan with at least 2 CPUs, 4 GB RAM, and 20 GB SSD.

Choose Debian 12 (Bookworm) as your operating system.

Shape.host instance form with the operating system image selector highlighted.

Click Create Instance.

Shape.host instance form with the Create Instance button highlighted.

Copy the public IP address of your instance — you’ll need it for SSH access.

Shape.host Resources dashboard with the server IP address highlighted.

Step 2: Connect to Your Server

Connect using SSH:

ssh root@your_server_ip

Step 3: Update the System

Update all packages to the latest versions:

apt update
Terminal showing APT package management commands and output.

Step 4: Install Docker and Dependencies

Install essential tools for managing repositories and HTTPS connections:

apt install ca-certificates curl gnupg
Terminal showing APT package management commands and output.

Create a directory for Docker’s GPG key:

install -m 0755 -d /etc/apt/keyrings

Download Docker’s official GPG key:

curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc

Allow read access to the key:

chmod a+r /etc/apt/keyrings/docker.asc

Add Docker’s official repository for Debian 12 (Bookworm):

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/debian bookworm stable" > /etc/apt/sources.list.d/docker.list

Update your package index again:

apt update
Terminal showing APT package management commands and output.

Install Docker Engine and the Docker Compose plugin:

apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Terminal showing APT package management commands and output.

Check versions to confirm installation:

docker --version
docker compose version

Step 5: Create GlitchTip Directory

Create a dedicated directory for GlitchTip and navigate into it:

mkdir -p /opt/glitchtip
cd /opt/glitchtip
Terminal showing the installed Docker Compose version.

Step 6: Create the Docker Compose Configuration

Create the Docker Compose file:

nano docker-compose.yml

Paste the following configuration:

services:
  postgres:
    image: postgres:15
    container_name: glitchtip_postgres
    restart: always
    environment:
      POSTGRES_DB: glitchtip
      POSTGRES_USER: glitchtip
      POSTGRES_PASSWORD: strongpassword
    volumes:
      - ./postgres-data:/var/lib/postgresql/data

  redis:
    image: redis:7
    container_name: glitchtip_redis
    restart: always

  glitchtip:
    image: glitchtip/glitchtip:latest
    container_name: glitchtip_app
    depends_on:
      - postgres
      - redis
    environment:
      DATABASE_URL: postgres://glitchtip:strongpassword@postgres:5432/glitchtip
      SECRET_KEY: changethiskeytoarandomstring
      EMAIL_URL: smtp://smtp.example.com:587
      DEFAULT_FROM_EMAIL: noreply@example.com
      CELERY_BROKER_URL: redis://redis:6379/0
      ENABLE_SIGNUPS: "True"
      GLITCHTIP_DOMAIN: https://glitchtip.example.com
    ports:
      - "8000:8080"
    volumes:
      - ./uploads:/app/uploads
    restart: always

🧠 Notes:

  • Replace strongpassword with your own secure PostgreSQL password.
  • Replace changethiskeytoarandomstring with a strong random string (use openssl rand -hex 32).
  • Update smtp.example.com with your actual mail server credentials.
  • Replace glitchtip.example.com with your domain name.

Save and exit (CTRL + O, ENTER, CTRL + X).

Terminal showing application configuration fields.

Step 7: Start GlitchTip

Pull and start the Docker containers:

docker compose up -d
Terminal showing container image download progress.

Check running containers:

docker ps
Terminal showing the Docker container listing.

Step 8: Initialize the Database

Run database migrations:

docker compose exec glitchtip python3 manage.py migrate
Terminal showing docker commands or output during Initialize the Database.

Create an administrator account:

docker compose exec glitchtip python3 manage.py createsuperuser

Enter your desired username, email, and password when prompted.

Terminal showing docker commands or output during Initialize the Database.

Step 9: Install and Configure Nginx

Install Nginx:

apt install nginx
Terminal showing APT package management commands and output.

Create a reverse proxy configuration for GlitchTip:

nano /etc/nginx/sites-available/glitchtip.conf

Paste the following configuration:

server {
    listen 80;
    server_name glitchtip.example.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
    }
}
Terminal showing web server configuration text.

Enable the site and reload Nginx:

ln -s /etc/nginx/sites-available/glitchtip.conf /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
Terminal showing systemd service management commands or output.

Step 10: Secure GlitchTip with SSL

Install Certbot and its Nginx plugin:

apt install certbot python3-certbot-nginx
Terminal showing APT package management commands and output.

Run Certbot to automatically generate and configure an SSL certificate:

certbot --nginx -d debian-tutorials.shape.host --email contact@shape.host --agree-tos --non-interactive
Terminal showing Certbot certificate commands and messages.

Reload Nginx to apply HTTPS:

systemctl reload nginx

Step 11: Access Your GlitchTip Instance

Open your web browser and visit:

https://glitchtip.example.com

Log in using the credentials you set for your superuser.

You now have a fully functional, self-hosted error monitoring and reporting platform ready for use.

GlitchTip sign-in form.
GlitchTip settings interface.

Step 12: (Optional) Verify and Maintain

To ensure your installation is running correctly:

docker compose ps
docker compose logs -f glitchtip

To stop and start containers later:

docker compose down
docker compose up -d

You have installed GlitchTip (Sentry Alternative) on Debian 12 with Docker Compose, Nginx, and SSL encryption.

This self-hosted monitoring solution offers full control of your data and integrates seamlessly with modern development pipelines.

Deploying it on a Shape.Host Cloud VPS ensures stability, performance, and privacy for your team’s monitoring infrastructure.