Sentry Self-hosted Guide

Minimum System Requirement

  • Docker 19.03.6+
  • Compose 2.0.0+
  • 4 CPU Cores
  • 8 GB RAM
  • 20 GB Disk
  • Linux x86-64

Clone

# Assuming current latest version is 24.12.2
# Current actual version can be acquired from the Releases page on GitHub
VERSION="24.12.2"
git clone https://github.com/getsentry/self-hosted.git
cd self-hosted
git checkout ${VERSION}
sudo ./install.sh

Configuration

Go to sentry/config.yml or if you can create it from sentry/config.example.yml. Available config:

  1. Mail (for notification service)
  2. File Storage (Local / S3)
  3. System url which Sentry is accessible.
  4. Discord integration

To avoid common error like Clickhouse is unhealthy, go to clickhouse/config.yml, edit value on max_suspicious_broken_parts to 1000 so it should be like this

<yandex>
    <max_server_memory_usage_to_ram_ratio>
        <!-- This include is important!
         It is required for the version of Clickhouse
         used on ARM to read the environment variable. -->
        <include from_env="MAX_MEMORY_USAGE_RATIO"/>
    </max_server_memory_usage_to_ram_ratio>
    <logger>
        <level>warning</level>
        <console>true</console>
    </logger>
    <query_thread_log remove="remove"/>
    <query_log remove="remove"/>
    <text_log remove="remove"/>
    <trace_log remove="remove"/>
    <metric_log remove="remove"/>
    <asynchronous_metric_log remove="remove"/>

    <!-- Update: Required for newer versions of Clickhouse -->
    <session_log remove="remove"/>
    <part_log remove="remove"/>

    <profiles>
        <default>
            <log_queries>0</log_queries>
            <log_query_threads>0</log_query_threads>
        </default>
    </profiles>
    <merge_tree>
        <enable_mixed_granularity_parts>1</enable_mixed_granularity_parts>
        <max_suspicious_broken_parts>1000</max_suspicious_broken_parts>
    </merge_tree>
</yandex>