GlitchTip (Sentry Alternative) on AlmaLinux 9 (Docker Compose + Nginx + SSL)

GlitchTip is a modern, open-source error tracking and performance monitoring platform designed as a lightweight, privacy-focused alternative to Sentry. It helps developers detect and analyze application errors, monitor performance, and track releases — all with full control over infrastructure and data. GlitchTip supports Sentry SDKs, making it a seamless replacement for existing Sentry integrations.

Running GlitchTip on AlmaLinux 9, a RHEL-compatible enterprise operating system, ensures stability, reliability, and long-term security for production environments. With SELinux enforcement, systemd 252, OpenSSL 3, and the latest Docker packages, AlmaLinux 9 is an excellent foundation for deploying GlitchTip using Docker Compose, PostgreSQL, Redis, and Nginx with SSL.


Architecture Overview

LayerComponentRole
OSAlmaLinux 9Enterprise-grade, RHEL-compatible operating system
Container RuntimeDocker Engine + ComposeOrchestrates GlitchTip services and dependencies
ApplicationGlitchTip (Django)Web interface and backend for error tracking and analytics
DatabasePostgreSQL 15Stores projects, user data, and event logs
Cache/QueueRedisHandles background jobs, async events, and caching
Reverse ProxyNginxTerminates HTTPS, routes requests, and handles compression
TLSLet’s Encrypt / PKIProvides SSL encryption for web interface and API

Why Use GlitchTip?

  • Open-source Sentry replacement – no licensing fees or data restrictions.
  • Sentry SDK compatible – easily switch without code changes.
  • Privacy-focused – all data stays within your infrastructure.
  • Performance metrics – monitor response times and bottlenecks.
  • Team management – multi-user roles, project grouping, and reporting.
  • Email notifications – alert teams of critical exceptions automatically.
  • Efficient and scalable – runs smoothly on modest resources.

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 tiersSubscriptionLicense-based
Ideal forDevOps teams / SMBsEnterprisesFrontend appsLarge setups

GlitchTip offers Sentry-level monitoring with complete transparency, making it ideal for teams who value open-source freedom, simplicity, and data ownership.


Security & Best Practices

  • Deploy behind Nginx or Traefik with HTTPS enabled.
  • Use Docker secrets or .env files to store credentials securely.
  • Limit PostgreSQL and Redis access to internal Docker networks.
  • Enable SELinux enforcement and configure ports via semanage.
  • Keep Docker images, AlmaLinux, and GlitchTip updated regularly.
  • Restrict access with firewalld, allowing only ports 80 and 443.
  • Automate SSL renewals with Certbot or Traefik’s ACME integration.
  • Schedule PostgreSQL backups for database recovery and retention.
  • Enable fail2ban or similar tools for login brute-force protection.

Typical Use Cases

  • Error monitoring for web, mobile, and backend systems.
  • Frontend crash tracking using Sentry-compatible SDKs.
  • Performance monitoring for API latency and server response time.
  • Release tracking with deployment visibility.
  • Self-hosted observability for GDPR- or HIPAA-compliant environments.
  • Alternative to Sentry Cloud for teams requiring privacy and independence.

Deploying GlitchTip on AlmaLinux 9 with Docker Compose provides a robust, secure, and fully self-hosted monitoring platform that rivals Sentry in functionality — ideal for developers, startups, and enterprises seeking open-source control and reliability.


Step 1: Create a Shape.Host Cloud VPS Instance

Go to Shape.Host and log in.

Click Create → Instance.

Shape.host Resources dashboard with Create > Instance highlighted.

Choose your preferred location.

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 AlmaLinux 9 (64-bit) 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 server IP address from the Resources section.

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

Step 2: Connect to Your Server

Connect via SSH:

ssh root@your_server_ip

Step 3: Update the System

It’s important to update all packages to ensure stability and compatibility.

dnf update -y
Terminal showing DNF/YUM package management commands and output.

Step 4: Install Docker and Dependencies

Install required packages for repository management and HTTPS communication:

dnf install curl ca-certificates gnupg2 yum-utils -y
Terminal showing DNF/YUM package management commands and output.

Add Docker’s official repository for CentOS/AlmaLinux:

dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Terminal showing dnf commands or output during Install Docker and Dependencies.

Install Docker Engine, the CLI tools, and Docker Compose plugin:

dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
Terminal showing DNF/YUM package management commands and output.

Enable and start the Docker service:

systemctl enable --now docker

Check Docker and Docker Compose versions to confirm installation:

docker --version
docker compose version

Step 5: Prepare the GlitchTip Directory

Create and navigate to the GlitchTip installation directory:

mkdir -p /opt/glitchtip
cd /opt/glitchtip
Terminal showing systemd service management commands or output.

Step 6: Create the Docker Compose Configuration

Create the Docker Compose configuration 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

⚙️ Important Notes:

  • Replace strongpassword with a strong PostgreSQL password.
  • Replace changethiskeytoarandomstring with a secure 32-character random string (openssl rand -hex 32).
  • Replace smtp.example.com with your actual mail server.
  • Change glitchtip.example.com to your real domain name.

Save and exit with CTRL + O, ENTER, CTRL + X.

Terminal showing application configuration fields.

Step 7: Launch GlitchTip Containers

Download the required images and start all containers:

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

Check if everything is running:

docker ps
Terminal showing the Docker container listing.

Step 8: Initialize the Database

Run the database migrations:

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

Create a superuser account to log in to GlitchTip:

docker compose exec glitchtip python3 manage.py createsuperuser

Enter your email, username, and password when prompted.

Terminal showing docker commands or output during Initialize the Database.

Step 9: Install and Configure Nginx

Install Nginx to serve GlitchTip behind a reverse proxy:

dnf install nginx -y
Terminal showing DNF/YUM package management commands and output.

Enable and start Nginx:

systemctl enable --now nginx

Create a new Nginx configuration file:

nano /etc/nginx/conf.d/glitchtip.conf

Paste this 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.

Check the syntax and reload Nginx:

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:

dnf install certbot python3-certbot-nginx -y
Terminal showing DNF/YUM package management commands and output.

Obtain and apply a free SSL certificate from Let’s Encrypt:

certbot --nginx -d almalinux-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: Restart Containers

Restart the GlitchTip containers to ensure all services load with the latest environment settings:

docker compose restart
Terminal showing systemd service management commands or output.

Step 12: Access GlitchTip

Open your browser and visit:

https://glitchtip.example.com

Log in with the superuser credentials you created earlier.
You’ll now have access to your self-hosted Sentry-compatible error tracking system.

GlitchTip sign-in form.
GlitchTip project screen with project management controls.

Step 13: (Optional) Enable Firewall Rules

Allow essential services through the firewall:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

You installed GlitchTip (Sentry Alternative) on AlmaLinux 9 using Docker Compose, Nginx, and Let’s Encrypt SSL.

You now have a robust, self-hosted monitoring platform with complete data control — ideal for development teams or enterprises that prioritize privacy, security, and flexibility.

Deploy GlitchTip confidently on a Shape.Host Linux SSD VPS, built for performance, reliability, and full root access.