GlitchTip вместо Sentry: Устанавливаем свой сервер для отслеживания ошибок

Опубликовано 13 марта 2025 AntonSeagull 2 min

Если вам нужно отслеживать ошибки в ваших приложениях, но вы не хотите использовать платный Sentry, отличной альтернативой станет GlitchTip. Это open-source система для сбора ошибок и логирования событий, которую можно развернуть на своем сервере.

В этой статье я расскажу, как установить GlitchTip на сервер с Ubuntu 22.04, настроит веб-прокси на Nginx с SSL. В результате вы получите полностью рабочий сервер мониторинга ошибок, который не зависит от сторонних сервисов.

❗ Перед началом у вас уже должен быть:

  • Сервер с Ubuntu 22.04 (VDS/VPS)
  • Домен, привязанный к серверу

Если у вас еще нет сервера, советую арендовать VDS на Timeweb Cloud, где можно быстро развернуть сервер по доступной цене: 👉 Перейти на Timeweb Cloud

1. Установка Docker и Docker Compose

Обновим систему и установим необходимые пакеты:

sudo apt update && sudo apt upgrade -y
sudo apt install docker.io docker-compose -y

Проверим, что Docker и Docker Compose установлены:

docker --version
docker-compose --version

2. Создание конфигурации docker-compose.yml

Создадим папку для GlitchTip в удобном месте, например, /opt/glitchtip/:

sudo mkdir -p /opt/glitchtip
cd /opt/glitchtip

Скачиваем образец файла и редактируем его:

sudo wget https://glitchtip.com/assets/docker-compose.sample.yml -O docker-compose.yml

Открываем файл для редактирования:

sudo nano docker-compose.yml

Редактируем переменные среды:

x-environment: &default-environment
  DATABASE_URL: postgres://postgres:postgres@postgres:5432/postgres
  SECRET_KEY: change_me_to_something_random  # замените на случайный ключ
  PORT: 8000
  EMAIL_URL: smtp://email:password@smtp_url:port
  GLITCHTIP_DOMAIN: https://yourdomain.com  # замените на ваш домен
  DEFAULT_FROM_EMAIL: your@email.com
  CELERY_WORKER_AUTOSCALE: "1,3"

Сохраняем файл (Ctrl + X, затем Y и Enter)

3. Запуск контейнеров

Запускаем GlitchTip:

sudo docker-compose up -d

Проверяем, что сервисы работают:

sudo docker ps

Если всё корректно, GlitchTip теперь доступен на http://yourdomain.com:8000.

4. Настройка Nginx

Установка Nginx

sudo apt install nginx -y

Создаем конфигурационный файл:

sudo nano /etc/nginx/sites-available/glitchtip

Добавляем следующий конфиг:

yourdomain.com - заменить на ваш домен.

server {
    server_name yourdomain.com;
    access_log /var/log/nginx/access.log;
    client_max_body_size 40M;

    location / {
        proxy_pass http://127.0.0.1:8000;
        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;
    }
}

Сохраняем и закрываем файл (Ctrl + X, затем Y и Enter).

Активируем конфигурацию:

sudo ln -s /etc/nginx/sites-available/glitchtip /etc/nginx/sites-enabled/

Перезапускаем Nginx:

sudo systemctl restart nginx

5. Настройка SSL с Let's Encrypt

Устанавливаем Certbot:

sudo apt install certbot python3-certbot-nginx -y

Запускаем настройку SSL:

yourdomain.com - заменить на ваш домен.

sudo certbot --nginx -d yourdomain.com

Следуем инструкциям

Проверяем статус SSL:

sudo certbot renew --dry-run

Перезапускаем Nginx:

sudo systemctl restart nginx

Теперь GlitchTip доступен по https://yourdomain.com.

6.Создание суперпользователя через консоль

Пользователь по умолчанию НЕ создаётся, его нужно создать вручную. Рекомендую использовать createsuperuser через команду Docker.

docker-compose exec web ./manage.py createsuperuser

После этого система попросит ввести: • Email (логин) • Имя • Пароль

После успешного создания можно войти в систему.

7. Завершающие настройки

Проверяем логи работы GlitchTip:

sudo docker-compose logs -f

Чтобы GlitchTip автоматически запускался после перезагрузки сервера, включаем автозапуск Docker:

sudo systemctl enable docker
Статья помогла? Подарите мне чашку кофе ☕