CINXE.COM

Self-Hosted Sentry

<!DOCTYPE html><html lang="en" data-sentry-component="RootLayout" data-sentry-source-file="layout.tsx"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/b9378c7268e717c1-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c22ccc5eb58b83e1-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/edf4692f53ea525c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c17e2f2a11627bf5.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b52557125fa02b8a.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/49f3ee8f4a75ee4c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/998bb790b26f878e.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/a3ca3a1d3fcc5e48.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/e3f879540e6856ec.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-59054c1c74ef79f9.js"/><script src="/_next/static/chunks/bc085c76-aaca70ef61e26627.js" async=""></script><script src="/_next/static/chunks/e27a9f8b-4923fb0043889202.js" async=""></script><script src="/_next/static/chunks/4bd1b696-18a3d423c1334870.js" async=""></script><script src="/_next/static/chunks/1298-45ebacbee721baf5.js" async=""></script><script src="/_next/static/chunks/main-app-8fe94547851a3870.js" async=""></script><script src="/_next/static/chunks/2408-0ebe5cf945b50b31.js" async=""></script><script src="/_next/static/chunks/app/layout-c1d0666c6eec90c1.js" async=""></script><script src="/_next/static/chunks/0e5ce63c-1aac88c3332c7248.js" async=""></script><script src="/_next/static/chunks/3293-da97718f26276355.js" async=""></script><script src="/_next/static/chunks/7921-806c72706ef98f30.js" async=""></script><script src="/_next/static/chunks/5075-11875491cdef63d9.js" async=""></script><script src="/_next/static/chunks/4258-c4b4a778f777d1b9.js" async=""></script><script src="/_next/static/chunks/4744-4eef31a07d6470a8.js" async=""></script><script src="/_next/static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js" async=""></script><script src="/_next/static/chunks/app/not-found-9c4a5d3fa1f2996d.js" async=""></script><script src="/_next/static/chunks/app/%5B%5B...path%5D%5D/layout-b0f364fc260585db.js" async=""></script><script src="/_next/static/chunks/app/global-error-f0264b0d73abd625.js" async=""></script><link rel="preload" href="https://plausible.io/js/script.js" as="script"/><link rel="preload" href="https://widget.kapa.ai/kapa-widget.bundle.js" as="script"/><meta name="next-size-adjust" content=""/><title>Self-Hosted Sentry</title><meta name="description" content="How you can run all of Sentry on your own server, without paying anything."/><meta name="zd-site-verification" content="ocu6mswx6pke3c6qvozr2e"/><link rel="canonical" href="https://develop.sentry.dev/self-hosted/"/><meta property="og:title" content="Self-Hosted Sentry"/><meta property="og:description" content="How you can run all of Sentry on your own server, without paying anything."/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary"/><meta name="twitter:title" content="Self-Hosted Sentry"/><meta name="twitter:description" content="How you can run all of Sentry on your own server, without paying anything."/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d51e15"><script>!function(){try{var d=document.documentElement,c=d.classList;c.remove('light','dark');var e=localStorage.getItem('theme');if('system'===e||(!e&&true)){var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);if(m.media!==t||m.matches){d.style.colorScheme = 'dark';c.add('dark')}else{d.style.colorScheme = 'light';c.add('light')}}else if(e){c.add(e|| '')}if(e==='light'||e==='dark')d.style.colorScheme=e}catch(e){}}()</script><div data-is-root-theme="true" data-accent-color="iris" data-gray-color="sand" data-has-background="true" data-panel-background="translucent" data-radius="large" data-scaling="95%" data-sentry-element="Theme" data-sentry-source-file="layout.tsx" class="radix-themes"><div data-sentry-component="DocsLayout" data-sentry-source-file="layout.tsx"><div class="tw-app" data-sentry-component="DocPage" data-sentry-source-file="index.tsx"><header class="bg-[var(--gray-1)] h-[var(--header-height)] w-full z-50 border-b border-[var(--gray-a3)] fixed top-0" data-sentry-component="Header" data-sentry-source-file="header.tsx"><style>:root { --header-height: 80px; }</style><nav class="mx-auto px-6 lg:px-8 py-2 flex items-center"><button class="lg:hidden mr-3"><label for="style_navbar-menu-toggle__dc5I6" aria-label="Close" aria-hidden="true" class="inline-flex items-center cursor-pointer"><svg width="22" height="22" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="inline dark:text-[var(--foreground)] text-[var(--gray-10)]" stroke-width="1.8"><path d="M1.5 3C1.22386 3 1 3.22386 1 3.5C1 3.77614 1.22386 4 1.5 4H13.5C13.7761 4 14 3.77614 14 3.5C14 3.22386 13.7761 3 13.5 3H1.5ZM1 7.5C1 7.22386 1.22386 7 1.5 7H13.5C13.7761 7 14 7.22386 14 7.5C14 7.77614 13.7761 8 13.5 8H1.5C1.22386 8 1 7.77614 1 7.5ZM1 11.5C1 11.2239 1.22386 11 1.5 11H13.5C13.7761 11 14 11.2239 14 11.5C14 11.7761 13.7761 12 13.5 12H1.5C1.22386 12 1 11.7761 1 11.5Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></label></button><a title="Sentry error monitoring" class="flex flex-shrink-0 items-center lg:w-[calc(var(--sidebar-width,300px)-2rem)] text-2xl font-medium text-[var(--foreground)]" data-sentry-element="Link" data-sentry-source-file="header.tsx" href="/"><div class="h-full pb-[6px]"><img alt="Sentry&#x27;s logo" data-sentry-element="Image" data-sentry-source-file="header.tsx" loading="lazy" width="40" height="37" decoding="async" data-nimg="1" class="h-16 dark:invert" style="color:transparent" src="/_next/static/media/sentry-logo-dark.fc8e1eeb.svg"/></div>Docs</a><div class="hidden md:flex justify-center lg:justify-start w-full px-6"><div class="search_search__KfRs2" data-sentry-component="Search" data-sentry-source-file="index.tsx"><div class="search_search-bar__XzLtg"><div class="search_input-wrapper__pLUH0"><input type="text" placeholder="Search Docs" aria-label="Search" class="search_search-input__BGbR4" value=""/><kbd class="search_search-hotkey__R5dYK" data-focused="false">鈱楰</kbd></div><span class="text-[var(--desatPurple10)] hidden md:inline">or</span><div data-accent-color="gray" data-radius="medium" data-sentry-element="Button" data-sentry-source-file="index.tsx" class="rt-reset rt-BaseButton rt-r-size-3 rt-variant-ghost rt-Button font-medium text-[var(--foreground)] py-2 px-3 uppercase cursor-pointer kapa-ai-class hidden md:flex"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-5 undefined" data-sentry-element="svg" data-sentry-component="MagicIcon" data-sentry-source-file="magic.tsx"><path stroke-linecap="round" stroke-linejoin="round" d="M9.813 15.904 9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09ZM18.259 8.715 18 9.75l-.259-1.035a3.375 3.375 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 0 0-2.456 2.456ZM16.894 20.567 16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394-1.183.394a2.25 2.25 0 0 0-1.423 1.423Z" data-sentry-element="path" data-sentry-source-file="magic.tsx"></path></svg><span>Ask AI</span></div></div></div></div><div class="hidden lg-xl:flex justify-end flex-1 gap-6 items-center min-w-fit"><a data-sentry-element="Link" data-sentry-source-file="navlink.tsx" data-accent-color="gray" data-radius="medium" data-sentry-component="NavLink" class="rt-reset rt-BaseButton rt-r-size-3 rt-variant-ghost rt-Button font-medium text-[var(--foreground)] py-2 px-3 uppercase" href="https://sentry.io/changelog/">Changelog</a><a data-sentry-element="Link" data-sentry-source-file="navlink.tsx" data-accent-color="gray" data-radius="medium" data-sentry-component="NavLink" class="rt-reset rt-BaseButton rt-r-size-3 rt-variant-ghost rt-Button font-medium text-[var(--foreground)] py-2 px-3 uppercase" href="https://try.sentry-demo.com/demo/start/">Sandbox</a><a data-sentry-element="Link" data-sentry-source-file="navlink.tsx" data-accent-color="gray" data-radius="medium" data-sentry-component="NavLink" class="rt-reset rt-BaseButton rt-r-size-3 rt-variant-ghost rt-Button font-medium text-[var(--foreground)] py-2 px-3 uppercase" href="https://sentry.io/">Go to Sentry</a><a class="rt-reset rt-BaseButton rt-r-size-3 rt-variant-ghost rt-Button font-medium text-[var(--foreground)] py-2 px-3 uppercase transition-all duration-300 ease-in-out hover:bg-gradient-to-r hover:from-[#fa7faa] hover:via-[#ff9691] hover:to-[#ffb287]" data-sentry-element="Link" data-sentry-source-file="navlink.tsx" data-accent-color="gray" data-radius="medium" data-sentry-component="NavLink" href="https://sentry.io/signup/">Get Started</a><style> :root, .light, .light-theme { --theme-toggle-sun-icon-display: block; --theme-toggle-moon-icon-display: none; } .dark, .dark-theme { --theme-toggle-sun-icon-display: none; --theme-toggle-moon-icon-display: block; } </style><button data-accent-color="gray" data-sentry-element="IconButton" data-sentry-source-file="theme-toggle.tsx" data-state="closed" class="rt-reset rt-BaseButton rt-r-size-3 rt-variant-ghost rt-IconButton"><svg width="16" height="16" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="display:var(--theme-toggle-sun-icon-display)" data-sentry-element="SunIcon" data-sentry-source-file="theme-toggle.tsx"><path d="M7.5 0C7.77614 0 8 0.223858 8 0.5V2.5C8 2.77614 7.77614 3 7.5 3C7.22386 3 7 2.77614 7 2.5V0.5C7 0.223858 7.22386 0 7.5 0ZM2.1967 2.1967C2.39196 2.00144 2.70854 2.00144 2.90381 2.1967L4.31802 3.61091C4.51328 3.80617 4.51328 4.12276 4.31802 4.31802C4.12276 4.51328 3.80617 4.51328 3.61091 4.31802L2.1967 2.90381C2.00144 2.70854 2.00144 2.39196 2.1967 2.1967ZM0.5 7C0.223858 7 0 7.22386 0 7.5C0 7.77614 0.223858 8 0.5 8H2.5C2.77614 8 3 7.77614 3 7.5C3 7.22386 2.77614 7 2.5 7H0.5ZM2.1967 12.8033C2.00144 12.608 2.00144 12.2915 2.1967 12.0962L3.61091 10.682C3.80617 10.4867 4.12276 10.4867 4.31802 10.682C4.51328 10.8772 4.51328 11.1938 4.31802 11.3891L2.90381 12.8033C2.70854 12.9986 2.39196 12.9986 2.1967 12.8033ZM12.5 7C12.2239 7 12 7.22386 12 7.5C12 7.77614 12.2239 8 12.5 8H14.5C14.7761 8 15 7.77614 15 7.5C15 7.22386 14.7761 7 14.5 7H12.5ZM10.682 4.31802C10.4867 4.12276 10.4867 3.80617 10.682 3.61091L12.0962 2.1967C12.2915 2.00144 12.608 2.00144 12.8033 2.1967C12.9986 2.39196 12.9986 2.70854 12.8033 2.90381L11.3891 4.31802C11.1938 4.51328 10.8772 4.51328 10.682 4.31802ZM8 12.5C8 12.2239 7.77614 12 7.5 12C7.22386 12 7 12.2239 7 12.5V14.5C7 14.7761 7.22386 15 7.5 15C7.77614 15 8 14.7761 8 14.5V12.5ZM10.682 10.682C10.8772 10.4867 11.1938 10.4867 11.3891 10.682L12.8033 12.0962C12.9986 12.2915 12.9986 12.608 12.8033 12.8033C12.608 12.9986 12.2915 12.9986 12.0962 12.8033L10.682 11.3891C10.4867 11.1938 10.4867 10.8772 10.682 10.682ZM5.5 7.5C5.5 6.39543 6.39543 5.5 7.5 5.5C8.60457 5.5 9.5 6.39543 9.5 7.5C9.5 8.60457 8.60457 9.5 7.5 9.5C6.39543 9.5 5.5 8.60457 5.5 7.5ZM7.5 4.5C5.84315 4.5 4.5 5.84315 4.5 7.5C4.5 9.15685 5.84315 10.5 7.5 10.5C9.15685 10.5 10.5 9.15685 10.5 7.5C10.5 5.84315 9.15685 4.5 7.5 4.5Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg><svg width="16" height="16" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="display:var(--theme-toggle-moon-icon-display)" data-sentry-element="MoonIcon" data-sentry-source-file="theme-toggle.tsx"><path d="M2.89998 0.499976C2.89998 0.279062 2.72089 0.0999756 2.49998 0.0999756C2.27906 0.0999756 2.09998 0.279062 2.09998 0.499976V1.09998H1.49998C1.27906 1.09998 1.09998 1.27906 1.09998 1.49998C1.09998 1.72089 1.27906 1.89998 1.49998 1.89998H2.09998V2.49998C2.09998 2.72089 2.27906 2.89998 2.49998 2.89998C2.72089 2.89998 2.89998 2.72089 2.89998 2.49998V1.89998H3.49998C3.72089 1.89998 3.89998 1.72089 3.89998 1.49998C3.89998 1.27906 3.72089 1.09998 3.49998 1.09998H2.89998V0.499976ZM5.89998 3.49998C5.89998 3.27906 5.72089 3.09998 5.49998 3.09998C5.27906 3.09998 5.09998 3.27906 5.09998 3.49998V4.09998H4.49998C4.27906 4.09998 4.09998 4.27906 4.09998 4.49998C4.09998 4.72089 4.27906 4.89998 4.49998 4.89998H5.09998V5.49998C5.09998 5.72089 5.27906 5.89998 5.49998 5.89998C5.72089 5.89998 5.89998 5.72089 5.89998 5.49998V4.89998H6.49998C6.72089 4.89998 6.89998 4.72089 6.89998 4.49998C6.89998 4.27906 6.72089 4.09998 6.49998 4.09998H5.89998V3.49998ZM1.89998 6.49998C1.89998 6.27906 1.72089 6.09998 1.49998 6.09998C1.27906 6.09998 1.09998 6.27906 1.09998 6.49998V7.09998H0.499976C0.279062 7.09998 0.0999756 7.27906 0.0999756 7.49998C0.0999756 7.72089 0.279062 7.89998 0.499976 7.89998H1.09998V8.49998C1.09998 8.72089 1.27906 8.89997 1.49998 8.89997C1.72089 8.89997 1.89998 8.72089 1.89998 8.49998V7.89998H2.49998C2.72089 7.89998 2.89998 7.72089 2.89998 7.49998C2.89998 7.27906 2.72089 7.09998 2.49998 7.09998H1.89998V6.49998ZM8.54406 0.98184L8.24618 0.941586C8.03275 0.917676 7.90692 1.1655 8.02936 1.34194C8.17013 1.54479 8.29981 1.75592 8.41754 1.97445C8.91878 2.90485 9.20322 3.96932 9.20322 5.10022C9.20322 8.37201 6.82247 11.0878 3.69887 11.6097C3.45736 11.65 3.20988 11.6772 2.96008 11.6906C2.74563 11.702 2.62729 11.9535 2.77721 12.1072C2.84551 12.1773 2.91535 12.2458 2.98667 12.3128L3.05883 12.3795L3.31883 12.6045L3.50684 12.7532L3.62796 12.8433L3.81491 12.9742L3.99079 13.089C4.11175 13.1651 4.23536 13.2375 4.36157 13.3059L4.62496 13.4412L4.88553 13.5607L5.18837 13.6828L5.43169 13.7686C5.56564 13.8128 5.70149 13.8529 5.83857 13.8885C5.94262 13.9155 6.04767 13.9401 6.15405 13.9622C6.27993 13.9883 6.40713 14.0109 6.53544 14.0298L6.85241 14.0685L7.11934 14.0892C7.24637 14.0965 7.37436 14.1002 7.50322 14.1002C11.1483 14.1002 14.1032 11.1453 14.1032 7.50023C14.1032 7.25044 14.0893 7.00389 14.0623 6.76131L14.0255 6.48407C13.991 6.26083 13.9453 6.04129 13.8891 5.82642C13.8213 5.56709 13.7382 5.31398 13.6409 5.06881L13.5279 4.80132L13.4507 4.63542L13.3766 4.48666C13.2178 4.17773 13.0353 3.88295 12.8312 3.60423L12.6782 3.40352L12.4793 3.16432L12.3157 2.98361L12.1961 2.85951L12.0355 2.70246L11.8134 2.50184L11.4925 2.24191L11.2483 2.06498L10.9562 1.87446L10.6346 1.68894L10.3073 1.52378L10.1938 1.47176L9.95488 1.3706L9.67791 1.2669L9.42566 1.1846L9.10075 1.09489L8.83599 1.03486L8.54406 0.98184ZM10.4032 5.30023C10.4032 4.27588 10.2002 3.29829 9.83244 2.40604C11.7623 3.28995 13.1032 5.23862 13.1032 7.50023C13.1032 10.593 10.596 13.1002 7.50322 13.1002C6.63646 13.1002 5.81597 12.9036 5.08355 12.5522C6.5419 12.0941 7.81081 11.2082 8.74322 10.0416C8.87963 10.2284 9.10028 10.3497 9.34928 10.3497C9.76349 10.3497 10.0993 10.0139 10.0993 9.59971C10.0993 9.24256 9.84965 8.94373 9.51535 8.86816C9.57741 8.75165 9.63653 8.63334 9.6926 8.51332C9.88358 8.63163 10.1088 8.69993 10.35 8.69993C11.0403 8.69993 11.6 8.14028 11.6 7.44993C11.6 6.75976 11.0406 6.20024 10.3505 6.19993C10.3853 5.90487 10.4032 5.60464 10.4032 5.30023Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div><div class="lg-xl:hidden ml-auto"><div class="flex gap-6 items-center" data-sentry-component="MobileMenu" data-sentry-source-file="index.tsx"><style> :root, .light, .light-theme { --theme-toggle-sun-icon-display: block; --theme-toggle-moon-icon-display: none; } .dark, .dark-theme { --theme-toggle-sun-icon-display: none; --theme-toggle-moon-icon-display: block; } </style><button data-accent-color="gray" data-sentry-element="IconButton" data-sentry-source-file="theme-toggle.tsx" data-state="closed" class="rt-reset rt-BaseButton rt-r-size-3 rt-variant-ghost rt-IconButton"><svg width="16" height="16" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="display:var(--theme-toggle-sun-icon-display)" data-sentry-element="SunIcon" data-sentry-source-file="theme-toggle.tsx"><path d="M7.5 0C7.77614 0 8 0.223858 8 0.5V2.5C8 2.77614 7.77614 3 7.5 3C7.22386 3 7 2.77614 7 2.5V0.5C7 0.223858 7.22386 0 7.5 0ZM2.1967 2.1967C2.39196 2.00144 2.70854 2.00144 2.90381 2.1967L4.31802 3.61091C4.51328 3.80617 4.51328 4.12276 4.31802 4.31802C4.12276 4.51328 3.80617 4.51328 3.61091 4.31802L2.1967 2.90381C2.00144 2.70854 2.00144 2.39196 2.1967 2.1967ZM0.5 7C0.223858 7 0 7.22386 0 7.5C0 7.77614 0.223858 8 0.5 8H2.5C2.77614 8 3 7.77614 3 7.5C3 7.22386 2.77614 7 2.5 7H0.5ZM2.1967 12.8033C2.00144 12.608 2.00144 12.2915 2.1967 12.0962L3.61091 10.682C3.80617 10.4867 4.12276 10.4867 4.31802 10.682C4.51328 10.8772 4.51328 11.1938 4.31802 11.3891L2.90381 12.8033C2.70854 12.9986 2.39196 12.9986 2.1967 12.8033ZM12.5 7C12.2239 7 12 7.22386 12 7.5C12 7.77614 12.2239 8 12.5 8H14.5C14.7761 8 15 7.77614 15 7.5C15 7.22386 14.7761 7 14.5 7H12.5ZM10.682 4.31802C10.4867 4.12276 10.4867 3.80617 10.682 3.61091L12.0962 2.1967C12.2915 2.00144 12.608 2.00144 12.8033 2.1967C12.9986 2.39196 12.9986 2.70854 12.8033 2.90381L11.3891 4.31802C11.1938 4.51328 10.8772 4.51328 10.682 4.31802ZM8 12.5C8 12.2239 7.77614 12 7.5 12C7.22386 12 7 12.2239 7 12.5V14.5C7 14.7761 7.22386 15 7.5 15C7.77614 15 8 14.7761 8 14.5V12.5ZM10.682 10.682C10.8772 10.4867 11.1938 10.4867 11.3891 10.682L12.8033 12.0962C12.9986 12.2915 12.9986 12.608 12.8033 12.8033C12.608 12.9986 12.2915 12.9986 12.0962 12.8033L10.682 11.3891C10.4867 11.1938 10.4867 10.8772 10.682 10.682ZM5.5 7.5C5.5 6.39543 6.39543 5.5 7.5 5.5C8.60457 5.5 9.5 6.39543 9.5 7.5C9.5 8.60457 8.60457 9.5 7.5 9.5C6.39543 9.5 5.5 8.60457 5.5 7.5ZM7.5 4.5C5.84315 4.5 4.5 5.84315 4.5 7.5C4.5 9.15685 5.84315 10.5 7.5 10.5C9.15685 10.5 10.5 9.15685 10.5 7.5C10.5 5.84315 9.15685 4.5 7.5 4.5Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg><svg width="16" height="16" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="display:var(--theme-toggle-moon-icon-display)" data-sentry-element="MoonIcon" data-sentry-source-file="theme-toggle.tsx"><path d="M2.89998 0.499976C2.89998 0.279062 2.72089 0.0999756 2.49998 0.0999756C2.27906 0.0999756 2.09998 0.279062 2.09998 0.499976V1.09998H1.49998C1.27906 1.09998 1.09998 1.27906 1.09998 1.49998C1.09998 1.72089 1.27906 1.89998 1.49998 1.89998H2.09998V2.49998C2.09998 2.72089 2.27906 2.89998 2.49998 2.89998C2.72089 2.89998 2.89998 2.72089 2.89998 2.49998V1.89998H3.49998C3.72089 1.89998 3.89998 1.72089 3.89998 1.49998C3.89998 1.27906 3.72089 1.09998 3.49998 1.09998H2.89998V0.499976ZM5.89998 3.49998C5.89998 3.27906 5.72089 3.09998 5.49998 3.09998C5.27906 3.09998 5.09998 3.27906 5.09998 3.49998V4.09998H4.49998C4.27906 4.09998 4.09998 4.27906 4.09998 4.49998C4.09998 4.72089 4.27906 4.89998 4.49998 4.89998H5.09998V5.49998C5.09998 5.72089 5.27906 5.89998 5.49998 5.89998C5.72089 5.89998 5.89998 5.72089 5.89998 5.49998V4.89998H6.49998C6.72089 4.89998 6.89998 4.72089 6.89998 4.49998C6.89998 4.27906 6.72089 4.09998 6.49998 4.09998H5.89998V3.49998ZM1.89998 6.49998C1.89998 6.27906 1.72089 6.09998 1.49998 6.09998C1.27906 6.09998 1.09998 6.27906 1.09998 6.49998V7.09998H0.499976C0.279062 7.09998 0.0999756 7.27906 0.0999756 7.49998C0.0999756 7.72089 0.279062 7.89998 0.499976 7.89998H1.09998V8.49998C1.09998 8.72089 1.27906 8.89997 1.49998 8.89997C1.72089 8.89997 1.89998 8.72089 1.89998 8.49998V7.89998H2.49998C2.72089 7.89998 2.89998 7.72089 2.89998 7.49998C2.89998 7.27906 2.72089 7.09998 2.49998 7.09998H1.89998V6.49998ZM8.54406 0.98184L8.24618 0.941586C8.03275 0.917676 7.90692 1.1655 8.02936 1.34194C8.17013 1.54479 8.29981 1.75592 8.41754 1.97445C8.91878 2.90485 9.20322 3.96932 9.20322 5.10022C9.20322 8.37201 6.82247 11.0878 3.69887 11.6097C3.45736 11.65 3.20988 11.6772 2.96008 11.6906C2.74563 11.702 2.62729 11.9535 2.77721 12.1072C2.84551 12.1773 2.91535 12.2458 2.98667 12.3128L3.05883 12.3795L3.31883 12.6045L3.50684 12.7532L3.62796 12.8433L3.81491 12.9742L3.99079 13.089C4.11175 13.1651 4.23536 13.2375 4.36157 13.3059L4.62496 13.4412L4.88553 13.5607L5.18837 13.6828L5.43169 13.7686C5.56564 13.8128 5.70149 13.8529 5.83857 13.8885C5.94262 13.9155 6.04767 13.9401 6.15405 13.9622C6.27993 13.9883 6.40713 14.0109 6.53544 14.0298L6.85241 14.0685L7.11934 14.0892C7.24637 14.0965 7.37436 14.1002 7.50322 14.1002C11.1483 14.1002 14.1032 11.1453 14.1032 7.50023C14.1032 7.25044 14.0893 7.00389 14.0623 6.76131L14.0255 6.48407C13.991 6.26083 13.9453 6.04129 13.8891 5.82642C13.8213 5.56709 13.7382 5.31398 13.6409 5.06881L13.5279 4.80132L13.4507 4.63542L13.3766 4.48666C13.2178 4.17773 13.0353 3.88295 12.8312 3.60423L12.6782 3.40352L12.4793 3.16432L12.3157 2.98361L12.1961 2.85951L12.0355 2.70246L11.8134 2.50184L11.4925 2.24191L11.2483 2.06498L10.9562 1.87446L10.6346 1.68894L10.3073 1.52378L10.1938 1.47176L9.95488 1.3706L9.67791 1.2669L9.42566 1.1846L9.10075 1.09489L8.83599 1.03486L8.54406 0.98184ZM10.4032 5.30023C10.4032 4.27588 10.2002 3.29829 9.83244 2.40604C11.7623 3.28995 13.1032 5.23862 13.1032 7.50023C13.1032 10.593 10.596 13.1002 7.50322 13.1002C6.63646 13.1002 5.81597 12.9036 5.08355 12.5522C6.5419 12.0941 7.81081 11.2082 8.74322 10.0416C8.87963 10.2284 9.10028 10.3497 9.34928 10.3497C9.76349 10.3497 10.0993 10.0139 10.0993 9.59971C10.0993 9.24256 9.84965 8.94373 9.51535 8.86816C9.57741 8.75165 9.63653 8.63334 9.6926 8.51332C9.88358 8.63163 10.1088 8.69993 10.35 8.69993C11.0403 8.69993 11.6 8.14028 11.6 7.44993C11.6 6.75976 11.0406 6.20024 10.3505 6.19993C10.3853 5.90487 10.4032 5.60464 10.4032 5.30023Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button><button data-accent-color="gray" data-radius="medium" data-sentry-element="Button" data-sentry-source-file="index.tsx" type="button" id="radix-:Raonmudb:" aria-haspopup="menu" aria-expanded="false" data-state="closed" class="rt-reset rt-BaseButton rt-r-size-4 rt-variant-ghost rt-Button font-medium text-[var(--foreground)]">Menu<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" data-sentry-element="TriangleRightIcon" data-sentry-source-file="index.tsx"><path d="M6 11L6 4L10.5 7.5L6 11Z" fill="currentColor"></path></svg></button></div></div></nav></header><section class="px-0 flex relative"><aside class="style_sidebar__iEJoR" data-sentry-component="DevelopDocsSidebar" data-sentry-source-file="developDocsSidebar.tsx"><input type="checkbox" id="style_navbar-menu-toggle__dc5I6" class="hidden"/><style>:root { --sidebar-width: 300px; }</style><div class="md:flex flex-col items-stretch"><div class="style_toc__wKI2w"><ul data-sidebar-tree="true"><li class="mb-3" data-sidebar-branch="true" data-sentry-component="DynamicNav" data-sentry-source-file="dynamicNav.tsx"><a class=" style_sidebar-title__u_GwL flex items-center justify-between" data-sidebar-link="true" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/getting-started/"><h6>Getting Started</h6></a></li><li class="mb-3" data-sidebar-branch="true" data-sentry-component="DynamicNav" data-sentry-source-file="dynamicNav.tsx"><a class=" style_sidebar-title__u_GwL flex items-center justify-between" data-sidebar-link="true" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/engineering-practices/"><h6>Engineering Practices</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="mb-3" data-sidebar-branch="true" data-sentry-component="DynamicNav" data-sentry-source-file="dynamicNav.tsx"><a class=" style_sidebar-title__u_GwL flex items-center justify-between" data-sidebar-link="true" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/application-architecture/"><h6>Application Architecture</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="mb-3" data-sidebar-branch="true" data-sentry-component="DynamicNav" data-sentry-source-file="dynamicNav.tsx"><a class=" style_sidebar-title__u_GwL flex items-center justify-between" data-sidebar-link="true" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/development-infrastructure/"><h6>Development Infrastructure</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="mb-3" data-sidebar-branch="true" data-sentry-component="DynamicNav" data-sentry-source-file="dynamicNav.tsx"><a class=" style_sidebar-title__u_GwL flex items-center justify-between" data-sidebar-link="true" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/backend/"><h6>Backend</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="mb-3" data-sidebar-branch="true" data-sentry-component="DynamicNav" data-sentry-source-file="dynamicNav.tsx"><a class=" style_sidebar-title__u_GwL flex items-center justify-between" data-sidebar-link="true" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/frontend/"><h6>Frontend</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="mb-3" data-sidebar-branch="true" data-sentry-component="DynamicNav" data-sentry-source-file="dynamicNav.tsx"><a class=" style_sidebar-title__u_GwL flex items-center justify-between" data-sidebar-link="true" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/services/"><h6>Services</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="mb-3" data-sidebar-branch="true" data-sentry-component="DynamicNav" data-sentry-source-file="dynamicNav.tsx"><a class=" style_sidebar-title__u_GwL flex items-center justify-between" data-sidebar-link="true" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/integrations/"><h6>Integrations</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="mb-3" data-sidebar-branch="true" data-sentry-component="DynamicNav" data-sentry-source-file="dynamicNav.tsx"><a class=" style_sidebar-title__u_GwL flex items-center justify-between" data-sidebar-link="true" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/ingestion/"><h6>Ingestion</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="mb-3" data-sidebar-branch="true" data-sentry-component="DynamicNav" data-sentry-source-file="dynamicNav.tsx"><a class=" style_sidebar-title__u_GwL flex items-center justify-between" data-sidebar-link="true" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/sdk/"><h6>SDKs</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="mb-3" data-sidebar-branch="true" data-sentry-component="DynamicNav" data-sentry-source-file="dynamicNav.tsx"><a class=" style_sidebar-title__u_GwL flex items-center active justify-between" data-sidebar-link="true" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/self-hosted/"><h6>Self-Hosted Sentry</h6><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(0deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a><ul data-sidebar-tree="true" class="pl-3"><li class="toc-item " data-sidebar-branch="true" data-path="/self-hosted/" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx"><style data-emotion="css 1o62c7a">.css-1o62c7a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;gap:4px;}</style><a class=" css-1o62c7a" data-sidebar-link="true" data-sentry-element="Link" data-sentry-source-file="smartLink.tsx" data-sentry-component="SmartLink" href="/self-hosted/releases/">Releases &amp; Upgrading</a><ul data-sidebar-tree="true"></ul></li><li class="toc-item " data-sidebar-branch="true" data-path="/self-hosted/" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx"><style data-emotion="css 1o62c7a">.css-1o62c7a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;gap:4px;}</style><a class=" css-1o62c7a" data-sidebar-link="true" data-sentry-element="Link" data-sentry-source-file="smartLink.tsx" data-sentry-component="SmartLink" href="/self-hosted/experimental/">Experimental Configurations<style data-emotion="css 1eta2b">.css-1eta2b{-webkit-transition:-webkit-transform 200ms;transition:transform 200ms;-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg);}</style><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class="css-1eta2b"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z"></path></svg></a><ul data-sidebar-tree="true"></ul></li><li class="toc-item " data-sidebar-branch="true" data-path="/self-hosted/" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx"><style data-emotion="css 1o62c7a">.css-1o62c7a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;gap:4px;}</style><a class=" css-1o62c7a" data-sidebar-link="true" data-sentry-element="Link" data-sentry-source-file="smartLink.tsx" data-sentry-component="SmartLink" href="/self-hosted/backup/">Backup &amp; Restore</a><ul data-sidebar-tree="true"></ul></li><li class="toc-item " data-sidebar-branch="true" data-path="/self-hosted/" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx"><style data-emotion="css 1o62c7a">.css-1o62c7a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;gap:4px;}</style><a class=" css-1o62c7a" data-sidebar-link="true" data-sentry-element="Link" data-sentry-source-file="smartLink.tsx" data-sentry-component="SmartLink" href="/self-hosted/custom-ca-roots/">Custom CA Roots</a><ul data-sidebar-tree="true"></ul></li><li class="toc-item " data-sidebar-branch="true" data-path="/self-hosted/" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx"><style data-emotion="css 1o62c7a">.css-1o62c7a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;gap:4px;}</style><a class=" css-1o62c7a" data-sidebar-link="true" data-sentry-element="Link" data-sentry-source-file="smartLink.tsx" data-sentry-component="SmartLink" href="/self-hosted/email/">Email</a><ul data-sidebar-tree="true"></ul></li><li class="toc-item " data-sidebar-branch="true" data-path="/self-hosted/" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx"><style data-emotion="css 1o62c7a">.css-1o62c7a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;gap:4px;}</style><a class=" css-1o62c7a" data-sidebar-link="true" data-sentry-element="Link" data-sentry-source-file="smartLink.tsx" data-sentry-component="SmartLink" href="/self-hosted/geolocation/">Geolocation</a><ul data-sidebar-tree="true"></ul></li><li class="toc-item " data-sidebar-branch="true" data-path="/self-hosted/" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx"><style data-emotion="css 1o62c7a">.css-1o62c7a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;gap:4px;}</style><a class=" css-1o62c7a" data-sidebar-link="true" data-sentry-element="Link" data-sentry-source-file="smartLink.tsx" data-sentry-component="SmartLink" href="/self-hosted/sso/">Single Sign-On (SSO)</a><ul data-sidebar-tree="true"></ul></li><li class="toc-item " data-sidebar-branch="true" data-path="/self-hosted/" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx"><style data-emotion="css 1o62c7a">.css-1o62c7a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;gap:4px;}</style><a class=" css-1o62c7a" data-sidebar-link="true" data-sentry-element="Link" data-sentry-source-file="smartLink.tsx" data-sentry-component="SmartLink" href="/self-hosted/support/">Support</a><ul data-sidebar-tree="true"></ul></li><li class="toc-item " data-sidebar-branch="true" data-path="/self-hosted/" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx"><style data-emotion="css 1o62c7a">.css-1o62c7a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;gap:4px;}</style><a class=" css-1o62c7a" data-sidebar-link="true" data-sentry-element="Link" data-sentry-source-file="smartLink.tsx" data-sentry-component="SmartLink" href="/self-hosted/troubleshooting/">Troubleshooting<style data-emotion="css 1eta2b">.css-1eta2b{-webkit-transition:-webkit-transform 200ms;transition:transform 200ms;-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg);}</style><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class="css-1eta2b"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z"></path></svg></a><ul data-sidebar-tree="true"></ul></li></ul></li></ul><hr/><ul data-sidebar-tree="true"><li class="toc-item " data-sidebar-branch="true" data-path="/self-hosted/" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx"><style data-emotion="css 1o62c7a">.css-1o62c7a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;gap:4px;}</style><a href="https://open.sentry.io/code-of-conduct/" class="css-1o62c7a" data-sidebar-link="true" data-sentry-element="SidebarNavItem" data-sentry-source-file="externalLink.tsx" data-sentry-component="ExternalLink">Code of Conduct<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/self-hosted/" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx"><style data-emotion="css 1o62c7a">.css-1o62c7a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;gap:4px;}</style><a href="https://docs.sentry.io" class="css-1o62c7a" data-sidebar-link="true" data-sentry-element="SidebarNavItem" data-sentry-source-file="externalLink.tsx" data-sentry-component="ExternalLink">User Documentation<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a></li></ul></div></div></aside><main class="main-content flex w-full mt-[var(--header-height)] flex-1 mx-auto"><div class="mx-auto lg:mx-0 pt-6 px-6 prose dark:prose-invert max-w-full text-[var(--gray-12)] prose-a:no-underline hover:prose-a:underline prose-code:font-normal prose-code:font-mono marker:text-[var(--accent)] prose-li:my-1 prose-headings:mt-0 prose-headings:font-medium prose-headings:relative prose-headings:text-[var(--gray-12)] prose-blockquote:font-normal prose-blockquote:border-l-[3px] prose-em:font-normal prose-blockquote:text-[var(--gray-12)] prose-img:my-2 prose-strong:text-[var(--gray-12)] w-[75ch] xl:max-w-[calc(100%-250px)]"><div class="mb-4"></div><ul class="list-none flex p-0 flex-wrap" style="margin:0" data-sentry-component="Breadcrumbs" data-sentry-source-file="index.tsx"><li class="style_breadcrumb-item__bDEaT"><a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/">Home</a></li><li class="style_breadcrumb-item__bDEaT"><a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/self-hosted/">Self-Hosted Sentry</a></li></ul><div><hgroup><h1>Self-Hosted Sentry</h1><h2>How you can run all of Sentry on your own server, without paying anything.</h2></hgroup><div id="main"><p>In addition to making its source code available publicly, Sentry offers and maintains a minimal setup that works out-of-the-box for simple use cases. This version comes with no guarantees or dedicated support. Sentry engineers will do their best to answer questions and are dedicated to making sure self-hosted is running, but that&#x27;s where our involvement ends. For anything else, we expect users to rely on the <a href="https://discord.gg/sentry" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">Sentry Self-Hosted community<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a> on Discord. The self-hosted repository should serve as a blueprint for how various Sentry services connect for a complete setup. This will be useful for folks willing to maintain larger installations with custom infrastructure.</p><p>For the sake of simplicity and ubiquity, we have chosen to use <a href="https://www.docker.com/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">Docker<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a> and <a href="https://docs.docker.com/compose/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">Docker Compose<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>, along with a bash-based install and upgrade script.</p><p>If you&#x27;re self-hosting Sentry and want to know how to switch to Sentry SaaS, check out this <a href="https://sentry.io/resources/migrate-to-sentry-saas-workshop/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">live workshop<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a> to learn more about our relocation tooling.</p><h3 id="differences-between-self-hosted-and-saas"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#differences-between-self-hosted-and-saas">Differences between self-hosted and SaaS<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>The difference only resides on a few things that are impossible to be hosted by most people and billing/payment-related. These are some of the things that are not available on self-hosted (due to previous reasons):</p><ul><li>Pricing tiers &amp; Billing system.</li><li><a href="https://docs.sentry.io/pricing/quotas/spike-protection/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">Spike protection<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>, as it is tightly coupled with Billing Quotas.</li><li><a href="https://docs.sentry.io/pricing/quotas/spend-allocation/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">Spend Allocation<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>, as it is tightly coupled with Billing Quotas.</li><li>AI &amp; ML features (such as autofix), although the code is open at <a href="https://github.com/getsentry/seer" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">getsentry/seer<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>.</li><li><a href="https://docs.sentry.io/organization/data-storage-location/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">Data Storage Location<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>, because you own your data.</li><li><a href="https://docs.sentry.io/platforms/apple/data-management/debug-files/symbol-servers#built-in-repositories" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">iOS Symbolication<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>, because Apple does not provide a public symbol server, nor do they allow us to distribute the Debug Information Files (DIFs) ourselves.</li></ul><p>To put things simply, consider self-hosted as the Business plan without any software limitations and no paid tier.</p><h2 id="getting-started"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#getting-started">Getting Started<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h2><p>Our recommendation is to download the聽<a href="https://github.com/getsentry/self-hosted/releases/latest" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">latest release of the self-hosted repository<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>, and then run <code>./install.sh</code> inside this directory. This script will take care of all the things you need to get started, including a base-line configuration, and then will tell you to run <code>docker compose up --wait</code> to start Sentry. Sentry binds to port <code>9000</code> by default. You should be able to reach the login page at聽<a href="http://127.0.0.1:9000/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">http://127.0.0.1:9000<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>.</p><p>To have easy maintainability for future upgrades, it is recommended to use Git workflow by cloning the self-hosted repository and check out to a specific CalVer tag. More about this on <a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/self-hosted/releases/">Releases &amp; Upgrading</a>.</p><div class="code-tabs-wrapper"><style data-emotion="css 1dexzcy">.css-1dexzcy{margin-bottom:1.5rem;}.css-1dexzcy pre[class*='language-']{padding:10px 12px;border-radius:0 0 3px 3px;}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-1dexzcy"><style data-emotion="css g8b61s">.css-g8b61s{background:var(--code-background);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:3px 3px 0 0;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-g8b61s"><style data-emotion="css p45bky">.css-p45bky{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;}.css-p45bky:focus,.css-p45bky[data-active='true']{color:#fff;font-weight:500;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-p45bky">Bash</button></div><div class="relative" data-sentry-mask="true"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="code-highlight language-bash"><span class="code-line"><span class="token comment"># Assuming current latest version is 24.1.0</span> </span><span class="code-line"><span class="token comment"># Current actual version can be acquired from the Releases page on GitHub</span> </span><span class="code-line"><span class="token variable assign-left">VERSION</span><span class="token operator">=</span><span class="token string">&quot;24.1.0&quot;</span> </span><span class="code-line"><span class="token function">git</span> clone https://github.com/getsentry/self-hosted.git </span><span class="code-line"><span class="token builtin class-name">cd</span> self-hosted </span><span class="code-line"><span class="token function">git</span> checkout <span class="token variable">${VERSION}</span> </span><span class="code-line"><span class="token function">sudo</span> ./install.sh </span></code></pre></div></div></div></div></div><h2 id="required-minimum-system-resources"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#required-minimum-system-resources">Required Minimum System Resources<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h2><p>We require at least Docker 19.03.6 and Compose 2.23.2.</p><p>These are the minimum requirements:</p><ul><li>4 CPU Cores</li><li>16 GB RAM</li><li>20 GB Free Disk Space</li></ul><p>We&#x27;d recommend using a swapfile whenever applicable. Depending on your traffic volume, you may want to increase your system specification to handle increased load. If increasing the disk storage space isn&#x27;t possible, you can migrate your storage to use external storage such as AWS S3 or Google Cloud Storage (GCS). Decreasing your <code>SENTRY_RETENTION_DAYS</code> environment variable to lower numbers will save some storage space from being full, at the cost of having shorter data retention period. See <a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#event-retention">Event Retention</a> section below.</p><h3 id="self-hosted-monitoring"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#self-hosted-monitoring">Self-Hosted Monitoring<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>When you run <code>./install.sh</code>, you have a choice to opt in or out of our monitoring. This monitoring is used for development and debugging purposes so that we&#x27;re on top of issues you&#x27;re facing, allowing us to provide a more seamless installation process. If you opt into our monitoring, we will send information to our own self-hosted Sentry instance for development and debugging purposes. We may collect:</p><ul><li>OS username</li><li>IP address</li><li>install log</li><li>runtime errors in Sentry</li><li>performance data</li></ul><p>Thirty (30) day retention. No marketing. Privacy policy at sentry.io/privacy.</p><p>Starting with the 22.10.0 release, we will require those running the Sentry installer to choose to opt in or out. If you are running the installer under automation, you may want to set <code>REPORT_SELF_HOSTED_ISSUES</code> or pass <code>--(no-)report-self-hosted-issues</code> to the installer accordingly.</p><h3 id="self-hosted-beacon"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#self-hosted-beacon">Self-hosted Beacon<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>If you opt-in to it, self-hosted Sentry will periodically communicate with a remote beacon server. This is utilized for a couple of things, primarily:</p><ul><li>Getting information about the current version of Sentry</li><li>Retrieving important system notices</li></ul><p>The remote server is operated by the Sentry team (sentry.io), and the information reported follows the company&#x27;s <a href="https://sentry.io/privacy/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">privacy policy<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>.</p><p>The following information is reported:</p><ol><li>A unique installation ID</li><li>The version of Sentry</li><li>A technical contact email if opted in to sending contact info (system.admin-email)</li><li>General anonymous statistics on the data pattern (such as the number of users and volume of errors)</li><li>Names and version of the installed Python modules</li></ol><p>Note: The contact email is utilized for security announcements, and will never be used outside of such. You can change your opt in/out settings for sending contact info at any time in the settings of the admin panel.</p><p>The data reported is minimal and it greatly helps the development team behind Sentry. With that said, you can disable the beacon with the following setting:</p><div class="code-tabs-wrapper"><style data-emotion="css 1dexzcy">.css-1dexzcy{margin-bottom:1.5rem;}.css-1dexzcy pre[class*='language-']{padding:10px 12px;border-radius:0 0 3px 3px;}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-1dexzcy"><style data-emotion="css g8b61s">.css-g8b61s{background:var(--code-background);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:3px 3px 0 0;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-g8b61s"><style data-emotion="css p45bky">.css-p45bky{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;}.css-p45bky:focus,.css-p45bky[data-active='true']{color:#fff;font-weight:500;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-p45bky">Python</button></div><div class="relative" data-sentry-mask="true"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-python"><code class="code-highlight language-python"><span class="code-line">SENTRY_BEACON <span class="token operator">=</span> <span class="token boolean">False</span> </span></code></pre></div></div></div></div></div><h3 id="installing-behind-a-proxy"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#installing-behind-a-proxy">Installing Behind a Proxy<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>In some enterprise setups there is no direct Internet connection, so you must use an HTTP proxy server. How do you install Sentry in this environment? Let us assume:</p><ol><li>Your Sentry installation is running on Linux.</li><li><code>http://proxy:3128</code> is your proxy address.</li><li><code>127.0.0.0/8</code> is the only network that should be accessed without a proxy.</li></ol><p>Here are the steps to follow:</p><ol><li>Set <code>http_proxy</code>, <code>https_proxy</code> and <code>no_proxy</code> variables in the <code>/etc/environment</code> file.</li><li>To make the <code>docker pull</code> command respect your proxy settings, create a <code>/etc/systemd/system/docker.service.d/http-proxy.conf</code> file with these contents:</li></ol><div class="code-tabs-wrapper"><style data-emotion="css 1dexzcy">.css-1dexzcy{margin-bottom:1.5rem;}.css-1dexzcy pre[class*='language-']{padding:10px 12px;border-radius:0 0 3px 3px;}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-1dexzcy"><style data-emotion="css g8b61s">.css-g8b61s{background:var(--code-background);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:3px 3px 0 0;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-g8b61s"><style data-emotion="css p45bky">.css-p45bky{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;}.css-p45bky:focus,.css-p45bky[data-active='true']{color:#fff;font-weight:500;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-p45bky">Systemd</button></div><div class="relative" data-sentry-mask="true"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-systemd"><code class="code-highlight language-systemd"><span class="code-line"><span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">Service</span><span class="token punctuation">]</span></span> </span><span class="code-line"><span class="token attr-name key">Environment</span><span class="token punctuation">=</span><span class="token attr-value value"><span class="token quoted">&quot;HTTP_PROXY=http://proxy:3128&quot;</span></span> </span><span class="code-line"><span class="token attr-name key">Environment</span><span class="token punctuation">=</span><span class="token attr-value value"><span class="token quoted">&quot;HTTPS_PROXY=http://proxy:3128&quot;</span></span> </span><span class="code-line"><span class="token attr-name key">Environment</span><span class="token punctuation">=</span><span class="token attr-value value"><span class="token quoted">&quot;NO_PROXY=127.0.0.0/8&quot;</span></span> </span></code></pre></div></div></div></div></div><ol start="3"><li>Run <code>systemctl daemon-reload</code> and restart Docker with <code>systemctl restart docker.service</code>.</li></ol><p>From there you can run <code>./install.sh</code> like usual.</p><p>By default Sentry sends anonymous usage statistics to the Sentry team. It helps to improve the product. You can disable this feature by adding <code>SENTRY_BEACON = False</code> into <code>sentry.conf.py</code> file. Also there can be different external integrations with third party services like Slack or Twilio. To make these features work it&#x27;s required to allow Docker containers to access the Internet. To add your proxy environment variables into Sentry&#x27;s Docker containers, create <code>/etc/docker/config.json</code> file (or <code>~/.docker/config.json</code> if you&#x27;re running Docker on rootless mode) with these contents:</p><div class="code-tabs-wrapper"><style data-emotion="css 1dexzcy">.css-1dexzcy{margin-bottom:1.5rem;}.css-1dexzcy pre[class*='language-']{padding:10px 12px;border-radius:0 0 3px 3px;}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-1dexzcy"><style data-emotion="css g8b61s">.css-g8b61s{background:var(--code-background);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:3px 3px 0 0;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-g8b61s"><style data-emotion="css p45bky">.css-p45bky{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;}.css-p45bky:focus,.css-p45bky[data-active='true']{color:#fff;font-weight:500;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-p45bky">JSON</button></div><div class="relative" data-sentry-mask="true"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-json"><code class="code-highlight language-json"><span class="code-line"><span class="token punctuation">{</span> </span><span class="code-line"> <span class="token property">&quot;proxies&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span> </span><span class="code-line"> <span class="token property">&quot;httpProxy&quot;</span><span class="token operator">:</span> <span class="token string">&quot;http://proxy:3128&quot;</span><span class="token punctuation">,</span> </span><span class="code-line"> <span class="token property">&quot;httpsProxy&quot;</span><span class="token operator">:</span> <span class="token string">&quot;http://proxy:3128&quot;</span><span class="token punctuation">,</span> </span><span class="code-line"> <span class="token property">&quot;noProxy&quot;</span><span class="token operator">:</span> <span class="token string">&quot;smtp,memcached,redis,postgres,kafka,clickhouse,snuba-api,symbolicator,web,worker,nginx,relay,vroom,172.17.0.0/16,127.0.0.0/8&quot;</span> </span><span class="code-line"> <span class="token punctuation">}</span> </span><span class="code-line"><span class="token punctuation">}</span> </span></code></pre></div></div></div></div></div><p>To apply new Docker daemon configuration, restart your Docker service with <code>systemctl restart docker.service</code>.</p><div class="callout callout-info" role="alert" data-sentry-component="Callout" data-sentry-source-file="index.tsx"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="callout-icon" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM8.24992 4.49999C8.24992 4.9142 7.91413 5.24999 7.49992 5.24999C7.08571 5.24999 6.74992 4.9142 6.74992 4.49999C6.74992 4.08577 7.08571 3.74999 7.49992 3.74999C7.91413 3.74999 8.24992 4.08577 8.24992 4.49999ZM6.00003 5.99999H6.50003H7.50003C7.77618 5.99999 8.00003 6.22384 8.00003 6.49999V9.99999H8.50003H9.00003V11H8.50003H7.50003H6.50003H6.00003V9.99999H6.50003H7.00003V6.99999H6.50003H6.00003V5.99999Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg><div class="callout-content"><h5 class="callout-header">Note</h5><div class="callout-body content-flush-bottom"><p>The value <code>172.17.0.0/16</code> is the default IP pools for Docker. If you are customizing your Docker default IP pools, please modify the value accordingly. Further information regarding Docker default IP pools can be found on the <a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/self-hosted/troubleshooting/docker/#docker-network-conflicting-ip-address">Troubleshooting guide</a>.</p></div></div></div><h2 id="configuration"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#configuration">Configuration<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h2><p>You very likely will want to adjust the default configuration for your Sentry installation as well. These facilities are available for that purpose:</p><ol><li><p><strong><code>sentry/config.yml</code></strong>鈥擟ontains most, if not all, configuration options to adjust. This file is generated from <a href="https://github.com/getsentry/self-hosted/blob/master/sentry/config.example.yml" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx"><code>sentry/config.example.yml</code><span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a> at the time of installation. The file itself documents the most common configuration options as code comments. Some popular settings in this file include:</p><ol><li><p><code>system.url-prefix</code> (we prompt you to set this at the welcome screen, right after the installation)</p></li><li><p><code>mail.*</code> (though we do ship with a basic SMTP server)</p></li><li><p>integrations for GitHub, Slack, etc.</p></li></ol></li><li><p><strong><code>sentry/sentry.conf.py</code></strong>鈥擟ontains more advanced configuration. This file is generated from <a href="https://github.com/getsentry/self-hosted/blob/master/sentry/sentry.conf.example.py" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx"><code>sentry/sentry.conf.example.py</code><span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a> during installation.</p></li><li><p><strong><code>sentry/enhance-image.sh</code></strong>鈥擳o install plugins and their dependencies or make other modifications to the Sentry base image, copy <code>sentry/enhance-image.example.sh</code> to <code>sentry/enhance-image.sh</code> and add necessary steps there. For example, you can use <code>apt-get</code> to install dependencies and use <code>pip</code> to install plugins. After making modifications to <code>sentry/enhance-image.sh</code>, run <code>./install.sh</code> again to apply them.</p></li><li><p><strong>Environment variables</strong>鈥擳he available keys are defined in <a href="https://github.com/getsentry/self-hosted/blob/master/.env" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">.env<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>. Use some system-dependent means of setting environment variables if you need to override any of them. To avoid Git changes, simply create a file called <code>.env.custom</code> and insert your system-dependent environment variables there. In order to use this, please use <code>docker compose --env-file /path/to/.env.custom up --wait</code>.</p></li><li><p><a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/self-hosted/geolocation/">Geolocation</a> uses <strong>a custom configuration file</strong> to conform to the underlying technology.</p></li></ol><p>You can find more about configuring Sentry at聽<a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/config/">the configuration section of our developer documentation</a>.</p><div class="callout callout-info" role="alert" data-sentry-component="Callout" data-sentry-source-file="index.tsx"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="callout-icon" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM8.24992 4.49999C8.24992 4.9142 7.91413 5.24999 7.49992 5.24999C7.08571 5.24999 6.74992 4.9142 6.74992 4.49999C6.74992 4.08577 7.08571 3.74999 7.49992 3.74999C7.91413 3.74999 8.24992 4.08577 8.24992 4.49999ZM6.00003 5.99999H6.50003H7.50003C7.77618 5.99999 8.00003 6.22384 8.00003 6.49999V9.99999H8.50003H9.00003V11H8.50003H7.50003H6.50003H6.00003V9.99999H6.50003H7.00003V6.99999H6.50003H6.00003V5.99999Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg><div class="callout-content"><h5 class="callout-header">Note</h5><div class="callout-body content-flush-bottom"><p>Once you change your configuration, it&#x27;s highly recommended to re-run <code>./install.sh</code> script rather than restarting all services using <code>docker compose restart</code>. This ensures no other configuration or migrations that might be missing when something is toggled on.</p></div></div></div><h3 id="event-retention"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#event-retention">Event Retention<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>Sentry comes with a cleanup cron job that prunes events older than <code>90 days</code> by default. If you want to change that, you can edit the <code>SENTRY_EVENT_RETENTION_DAYS</code> environment variable in <code>.env</code> or simply override it in your environment. If you do not want the cleanup cron, you can remove the <code>sentry-cleanup</code> service from the <code>docker-compose.yml</code> file.</p><h3 id="installing-a-specific-sha"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#installing-a-specific-sha">Installing a specific SHA<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>If you want to install a specific release of Sentry, use the tags/releases on the self-hosted repository.</p><p>We continuously push the Docker image for each commit made into <a href="https://github.com/getsentry/sentry" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">Sentry<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>, and other services such as <a href="https://github.com/getsentry/snuba" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">Snuba<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a> or <a href="https://github.com/getsentry/symbolicator" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">Symbolicator<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a> to <a href="https://hub.docker.com/u/getsentry" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">our Docker Hub<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a> and tag the latest version on master as <code>:nightly</code>. This is also usually what we have on sentry.io and what the install script uses. You can use a custom Sentry image, such as a modified version that you have built on your own, or simply a specific commit hash by setting the <code>SENTRY_IMAGE</code> environment variable to that image name before running <code>./install.sh</code>:</p><div class="code-tabs-wrapper"><style data-emotion="css 1dexzcy">.css-1dexzcy{margin-bottom:1.5rem;}.css-1dexzcy pre[class*='language-']{padding:10px 12px;border-radius:0 0 3px 3px;}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-1dexzcy"><style data-emotion="css g8b61s">.css-g8b61s{background:var(--code-background);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:3px 3px 0 0;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-g8b61s"><style data-emotion="css p45bky">.css-p45bky{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;}.css-p45bky:focus,.css-p45bky[data-active='true']{color:#fff;font-weight:500;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-p45bky">Bash</button></div><div class="relative" data-sentry-mask="true"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="code-highlight language-bash"><span class="code-line"><span class="token variable assign-left">SENTRY_IMAGE</span><span class="token operator">=</span>getsentry/sentry:83b1380 ./install.sh </span></code></pre></div></div></div></div></div><p>Note that this may not work for all commit SHAs as this repository evolves with Sentry and its&#x27; satellite projects. It is highly recommended to check out a version of this repository that is close to the timestamp of the Sentry commit you are installing.</p><h3 id="enabling-preview-features"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#enabling-preview-features">Enabling Preview Features<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>Only features that have reached General Availability (GA) status will be enabled by default for self-hosted. As users, you can try new features before it reaches GA by adding required infrastructure components and feature flags. Preview features are tracked and documented through <a href="https://github.com/getsentry/self-hosted/labels/Type%3A%20Pre-release%20Feature" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">GitHub issues with Type: Pre-release Feature labels<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>.</p><h3 id="customize-dotenv-env-file"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#customize-dotenv-env-file">Customize DotEnv (.env) file<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>Environment specific configurations can be done in the <code>.env.custom</code> file. It will be located in the root directory of the Sentry installation, and if it exists then <code>.env</code> will be ignored entirely.</p><p>By default, there exists no <code>.env.custom</code> file. In this case, you can manually add this file by copying the <code>.env</code> file to a new <code>.env.custom</code> file and adjust your settings in the <code>.env.custom</code> file.</p><p>Please keep in mind to check the <code>.env</code> file for changes, when you perform an upgrade of Sentry, so that you can adjust your <code>.env.custom</code> accordingly, if required, as <code>.env</code> is ignored entirely if <code>.env.custom</code> is present.</p><p>For all Docker Compose commands, you should specify your <code>.env.custom</code>, otherwise the default <code>.env</code> file will be used. Some examples are:</p><div class="code-tabs-wrapper"><style data-emotion="css 1dexzcy">.css-1dexzcy{margin-bottom:1.5rem;}.css-1dexzcy pre[class*='language-']{padding:10px 12px;border-radius:0 0 3px 3px;}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-1dexzcy"><style data-emotion="css g8b61s">.css-g8b61s{background:var(--code-background);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:3px 3px 0 0;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-g8b61s"><style data-emotion="css p45bky">.css-p45bky{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;}.css-p45bky:focus,.css-p45bky[data-active='true']{color:#fff;font-weight:500;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-p45bky">Bash</button></div><div class="relative" data-sentry-mask="true"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="code-highlight language-bash"><span class="code-line"><span class="token function">docker</span> compose --env-file .env.custom up <span class="token variable parameter">--wait</span> </span><span class="code-line"> </span><span class="code-line"><span class="token comment"># You can also specify the original `.env` file as a fallback if the</span> </span><span class="code-line"><span class="token comment"># environment variable doesn&#x27;t exists on the `.env.custom` file.</span> </span><span class="code-line"><span class="token function">docker</span> compose --env-file .env --env-file .env.custom up <span class="token variable parameter">--wait</span> </span></code></pre></div></div></div></div></div><h3 id="enhance-sentry-image"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#enhance-sentry-image">Enhance Sentry image<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>To install plugins and their dependencies or make other modifications to the Sentry base image, copy <code>sentry/enhance-image.example.sh</code> to <code>sentry/enhance-image.sh</code> and add necessary steps there. For example, you can use <code>apt-get</code> to install dependencies and use <code>pip</code> to install plugins.</p><p>After making modifications to <code>sentry/enhance-image.sh</code>, run <code>./install.sh</code> again to apply them.</p><h3 id="configuration-topics"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#configuration-topics">Configuration Topics<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>Here is further information on specific configuration topics related to self-hosting:</p><ul><li><a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/self-hosted/custom-ca-roots/">Custom CA Roots</a></li><li><a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/self-hosted/email/">Email</a></li><li><a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/self-hosted/geolocation/">Geolocation</a></li><li><a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/self-hosted/sso/">Single Sign-On (SSO)</a></li><li><a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/self-hosted/experimental/csp/">Content Security Policy</a></li><li><a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/self-hosted/experimental/errors-only/">Errors Only</a></li></ul><h2 id="productionalizing"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#productionalizing">Productionalizing<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h2><p>We strongly recommend using a dedicated load balancer in front of your Sentry setup bound to a dedicated domain or subdomain. A dedicated load balancer that does SSL/TLS termination that also forwards the client IP address as Docker Compose internal network (as this is聽<a href="https://github.com/getsentry/self-hosted/issues/554" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">close to impossible to get otherwise)<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>聽would give you the best Sentry experience. As part of this setup we recommend configuring a load balancer health check against the <code>/_health/</code> endpoint using HTTP protocol. This will return a 200 if Sentry is up or a 500 with the list of problems.</p><p>Once you have setup a load balancer or reverse proxy to your Sentry instance, you should modify the <code>system.url-prefix</code> in the <code>config.yml</code> file to match your new URL and protocol. You should also update the SSL/TLS section in the <code>sentry/sentry.conf.py</code> script, otherwise you may get CSRF-related errors when performing certain actions such as configuring integrations.</p><p>Keep in mind that all this setup uses single-nodes for all services, including Kafka. For larger loads, you&#x27;d need a beefy machine with lots of RAM and disk storage. To scale up even further, you are very likely to use clusters with a more complex tool, such as Kubernetes. Due to self-hosted installations&#x27; very custom nature, we do not offer any recommendations or guidance around scaling up. We do what works for us for our thousands of customers over at聽<a href="https://sentry.io/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">sentry.io<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>聽and would love to have you over when you feel your local install&#x27;s maintenance becomes a burden instead of a joy.</p><h2 id="licensing"><a class=" autolink-heading" aria-hidden="true" tabindex="-1" data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="#licensing">Licensing<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h2><p>Sentry is <a href="https://fair.io/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">Fair Source<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a> under the <a href="https://fsl.software/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">FSL (Functional Source License)<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>. Note that Fair Source is not under the <a href="https://opensource.org/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">OSI<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a> umbrella, it becomes literally open source under the <a href="https://www.apache.org/licenses/LICENSE-2.0" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">Apache 2.0 license<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a> after 2 years, and is practically open source before that except when you are a Sentry competitor. This license means that users can use Sentry and deploy it anywhere (even inside an enterprise ecosystem), but users are prohibited to sell deployed self-hosted Sentry as any kind of offering (SaaS or any other business model), and users are prohibited to be a direct competitor of Sentry by using Sentry&#x27;s code that is FSL-licensed. The source code of Sentry and its surrounding service &amp; libraries for self-hosted deployment are <a href="https://github.com/orgs/getsentry/repositories?q=has%3Atag-production" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">available on GitHub<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>.</p><p>For further information on the FSL License, you can <a href="https://fsl.software/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">visit the fsl.software website<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a> or <a href="https://blog.sentry.io/introducing-the-functional-source-license-freedom-without-free-riding/" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">read the announcement blog post<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>.</p></div><div class="grid grid-cols-2 gap-4 not-prose mt-16"><div class="col-span-1"><a href="/sdk" class="no-underline" data-sentry-component="PaginationNav" data-sentry-source-file="paginationNav.tsx"><div class="py-3 px-4 border-2 dark:[border-color:var(--gray-4)] rounded-md transition-colors hover:[border-color:var(--accent)] text-left"><div class="text-sm [color:var(--foreground)]">Previous</div><div class="flex items-center gap-1 font-[500] justify-start"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.85355 3.85355C7.04882 3.65829 7.04882 3.34171 6.85355 3.14645C6.65829 2.95118 6.34171 2.95118 6.14645 3.14645L2.14645 7.14645C1.95118 7.34171 1.95118 7.65829 2.14645 7.85355L6.14645 11.8536C6.34171 12.0488 6.65829 12.0488 6.85355 11.8536C7.04882 11.6583 7.04882 11.3417 6.85355 11.1464L3.20711 7.5L6.85355 3.85355ZM12.8536 3.85355C13.0488 3.65829 13.0488 3.34171 12.8536 3.14645C12.6583 2.95118 12.3417 2.95118 12.1464 3.14645L8.14645 7.14645C7.95118 7.34171 7.95118 7.65829 8.14645 7.85355L12.1464 11.8536C12.3417 12.0488 12.6583 12.0488 12.8536 11.8536C13.0488 11.6583 13.0488 11.3417 12.8536 11.1464L9.20711 7.5L12.8536 3.85355Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg>SDK Development</div></div></a></div><div class="col-span-1"><a href="/self-hosted/releases" class="no-underline" data-sentry-component="PaginationNav" data-sentry-source-file="paginationNav.tsx"><div class="py-3 px-4 border-2 dark:[border-color:var(--gray-4)] rounded-md transition-colors hover:[border-color:var(--accent)] text-right"><div class="text-sm [color:var(--foreground)]">Next</div><div class="flex items-center gap-1 font-[500] justify-end">Self-Hosted Releases &amp; Upgrading<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.14645 11.1464C1.95118 11.3417 1.95118 11.6583 2.14645 11.8536C2.34171 12.0488 2.65829 12.0488 2.85355 11.8536L6.85355 7.85355C7.04882 7.65829 7.04882 7.34171 6.85355 7.14645L2.85355 3.14645C2.65829 2.95118 2.34171 2.95118 2.14645 3.14645C1.95118 3.34171 1.95118 3.65829 2.14645 3.85355L5.79289 7.5L2.14645 11.1464ZM8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L12.8536 7.85355C13.0488 7.65829 13.0488 7.34171 12.8536 7.14645L8.85355 3.14645C8.65829 2.95118 8.34171 2.95118 8.14645 3.14645C7.95118 3.34171 7.95118 3.65829 8.14645 3.85355L11.7929 7.5L8.14645 11.1464Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></div></a></div></div><div class="space-y-4 py-4 border-[var(--gray-6)]"><div class="flex items-center gap-4 text-sm mt-8"><span class="font-medium">Was this helpful?</span><div class="flex"><button class="py-1 px-2 gap-4 hover:bg-[var(--gray-3)] rounded flex items-center justify-center" aria-label="Yes, this was helpful">Yes 馃憤</button><button class="py-1 px-2 gap-4 hover:bg-[var(--gray-3)] rounded flex items-center justify-center" aria-label="No, this wasn&#x27;t helpful">No 馃憥</button></div></div><div class="overflow-hidden transition-all duration-300 ease-in-out max-h-0 opacity-0"><form class="space-y-4"><div><label for="comments" class="block text-sm font-medium mb-4">How can we improve this page?</label><textarea id="comments" name="comments" required="" rows="2" class="w-[calc(100%-4px)] ml-[2px] px-3 py-2 border border-[var(--gray-6)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--accent)] bg-transparent text-sm" placeholder="Please share your thoughts..."></textarea></div><button data-accent-color="" type="submit" class="rt-reset rt-BaseButton rt-r-size-3 rt-variant-solid rt-Button px-4 py-2 text-sm rounded-lg bg-[var(--accent-purple)]">Submit feedback</button></form></div></div><div class="styles_cta__uq_BB" data-sentry-component="GitHubCTA" data-sentry-source-file="index.tsx"><small><strong>Help improve this content</strong></small><br/><small>Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update (&quot;yeah, this would be better&quot;).<div><a data-sentry-element="Link" data-sentry-source-file="index.tsx" href="https://docs.sentry.io/contributing/">How to contribute</a> <!-- -->聽聽|聽聽<a data-sentry-element="Link" data-sentry-source-file="index.tsx" href="https://github.com/getsentry/sentry-docs/edit/master/develop-docs/self-hosted/index.mdx">Edit this page</a> 聽聽|聽聽<a data-sentry-element="Link" data-sentry-source-file="index.tsx" href="https://github.com/getsentry/sentry-docs/issues/new/choose">Create a docs issue</a> <!-- -->聽聽|聽聽<a data-sentry-element="Link" data-sentry-source-file="index.tsx" href="https://sentry.zendesk.com/hc/en-us/">Get support</a> </div></small></div></div></div><aside class="sticky h-[calc(100vh-var(--header-height))] top-[var(--header-height)] overflow-y-auto hidden xl:block w-[250px]"><div class="sidebar"><div class="style_doc-toc__vjQZA" data-sentry-component="SidebarTableOfContents" data-sentry-source-file="index.tsx"><ul class="style_section-nav__El0F9"></ul></div></div></aside></main></section></div></div></div><script src="/_next/static/chunks/webpack-59054c1c74ef79f9.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[46969,[\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"7177\",\"static/chunks/app/layout-c1d0666c6eec90c1.js\"],\"\"]\n3:I[12677,[\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"7177\",\"static/chunks/app/layout-c1d0666c6eec90c1.js\"],\"ThemeProvider\"]\n4:I[69013,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da97718f26276355.js\",\"7921\",\"static/chunks/7921-806c72706ef98f30.js\",\"5075\",\"static/chunks/5075-11875491cdef63d9.js\",\"4258\",\"static/chunks/4258-c4b4a778f777d1b9.js\",\"4744\",\"static/chunks/4744-4eef31a07d6470a8.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js\"],\"Theme\"]\n5:I[23449,[],\"\"]\n6:I[47869,[],\"\"]\n7:I[41726,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da97718f26276355.js\",\"4258\",\"static/chunks/4258-c4b4a778f777d1b9.js\",\"4345\",\"static/chunks/app/not-found-9c4a5d3fa1f2996d.js\"],\"default\"]\n8:I[21272,[\"9415\",\"static/chunks/app/%5B%5B...path%5D%5D/layout-b0f364fc260585db.js\"],\"HotReload\"]\na:I[38310,[],\"OutletBoundary\"]\nc:I[38310,[],\"MetadataBoundary\"]\ne:I[38310,[],\"ViewportBoundary\"]\n10:I[26668,[\"4219\",\"static/chunks/app/global-error-f0264b0d73abd625.js\"],\"default\"]\n:HL[\"/_next/static/media/b9378c7268e717c1-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/c22ccc5eb58b83e1-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/edf4692f53ea525c.css\",\"style\"]\n:HL[\"/_next/static/css/c17e2f2a11627bf5.css\",\"style\"]\n:HL[\"/_next/static/css/b52557125fa02b8a.css\",\"style\"]\n:HL[\"/_next/static/css/49f3ee8f4a75ee4c.css\",\"style\"]\n:HL[\"/_next/static/css/998bb790b26f878e.css\",\"style\"]\n:HL[\"/_next/static/css/a3ca3a1d3fcc5e48.css\",\"style\"]\n:HL[\"/_next/static/css/e3f879540e6856ec.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"ZlazeRg0vRhTSnYVKYcIY\",\"p\":\"\",\"c\":[\"\",\"self-hosted\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[[\"path\",\"self-hosted\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/edf4692f53ea525c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c17e2f2a11627bf5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"data-sentry-component\":\"RootLayout\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"$L2\",null,{\"async\":true,\"defer\":true,\"data-api\":\"$undefined\",\"data-domain\":\"docs.sentry.io,rollup.sentry.io\",\"data-exclude\":\"$undefined\",\"src\":\"https://plausible.io/js/script.js\",\"integrity\":\"$undefined\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"$L2\",null,{\"id\":\"next-plausible-init\",\"dangerouslySetInnerHTML\":{\"__html\":\"window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }\"},\"nonce\":\"$undefined\"}],\"$undefined\"]}],[\"$\",\"body\",null,{\"className\":\"__variable_d51e15\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"$L3\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"disableTransitionOnChange\":true,\"data-sentry-element\":\"ThemeProvider\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[\"$\",\"$L4\",null,{\"accentColor\":\"iris\",\"grayColor\":\"sand\",\"radius\":\"large\",\"scaling\":\"95%\",\"data-sentry-element\":\"Theme\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/998bb790b26f878e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L7\",null,{}]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L2\",null,{\"async\":true,\"src\":\"https://widget.kapa.ai/kapa-widget.bundle.js\",\"data-website-id\":\"cac7cc70-969e-4bc1-a968-55534a839be4\",\"data-button-hide\":true,\"data-modal-override-open-class\":\"kapa-ai-class\",\"data-project-name\":\"Sentry\",\"data-project-color\":\"#6A5FC1\",\"data-project-logo\":\"https://avatars.githubusercontent.com/u/1396951?s=280\u0026v=4\",\"data-font-family\":\"var(--font-rubik)\",\"data-modal-disclaimer\":\"Please note: This is a tool that searches publicly available sources. Do not include any sensitive or personal information in your queries. For more on how Sentry handles your data, see our [Privacy Policy](https://sentry.io/privacy/).\",\"data-modal-example-questions\":\"How to set up Sentry for Next.js?,What are tracePropagationTargets?\",\"data-sentry-element\":\"Script\",\"data-sentry-source-file\":\"layout.tsx\"}]]}]]}]]}],{\"children\":[[\"path\",\"self-hosted\",\"oc\"],[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b52557125fa02b8a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"div\",null,{\"data-sentry-component\":\"DocsLayout\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"$0:f:0:1:2:children:0\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L8\",null,{\"data-sentry-element\":\"HotReload\",\"data-sentry-source-file\":\"layout.tsx\"}]]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$L9\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/49f3ee8f4a75ee4c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/998bb790b26f878e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a3ca3a1d3fcc5e48.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e3f879540e6856ec.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$1\",\"eV19IAqA-c85jadtg_d9M\",{\"children\":[[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"$Le\",null,{\"children\":\"$Lf\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b52557125fa02b8a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"f:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"1\",{\"children\":\"Self-Hosted Sentry\"}],[\"$\",\"meta\",\"2\",{\"name\":\"description\",\"content\":\"How you can run all of Sentry on your own server, without paying anything.\"}],[\"$\",\"meta\",\"3\",{\"name\":\"zd-site-verification\",\"content\":\"ocu6mswx6pke3c6qvozr2e\"}],[\"$\",\"link\",\"4\",{\"rel\":\"canonical\",\"href\":\"https://develop.sentry.dev/self-hosted/\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"Self-Hosted Sentry\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"How you can run all of Sentry on your own server, without paying anything.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"8\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:title\",\"content\":\"Self-Hosted Sentry\"}],[\"$\",\"meta\",\"10\",{\"name\":\"twitter:description\",\"content\":\"How you can run all of Sentry on your own server, without paying anything.\"}],[\"$\",\"link\",\"11\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}]]\n"])</script><script>self.__next_f.push([1,"b:null\n"])</script><script>self.__next_f.push([1,"11:I[74258,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da97718f26276355.js\",\"7921\",\"static/chunks/7921-806c72706ef98f30.js\",\"5075\",\"static/chunks/5075-11875491cdef63d9.js\",\"4258\",\"static/chunks/4258-c4b4a778f777d1b9.js\",\"4744\",\"static/chunks/4744-4eef31a07d6470a8.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js\"],\"Header\"]\n13:I[58705,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da97718f26276355.js\",\"7921\",\"static/chunks/7921-806c72706ef98f30.js\",\"5075\",\"static/chunks/5075-11875491cdef63d9.js\",\"4258\",\"static/chunks/4258-c4b4a778f777d1b9.js\",\"4744\",\"static/chunks/4744-4eef31a07d6470a8.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js\"],\"Banner\"]\n14:I[68517,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da97718f26276355.js\",\"7921\",\"static/chunks/7921-806c72706ef98f30.js\",\"5075\",\"static/chunks/5075-11875491cdef63d9.js\",\"4258\",\"static/chunks/4258-c4b4a778f777d1b9.js\",\"4744\",\"static/chunks/4744-4eef31a07d6470a8.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js\"],\"SmartLink\"]\n15:I[69830,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da97718f26276355.js\",\"7921\",\"static/chunks/7921-806c72706ef98f30.js\",\"5075\",\"static/chunks/5075-11875491cdef63d9.js\",\"4258\",\"static/chunks/4258-c4b4a778f777d1b9.js\",\"4744\",\"static/chunks/4744-4eef31a07d6470a8.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js\"],\"CodeContextProvider\"]\n16:I[76101,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da97718f26276355.js\",\"7921\",\"static/chunks/7921-806c72706ef98f30.js\",\"5075\",\"static/chunks/5075-11875491cdef63d9.js\",\"4258\",\"static/chunks/4258-c4b4a778f"])</script><script>self.__next_f.push([1,"777d1b9.js\",\"4744\",\"static/chunks/4744-4eef31a07d6470a8.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js\"],\"CodeTabs\"]\n17:I[94021,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da97718f26276355.js\",\"7921\",\"static/chunks/7921-806c72706ef98f30.js\",\"5075\",\"static/chunks/5075-11875491cdef63d9.js\",\"4258\",\"static/chunks/4258-c4b4a778f777d1b9.js\",\"4744\",\"static/chunks/4744-4eef31a07d6470a8.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js\"],\"CodeBlock\"]\n18:I[56368,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da97718f26276355.js\",\"7921\",\"static/chunks/7921-806c72706ef98f30.js\",\"5075\",\"static/chunks/5075-11875491cdef63d9.js\",\"4258\",\"static/chunks/4258-c4b4a778f777d1b9.js\",\"4744\",\"static/chunks/4744-4eef31a07d6470a8.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js\"],\"DocFeedback\"]\n19:I[19548,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da97718f26276355.js\",\"7921\",\"static/chunks/7921-806c72706ef98f30.js\",\"5075\",\"static/chunks/5075-11875491cdef63d9.js\",\"4258\",\"static/chunks/4258-c4b4a778f777d1b9.js\",\"4744\",\"static/chunks/4744-4eef31a07d6470a8.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js\"],\"\"]\n1a:I[94142,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da97718f26276355.js\",\"7921\",\"static/chunks/7921-806c72706ef98f30.js\",\"5075\",\"static/chunks/5075-11875491cdef63d9.js\",\"4258\",\"static/chunks/4258-c4b4a778f777d1b9.js\",\"4744\",\"static/chunks/4744-4eef31a07d6470a8.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js\"],\"SidebarTableOfContents\"]\n1c:I[29943,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da9771"])</script><script>self.__next_f.push([1,"8f26276355.js\",\"7921\",\"static/chunks/7921-806c72706ef98f30.js\",\"5075\",\"static/chunks/5075-11875491cdef63d9.js\",\"4258\",\"static/chunks/4258-c4b4a778f777d1b9.js\",\"4744\",\"static/chunks/4744-4eef31a07d6470a8.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js\"],\"default\"]\n1d:I[94520,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da97718f26276355.js\",\"7921\",\"static/chunks/7921-806c72706ef98f30.js\",\"5075\",\"static/chunks/5075-11875491cdef63d9.js\",\"4258\",\"static/chunks/4258-c4b4a778f777d1b9.js\",\"4744\",\"static/chunks/4744-4eef31a07d6470a8.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js\"],\"ReaderDepthTracker\"]\n"])</script><script>self.__next_f.push([1,"9:[\"$\",\"div\",null,{\"className\":\"tw-app\",\"data-sentry-component\":\"DocPage\",\"data-sentry-source-file\":\"index.tsx\",\"children\":[[\"$\",\"$L11\",null,{\"pathname\":\"self-hosted\",\"searchPlatforms\":[],\"data-sentry-element\":\"Header\",\"data-sentry-source-file\":\"index.tsx\"}],[\"$\",\"section\",null,{\"className\":\"px-0 flex relative\",\"children\":[\"$L12\",[\"$\",\"main\",null,{\"className\":\"main-content flex w-full mt-[var(--header-height)] flex-1 mx-auto\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mx-auto lg:mx-0 pt-6 px-6 prose dark:prose-invert max-w-full text-[var(--gray-12)] prose-a:no-underline hover:prose-a:underline prose-code:font-normal prose-code:font-mono marker:text-[var(--accent)] prose-li:my-1 prose-headings:mt-0 prose-headings:font-medium prose-headings:relative prose-headings:text-[var(--gray-12)] prose-blockquote:font-normal prose-blockquote:border-l-[3px] prose-em:font-normal prose-blockquote:text-[var(--gray-12)] prose-img:my-2 prose-strong:text-[var(--gray-12)] w-[75ch] xl:max-w-[calc(100%-250px)]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-4\",\"children\":[\"$\",\"$L13\",null,{\"data-sentry-element\":\"Banner\",\"data-sentry-source-file\":\"index.tsx\"}]}],[\"$\",\"ul\",null,{\"className\":\"list-none flex p-0 flex-wrap\",\"style\":{\"margin\":0},\"data-sentry-component\":\"Breadcrumbs\",\"data-sentry-source-file\":\"index.tsx\",\"children\":[[\"$\",\"li\",\"/\",{\"className\":\"style_breadcrumb-item__bDEaT\",\"children\":[\"$\",\"$L14\",null,{\"to\":\"/\",\"children\":\"Home\"}]}],[\"$\",\"li\",\"self-hosted\",{\"className\":\"style_breadcrumb-item__bDEaT\",\"children\":[\"$\",\"$L14\",null,{\"to\":\"/self-hosted/\",\"children\":\"Self-Hosted Sentry\"}]}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"hgroup\",null,{\"children\":[[\"$\",\"h1\",null,{\"children\":\"Self-Hosted Sentry\"}],[\"$\",\"h2\",null,{\"children\":\"How you can run all of Sentry on your own server, without paying anything.\"}]]}],[\"$\",\"div\",null,{\"id\":\"main\",\"children\":[\"$\",\"$L15\",null,{\"data-sentry-element\":\"CodeContextProvider\",\"data-sentry-source-file\":\"index.tsx\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"In addition to making its source code available publicly, Sentry offers and maintains a minimal setup that works out-of-the-box for simple use cases. This version comes with no guarantees or dedicated support. Sentry engineers will do their best to answer questions and are dedicated to making sure self-hosted is running, but that's where our involvement ends. For anything else, we expect users to rely on the \",[\"$\",\"$L14\",null,{\"href\":\"https://discord.gg/sentry\",\"children\":\"Sentry Self-Hosted community\"}],\" on Discord. The self-hosted repository should serve as a blueprint for how various Sentry services connect for a complete setup. This will be useful for folks willing to maintain larger installations with custom infrastructure.\"]}],[\"$\",\"p\",null,{\"children\":[\"For the sake of simplicity and ubiquity, we have chosen to use \",[\"$\",\"$L14\",null,{\"href\":\"https://www.docker.com/\",\"children\":\"Docker\"}],\" and \",[\"$\",\"$L14\",null,{\"href\":\"https://docs.docker.com/compose/\",\"children\":\"Docker Compose\"}],\", along with a bash-based install and upgrade script.\"]}],[\"$\",\"p\",null,{\"children\":[\"If you're self-hosting Sentry and want to know how to switch to Sentry SaaS, check out this \",[\"$\",\"$L14\",null,{\"href\":\"https://sentry.io/resources/migrate-to-sentry-saas-workshop/\",\"children\":\"live workshop\"}],\" to learn more about our relocation tooling.\"]}],[\"$\",\"h3\",null,{\"id\":\"differences-between-self-hosted-and-saas\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#differences-between-self-hosted-and-saas\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Differences between self-hosted and SaaS\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":\"The difference only resides on a few things that are impossible to be hosted by most people and billing/payment-related. These are some of the things that are not available on self-hosted (due to previous reasons):\"}],[\"$\",\"ul\",null,{\"children\":[[\"$\",\"li\",null,{\"children\":\"Pricing tiers \u0026 Billing system.\"}],[\"$\",\"li\",null,{\"children\":[[\"$\",\"$L14\",null,{\"href\":\"https://docs.sentry.io/pricing/quotas/spike-protection/\",\"children\":\"Spike protection\"}],\", as it is tightly coupled with Billing Quotas.\"]}],[\"$\",\"li\",null,{\"children\":[[\"$\",\"$L14\",null,{\"href\":\"https://docs.sentry.io/pricing/quotas/spend-allocation/\",\"children\":\"Spend Allocation\"}],\", as it is tightly coupled with Billing Quotas.\"]}],[\"$\",\"li\",null,{\"children\":[\"AI \u0026 ML features (such as autofix), although the code is open at \",[\"$\",\"$L14\",null,{\"href\":\"https://github.com/getsentry/seer\",\"children\":\"getsentry/seer\"}],\".\"]}],[\"$\",\"li\",null,{\"children\":[[\"$\",\"$L14\",null,{\"href\":\"https://docs.sentry.io/organization/data-storage-location/\",\"children\":\"Data Storage Location\"}],\", because you own your data.\"]}],[\"$\",\"li\",null,{\"children\":[[\"$\",\"$L14\",null,{\"href\":\"https://docs.sentry.io/platforms/apple/data-management/debug-files/symbol-servers#built-in-repositories\",\"children\":\"iOS Symbolication\"}],\", because Apple does not provide a public symbol server, nor do they allow us to distribute the Debug Information Files (DIFs) ourselves.\"]}]]}],[\"$\",\"p\",null,{\"children\":\"To put things simply, consider self-hosted as the Business plan without any software limitations and no paid tier.\"}],[\"$\",\"h2\",null,{\"id\":\"getting-started\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#getting-started\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Getting Started\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":[\"Our recommendation is to download the聽\",[\"$\",\"$L14\",null,{\"href\":\"https://github.com/getsentry/self-hosted/releases/latest\",\"children\":\"latest release of the self-hosted repository\"}],\", and then run \",[\"$\",\"code\",null,{\"children\":\"./install.sh\"}],\" inside this directory. This script will take care of all the things you need to get started, including a base-line configuration, and then will tell you to run \",[\"$\",\"code\",null,{\"children\":\"docker compose up --wait\"}],\" to start Sentry. Sentry binds to port \",[\"$\",\"code\",null,{\"children\":\"9000\"}],\" by default. You should be able to reach the login page at聽\",[\"$\",\"$L14\",null,{\"href\":\"http://127.0.0.1:9000/\",\"children\":\"http://127.0.0.1:9000\"}],\".\"]}],[\"$\",\"p\",null,{\"children\":[\"To have easy maintainability for future upgrades, it is recommended to use Git workflow by cloning the self-hosted repository and check out to a specific CalVer tag. More about this on \",[\"$\",\"$L14\",null,{\"href\":\"/self-hosted/releases/\",\"children\":\"Releases \u0026 Upgrading\"}],\".\"]}],[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$L17\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-bash\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Assuming current latest version is 24.1.0\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Current actual version can be acquired from the Releases page on GitHub\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"VERSION\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"24.1.0\\\"\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"git\"}],\" clone https://github.com/getsentry/self-hosted.git\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token builtin class-name\",\"children\":\"cd\"}],\" self-hosted\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"git\"}],\" checkout \",[\"$\",\"span\",null,{\"className\":\"token variable\",\"children\":\"$${VERSION}\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"sudo\"}],\" ./install.sh\\n\"]}]]}]}]}]}]}],[\"$\",\"h2\",null,{\"id\":\"required-minimum-system-resources\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#required-minimum-system-resources\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Required Minimum System Resources\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":\"We require at least Docker 19.03.6 and Compose 2.23.2.\"}],[\"$\",\"p\",null,{\"children\":\"These are the minimum requirements:\"}],[\"$\",\"ul\",null,{\"children\":[[\"$\",\"li\",null,{\"children\":\"4 CPU Cores\"}],[\"$\",\"li\",null,{\"children\":\"16 GB RAM\"}],[\"$\",\"li\",null,{\"children\":\"20 GB Free Disk Space\"}]]}],[\"$\",\"p\",null,{\"children\":[\"We'd recommend using a swapfile whenever applicable. Depending on your traffic volume, you may want to increase your system specification to handle increased load. If increasing the disk storage space isn't possible, you can migrate your storage to use external storage such as AWS S3 or Google Cloud Storage (GCS). Decreasing your \",[\"$\",\"code\",null,{\"children\":\"SENTRY_RETENTION_DAYS\"}],\" environment variable to lower numbers will save some storage space from being full, at the cost of having shorter data retention period. See \",[\"$\",\"$L14\",null,{\"href\":\"#event-retention\",\"children\":\"Event Retention\"}],\" section below.\"]}],[\"$\",\"h3\",null,{\"id\":\"self-hosted-monitoring\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#self-hosted-monitoring\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Self-Hosted Monitoring\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":[\"When you run \",[\"$\",\"code\",null,{\"children\":\"./install.sh\"}],\", you have a choice to opt in or out of our monitoring. This monitoring is used for development and debugging purposes so that we're on top of issues you're facing, allowing us to provide a more seamless installation process. If you opt into our monitoring, we will send information to our own self-hosted Sentry instance for development and debugging purposes. We may collect:\"]}],[\"$\",\"ul\",null,{\"children\":[[\"$\",\"li\",null,{\"children\":\"OS username\"}],[\"$\",\"li\",null,{\"children\":\"IP address\"}],[\"$\",\"li\",null,{\"children\":\"install log\"}],[\"$\",\"li\",null,{\"children\":\"runtime errors in Sentry\"}],[\"$\",\"li\",null,{\"children\":\"performance data\"}]]}],[\"$\",\"p\",null,{\"children\":\"Thirty (30) day retention. No marketing. Privacy policy at sentry.io/privacy.\"}],[\"$\",\"p\",null,{\"children\":[\"Starting with the 22.10.0 release, we will require those running the Sentry installer to choose to opt in or out. If you are running the installer under automation, you may want to set \",[\"$\",\"code\",null,{\"children\":\"REPORT_SELF_HOSTED_ISSUES\"}],\" or pass \",[\"$\",\"code\",null,{\"children\":\"--(no-)report-self-hosted-issues\"}],\" to the installer accordingly.\"]}],[\"$\",\"h3\",null,{\"id\":\"self-hosted-beacon\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#self-hosted-beacon\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Self-hosted Beacon\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":\"If you opt-in to it, self-hosted Sentry will periodically communicate with a remote beacon server. This is utilized for a couple of things, primarily:\"}],[\"$\",\"ul\",null,{\"children\":[[\"$\",\"li\",null,{\"children\":\"Getting information about the current version of Sentry\"}],[\"$\",\"li\",null,{\"children\":\"Retrieving important system notices\"}]]}],[\"$\",\"p\",null,{\"children\":[\"The remote server is operated by the Sentry team (sentry.io), and the information reported follows the company's \",[\"$\",\"$L14\",null,{\"href\":\"https://sentry.io/privacy/\",\"children\":\"privacy policy\"}],\".\"]}],[\"$\",\"p\",null,{\"children\":\"The following information is reported:\"}],[\"$\",\"ol\",null,{\"children\":[[\"$\",\"li\",null,{\"children\":\"A unique installation ID\"}],[\"$\",\"li\",null,{\"children\":\"The version of Sentry\"}],[\"$\",\"li\",null,{\"children\":\"A technical contact email if opted in to sending contact info (system.admin-email)\"}],[\"$\",\"li\",null,{\"children\":\"General anonymous statistics on the data pattern (such as the number of users and volume of errors)\"}],[\"$\",\"li\",null,{\"children\":\"Names and version of the installed Python modules\"}]]}],[\"$\",\"p\",null,{\"children\":\"Note: The contact email is utilized for security announcements, and will never be used outside of such. You can change your opt in/out settings for sending contact info at any time in the settings of the admin panel.\"}],[\"$\",\"p\",null,{\"children\":\"The data reported is minimal and it greatly helps the development team behind Sentry. With that said, you can disable the beacon with the following setting:\"}],[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$L17\",null,{\"language\":\"python\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-python\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-python\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"SENTRY_BEACON \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token boolean\",\"children\":\"False\"}],\"\\n\"]}]}]}]}]}]}],[\"$\",\"h3\",null,{\"id\":\"installing-behind-a-proxy\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#installing-behind-a-proxy\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Installing Behind a Proxy\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":\"In some enterprise setups there is no direct Internet connection, so you must use an HTTP proxy server. How do you install Sentry in this environment? Let us assume:\"}],[\"$\",\"ol\",null,{\"children\":[[\"$\",\"li\",null,{\"children\":\"Your Sentry installation is running on Linux.\"}],[\"$\",\"li\",null,{\"children\":[[\"$\",\"code\",null,{\"children\":\"http://proxy:3128\"}],\" is your proxy address.\"]}],[\"$\",\"li\",null,{\"children\":[[\"$\",\"code\",null,{\"children\":\"127.0.0.0/8\"}],\" is the only network that should be accessed without a proxy.\"]}]]}],[\"$\",\"p\",null,{\"children\":\"Here are the steps to follow:\"}],[\"$\",\"ol\",null,{\"children\":[[\"$\",\"li\",null,{\"children\":[\"Set \",[\"$\",\"code\",null,{\"children\":\"http_proxy\"}],\", \",[\"$\",\"code\",null,{\"children\":\"https_proxy\"}],\" and \",[\"$\",\"code\",null,{\"children\":\"no_proxy\"}],\" variables in the \",[\"$\",\"code\",null,{\"children\":\"/etc/environment\"}],\" file.\"]}],[\"$\",\"li\",null,{\"children\":[\"To make the \",[\"$\",\"code\",null,{\"children\":\"docker pull\"}],\" command respect your proxy settings, create a \",[\"$\",\"code\",null,{\"children\":\"/etc/systemd/system/docker.service.d/http-proxy.conf\"}],\" file with these contents:\"]}]]}],[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$L17\",null,{\"language\":\"systemd\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-systemd\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-systemd\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token section\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token section-name selector\",\"children\":\"Service\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}]]}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token attr-name key\",\"children\":\"Environment\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token attr-value value\",\"children\":[\"$\",\"span\",null,{\"className\":\"token quoted\",\"children\":\"\\\"HTTP_PROXY=http://proxy:3128\\\"\"}]}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token attr-name key\",\"children\":\"Environment\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token attr-value value\",\"children\":[\"$\",\"span\",null,{\"className\":\"token quoted\",\"children\":\"\\\"HTTPS_PROXY=http://proxy:3128\\\"\"}]}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token attr-name key\",\"children\":\"Environment\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token attr-value value\",\"children\":[\"$\",\"span\",null,{\"className\":\"token quoted\",\"children\":\"\\\"NO_PROXY=127.0.0.0/8\\\"\"}]}],\"\\n\"]}]]}]}]}]}]}],[\"$\",\"ol\",null,{\"start\":\"3\",\"children\":[\"$\",\"li\",null,{\"children\":[\"Run \",[\"$\",\"code\",null,{\"children\":\"systemctl daemon-reload\"}],\" and restart Docker with \",[\"$\",\"code\",null,{\"children\":\"systemctl restart docker.service\"}],\".\"]}]}],[\"$\",\"p\",null,{\"children\":[\"From there you can run \",[\"$\",\"code\",null,{\"children\":\"./install.sh\"}],\" like usual.\"]}],[\"$\",\"p\",null,{\"children\":[\"By default Sentry sends anonymous usage statistics to the Sentry team. It helps to improve the product. You can disable this feature by adding \",[\"$\",\"code\",null,{\"children\":\"SENTRY_BEACON = False\"}],\" into \",[\"$\",\"code\",null,{\"children\":\"sentry.conf.py\"}],\" file. Also there can be different external integrations with third party services like Slack or Twilio. To make these features work it's required to allow Docker containers to access the Internet. To add your proxy environment variables into Sentry's Docker containers, create \",[\"$\",\"code\",null,{\"children\":\"/etc/docker/config.json\"}],\" file (or \",[\"$\",\"code\",null,{\"children\":\"~/.docker/config.json\"}],\" if you're running Docker on rootless mode) with these contents:\"]}],[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$L17\",null,{\"language\":\"json\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-json\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-json\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\" \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"proxies\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\" \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"httpProxy\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"http://proxy:3128\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\" \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"httpsProxy\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"http://proxy:3128\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\" \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"noProxy\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"smtp,memcached,redis,postgres,kafka,clickhouse,snuba-api,symbolicator,web,worker,nginx,relay,vroom,172.17.0.0/16,127.0.0.0/8\\\"\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]]}]}]}]}]}],[\"$\",\"p\",null,{\"children\":[\"To apply new Docker daemon configuration, restart your Docker service with \",[\"$\",\"code\",null,{\"children\":\"systemctl restart docker.service\"}],\".\"]}],[\"$\",\"div\",null,{\"className\":\"callout callout-info\",\"role\":\"alert\",\"data-sentry-component\":\"Callout\",\"data-sentry-source-file\":\"index.tsx\",\"children\":[[\"$\",\"svg\",null,{\"width\":\"15\",\"height\":\"15\",\"viewBox\":\"0 0 15 15\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"callout-icon\",\"onClick\":\"$undefined\",\"role\":\"$undefined\",\"data-sentry-element\":\"Icon\",\"data-sentry-source-file\":\"index.tsx\",\"ref\":\"$undefined\",\"children\":[\"$\",\"path\",null,{\"d\":\"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM8.24992 4.49999C8.24992 4.9142 7.91413 5.24999 7.49992 5.24999C7.08571 5.24999 6.74992 4.9142 6.74992 4.49999C6.74992 4.08577 7.08571 3.74999 7.49992 3.74999C7.91413 3.74999 8.24992 4.08577 8.24992 4.49999ZM6.00003 5.99999H6.50003H7.50003C7.77618 5.99999 8.00003 6.22384 8.00003 6.49999V9.99999H8.50003H9.00003V11H8.50003H7.50003H6.50003H6.00003V9.99999H6.50003H7.00003V6.99999H6.50003H6.00003V5.99999Z\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\"}]}],[\"$\",\"div\",null,{\"className\":\"callout-content\",\"children\":[[\"$\",\"h5\",null,{\"className\":\"callout-header\",\"onClick\":\"$undefined\",\"role\":\"$undefined\",\"children\":\"Note\"}],[\"$\",\"div\",null,{\"className\":\"callout-body content-flush-bottom\",\"children\":[\"$\",\"p\",null,{\"children\":[\"The value \",[\"$\",\"code\",null,{\"children\":\"172.17.0.0/16\"}],\" is the default IP pools for Docker. If you are customizing your Docker default IP pools, please modify the value accordingly. Further information regarding Docker default IP pools can be found on the \",[\"$\",\"$L14\",null,{\"href\":\"/self-hosted/troubleshooting/docker/#docker-network-conflicting-ip-address\",\"children\":\"Troubleshooting guide\"}],\".\"]}]}]]}]]}],[\"$\",\"h2\",null,{\"id\":\"configuration\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#configuration\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Configuration\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":\"You very likely will want to adjust the default configuration for your Sentry installation as well. These facilities are available for that purpose:\"}],[\"$\",\"ol\",null,{\"children\":[[\"$\",\"li\",null,{\"children\":[[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"sentry/config.yml\"}]}],\"鈥擟ontains most, if not all, configuration options to adjust. This file is generated from \",[\"$\",\"$L14\",null,{\"href\":\"https://github.com/getsentry/self-hosted/blob/master/sentry/config.example.yml\",\"children\":[\"$\",\"code\",null,{\"children\":\"sentry/config.example.yml\"}]}],\" at the time of installation. The file itself documents the most common configuration options as code comments. Some popular settings in this file include:\"]}],[\"$\",\"ol\",null,{\"children\":[[\"$\",\"li\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"code\",null,{\"children\":\"system.url-prefix\"}],\" (we prompt you to set this at the welcome screen, right after the installation)\"]}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"code\",null,{\"children\":\"mail.*\"}],\" (though we do ship with a basic SMTP server)\"]}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"p\",null,{\"children\":\"integrations for GitHub, Slack, etc.\"}]}]]}]]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"sentry/sentry.conf.py\"}]}],\"鈥擟ontains more advanced configuration. This file is generated from \",[\"$\",\"$L14\",null,{\"href\":\"https://github.com/getsentry/self-hosted/blob/master/sentry/sentry.conf.example.py\",\"children\":[\"$\",\"code\",null,{\"children\":\"sentry/sentry.conf.example.py\"}]}],\" during installation.\"]}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"sentry/enhance-image.sh\"}]}],\"鈥擳o install plugins and their dependencies or make other modifications to the Sentry base image, copy \",[\"$\",\"code\",null,{\"children\":\"sentry/enhance-image.example.sh\"}],\" to \",[\"$\",\"code\",null,{\"children\":\"sentry/enhance-image.sh\"}],\" and add necessary steps there. For example, you can use \",[\"$\",\"code\",null,{\"children\":\"apt-get\"}],\" to install dependencies and use \",[\"$\",\"code\",null,{\"children\":\"pip\"}],\" to install plugins. After making modifications to \",[\"$\",\"code\",null,{\"children\":\"sentry/enhance-image.sh\"}],\", run \",[\"$\",\"code\",null,{\"children\":\"./install.sh\"}],\" again to apply them.\"]}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Environment variables\"}],\"鈥擳he available keys are defined in \",[\"$\",\"$L14\",null,{\"href\":\"https://github.com/getsentry/self-hosted/blob/master/.env\",\"children\":\".env\"}],\". Use some system-dependent means of setting environment variables if you need to override any of them. To avoid Git changes, simply create a file called \",[\"$\",\"code\",null,{\"children\":\".env.custom\"}],\" and insert your system-dependent environment variables there. In order to use this, please use \",[\"$\",\"code\",null,{\"children\":\"docker compose --env-file /path/to/.env.custom up --wait\"}],\".\"]}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"p\",null,{\"children\":[[\"$\",\"$L14\",null,{\"href\":\"/self-hosted/geolocation/\",\"children\":\"Geolocation\"}],\" uses \",[\"$\",\"strong\",null,{\"children\":\"a custom configuration file\"}],\" to conform to the underlying technology.\"]}]}]]}],[\"$\",\"p\",null,{\"children\":[\"You can find more about configuring Sentry at聽\",[\"$\",\"$L14\",null,{\"href\":\"/config/\",\"children\":\"the configuration section of our developer documentation\"}],\".\"]}],[\"$\",\"div\",null,{\"className\":\"callout callout-info\",\"role\":\"alert\",\"data-sentry-component\":\"Callout\",\"data-sentry-source-file\":\"index.tsx\",\"children\":[[\"$\",\"svg\",null,{\"width\":\"15\",\"height\":\"15\",\"viewBox\":\"0 0 15 15\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"callout-icon\",\"onClick\":\"$undefined\",\"role\":\"$undefined\",\"data-sentry-element\":\"Icon\",\"data-sentry-source-file\":\"index.tsx\",\"ref\":\"$undefined\",\"children\":[\"$\",\"path\",null,{\"d\":\"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM8.24992 4.49999C8.24992 4.9142 7.91413 5.24999 7.49992 5.24999C7.08571 5.24999 6.74992 4.9142 6.74992 4.49999C6.74992 4.08577 7.08571 3.74999 7.49992 3.74999C7.91413 3.74999 8.24992 4.08577 8.24992 4.49999ZM6.00003 5.99999H6.50003H7.50003C7.77618 5.99999 8.00003 6.22384 8.00003 6.49999V9.99999H8.50003H9.00003V11H8.50003H7.50003H6.50003H6.00003V9.99999H6.50003H7.00003V6.99999H6.50003H6.00003V5.99999Z\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\"}]}],[\"$\",\"div\",null,{\"className\":\"callout-content\",\"children\":[[\"$\",\"h5\",null,{\"className\":\"callout-header\",\"onClick\":\"$undefined\",\"role\":\"$undefined\",\"children\":\"Note\"}],[\"$\",\"div\",null,{\"className\":\"callout-body content-flush-bottom\",\"children\":[\"$\",\"p\",null,{\"children\":[\"Once you change your configuration, it's highly recommended to re-run \",[\"$\",\"code\",null,{\"children\":\"./install.sh\"}],\" script rather than restarting all services using \",[\"$\",\"code\",null,{\"children\":\"docker compose restart\"}],\". This ensures no other configuration or migrations that might be missing when something is toggled on.\"]}]}]]}]]}],[\"$\",\"h3\",null,{\"id\":\"event-retention\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#event-retention\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Event Retention\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":[\"Sentry comes with a cleanup cron job that prunes events older than \",[\"$\",\"code\",null,{\"children\":\"90 days\"}],\" by default. If you want to change that, you can edit the \",[\"$\",\"code\",null,{\"children\":\"SENTRY_EVENT_RETENTION_DAYS\"}],\" environment variable in \",[\"$\",\"code\",null,{\"children\":\".env\"}],\" or simply override it in your environment. If you do not want the cleanup cron, you can remove the \",[\"$\",\"code\",null,{\"children\":\"sentry-cleanup\"}],\" service from the \",[\"$\",\"code\",null,{\"children\":\"docker-compose.yml\"}],\" file.\"]}],[\"$\",\"h3\",null,{\"id\":\"installing-a-specific-sha\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#installing-a-specific-sha\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Installing a specific SHA\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":\"If you want to install a specific release of Sentry, use the tags/releases on the self-hosted repository.\"}],[\"$\",\"p\",null,{\"children\":[\"We continuously push the Docker image for each commit made into \",[\"$\",\"$L14\",null,{\"href\":\"https://github.com/getsentry/sentry\",\"children\":\"Sentry\"}],\", and other services such as \",[\"$\",\"$L14\",null,{\"href\":\"https://github.com/getsentry/snuba\",\"children\":\"Snuba\"}],\" or \",[\"$\",\"$L14\",null,{\"href\":\"https://github.com/getsentry/symbolicator\",\"children\":\"Symbolicator\"}],\" to \",[\"$\",\"$L14\",null,{\"href\":\"https://hub.docker.com/u/getsentry\",\"children\":\"our Docker Hub\"}],\" and tag the latest version on master as \",[\"$\",\"code\",null,{\"children\":\":nightly\"}],\". This is also usually what we have on sentry.io and what the install script uses. You can use a custom Sentry image, such as a modified version that you have built on your own, or simply a specific commit hash by setting the \",[\"$\",\"code\",null,{\"children\":\"SENTRY_IMAGE\"}],\" environment variable to that image name before running \",[\"$\",\"code\",null,{\"children\":\"./install.sh\"}],\":\"]}],[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$L17\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-bash\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"SENTRY_IMAGE\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\"getsentry/sentry:83b1380 ./install.sh\\n\"]}]}]}]}]}]}],[\"$\",\"p\",null,{\"children\":\"Note that this may not work for all commit SHAs as this repository evolves with Sentry and its' satellite projects. It is highly recommended to check out a version of this repository that is close to the timestamp of the Sentry commit you are installing.\"}],[\"$\",\"h3\",null,{\"id\":\"enabling-preview-features\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#enabling-preview-features\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Enabling Preview Features\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":[\"Only features that have reached General Availability (GA) status will be enabled by default for self-hosted. As users, you can try new features before it reaches GA by adding required infrastructure components and feature flags. Preview features are tracked and documented through \",[\"$\",\"$L14\",null,{\"href\":\"https://github.com/getsentry/self-hosted/labels/Type%3A%20Pre-release%20Feature\",\"children\":\"GitHub issues with Type: Pre-release Feature labels\"}],\".\"]}],[\"$\",\"h3\",null,{\"id\":\"customize-dotenv-env-file\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#customize-dotenv-env-file\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Customize DotEnv (.env) file\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":[\"Environment specific configurations can be done in the \",[\"$\",\"code\",null,{\"children\":\".env.custom\"}],\" file. It will be located in the root directory of the Sentry installation, and if it exists then \",[\"$\",\"code\",null,{\"children\":\".env\"}],\" will be ignored entirely.\"]}],[\"$\",\"p\",null,{\"children\":[\"By default, there exists no \",[\"$\",\"code\",null,{\"children\":\".env.custom\"}],\" file. In this case, you can manually add this file by copying the \",[\"$\",\"code\",null,{\"children\":\".env\"}],\" file to a new \",[\"$\",\"code\",null,{\"children\":\".env.custom\"}],\" file and adjust your settings in the \",[\"$\",\"code\",null,{\"children\":\".env.custom\"}],\" file.\"]}],[\"$\",\"p\",null,{\"children\":[\"Please keep in mind to check the \",[\"$\",\"code\",null,{\"children\":\".env\"}],\" file for changes, when you perform an upgrade of Sentry, so that you can adjust your \",[\"$\",\"code\",null,{\"children\":\".env.custom\"}],\" accordingly, if required, as \",[\"$\",\"code\",null,{\"children\":\".env\"}],\" is ignored entirely if \",[\"$\",\"code\",null,{\"children\":\".env.custom\"}],\" is present.\"]}],[\"$\",\"p\",null,{\"children\":[\"For all Docker Compose commands, you should specify your \",[\"$\",\"code\",null,{\"children\":\".env.custom\"}],\", otherwise the default \",[\"$\",\"code\",null,{\"children\":\".env\"}],\" file will be used. Some examples are:\"]}],[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$L17\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-bash\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"docker\"}],\" compose --env-file .env.custom up \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"--wait\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# You can also specify the original `.env` file as a fallback if the\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# environment variable doesn't exists on the `.env.custom` file.\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"docker\"}],\" compose --env-file .env --env-file .env.custom up \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"--wait\"}],\"\\n\"]}]]}]}]}]}]}],[\"$\",\"h3\",null,{\"id\":\"enhance-sentry-image\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#enhance-sentry-image\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Enhance Sentry image\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":[\"To install plugins and their dependencies or make other modifications to the Sentry base image, copy \",[\"$\",\"code\",null,{\"children\":\"sentry/enhance-image.example.sh\"}],\" to \",[\"$\",\"code\",null,{\"children\":\"sentry/enhance-image.sh\"}],\" and add necessary steps there. For example, you can use \",[\"$\",\"code\",null,{\"children\":\"apt-get\"}],\" to install dependencies and use \",[\"$\",\"code\",null,{\"children\":\"pip\"}],\" to install plugins.\"]}],[\"$\",\"p\",null,{\"children\":[\"After making modifications to \",[\"$\",\"code\",null,{\"children\":\"sentry/enhance-image.sh\"}],\", run \",[\"$\",\"code\",null,{\"children\":\"./install.sh\"}],\" again to apply them.\"]}],[\"$\",\"h3\",null,{\"id\":\"configuration-topics\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#configuration-topics\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Configuration Topics\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":\"Here is further information on specific configuration topics related to self-hosting:\"}],[\"$\",\"ul\",null,{\"children\":[[\"$\",\"li\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/self-hosted/custom-ca-roots/\",\"children\":\"Custom CA Roots\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/self-hosted/email/\",\"children\":\"Email\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/self-hosted/geolocation/\",\"children\":\"Geolocation\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/self-hosted/sso/\",\"children\":\"Single Sign-On (SSO)\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/self-hosted/experimental/csp/\",\"children\":\"Content Security Policy\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L14\",null,{\"href\":\"/self-hosted/experimental/errors-only/\",\"children\":\"Errors Only\"}]}]]}],[\"$\",\"h2\",null,{\"id\":\"productionalizing\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#productionalizing\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Productionalizing\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":[\"We strongly recommend using a dedicated load balancer in front of your Sentry setup bound to a dedicated domain or subdomain. A dedicated load balancer that does SSL/TLS termination that also forwards the client IP address as Docker Compose internal network (as this is聽\",[\"$\",\"$L14\",null,{\"href\":\"https://github.com/getsentry/self-hosted/issues/554\",\"children\":\"close to impossible to get otherwise)\"}],\"聽would give you the best Sentry experience. As part of this setup we recommend configuring a load balancer health check against the \",[\"$\",\"code\",null,{\"children\":\"/_health/\"}],\" endpoint using HTTP protocol. This will return a 200 if Sentry is up or a 500 with the list of problems.\"]}],[\"$\",\"p\",null,{\"children\":[\"Once you have setup a load balancer or reverse proxy to your Sentry instance, you should modify the \",[\"$\",\"code\",null,{\"children\":\"system.url-prefix\"}],\" in the \",[\"$\",\"code\",null,{\"children\":\"config.yml\"}],\" file to match your new URL and protocol. You should also update the SSL/TLS section in the \",[\"$\",\"code\",null,{\"children\":\"sentry/sentry.conf.py\"}],\" script, otherwise you may get CSRF-related errors when performing certain actions such as configuring integrations.\"]}],[\"$\",\"p\",null,{\"children\":[\"Keep in mind that all this setup uses single-nodes for all services, including Kafka. For larger loads, you'd need a beefy machine with lots of RAM and disk storage. To scale up even further, you are very likely to use clusters with a more complex tool, such as Kubernetes. Due to self-hosted installations' very custom nature, we do not offer any recommendations or guidance around scaling up. We do what works for us for our thousands of customers over at聽\",[\"$\",\"$L14\",null,{\"href\":\"https://sentry.io/\",\"children\":\"sentry.io\"}],\"聽and would love to have you over when you feel your local install's maintenance becomes a burden instead of a joy.\"]}],[\"$\",\"h2\",null,{\"id\":\"licensing\",\"children\":[\"$\",\"$L14\",null,{\"href\":\"#licensing\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Licensing\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":[\"Sentry is \",[\"$\",\"$L14\",null,{\"href\":\"https://fair.io/\",\"children\":\"Fair Source\"}],\" under the \",[\"$\",\"$L14\",null,{\"href\":\"https://fsl.software/\",\"children\":\"FSL (Functional Source License)\"}],\". Note that Fair Source is not under the \",[\"$\",\"$L14\",null,{\"href\":\"https://opensource.org/\",\"children\":\"OSI\"}],\" umbrella, it becomes literally open source under the \",[\"$\",\"$L14\",null,{\"href\":\"https://www.apache.org/licenses/LICENSE-2.0\",\"children\":\"Apache 2.0 license\"}],\" after 2 years, and is practically open source before that except when you are a Sentry competitor. This license means that users can use Sentry and deploy it anywhere (even inside an enterprise ecosystem), but users are prohibited to sell deployed self-hosted Sentry as any kind of offering (SaaS or any other business model), and users are prohibited to be a direct competitor of Sentry by using Sentry's code that is FSL-licensed. The source code of Sentry and its surrounding service \u0026 libraries for self-hosted deployment are \",[\"$\",\"$L14\",null,{\"href\":\"https://github.com/orgs/getsentry/repositories?q=has%3Atag-production\",\"children\":\"available on GitHub\"}],\".\"]}],[\"$\",\"p\",null,{\"children\":[\"For further information on the FSL License, you can \",[\"$\",\"$L14\",null,{\"href\":\"https://fsl.software/\",\"children\":\"visit the fsl.software website\"}],\" or \",[\"$\",\"$L14\",null,{\"href\":\"https://blog.sentry.io/introducing-the-functional-source-license-freedom-without-free-riding/\",\"children\":\"read the announcement blog post\"}],\".\"]}]]}]}],[\"$\",\"div\",null,{\"className\":\"grid grid-cols-2 gap-4 not-prose mt-16\",\"children\":[[\"$\",\"div\",null,{\"className\":\"col-span-1\",\"children\":[\"$\",\"a\",null,{\"href\":\"/sdk\",\"className\":\"no-underline\",\"data-sentry-component\":\"PaginationNav\",\"data-sentry-source-file\":\"paginationNav.tsx\",\"children\":[\"$\",\"div\",null,{\"className\":\"py-3 px-4 border-2 dark:[border-color:var(--gray-4)] rounded-md transition-colors hover:[border-color:var(--accent)] text-left\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-sm [color:var(--foreground)]\",\"children\":\"Previous\"}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-1 font-[500] justify-start\",\"children\":[[\"$\",\"svg\",null,{\"width\":\"15\",\"height\":\"15\",\"viewBox\":\"0 0 15 15\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"ref\":\"$undefined\",\"children\":[\"$\",\"path\",null,{\"d\":\"M6.85355 3.85355C7.04882 3.65829 7.04882 3.34171 6.85355 3.14645C6.65829 2.95118 6.34171 2.95118 6.14645 3.14645L2.14645 7.14645C1.95118 7.34171 1.95118 7.65829 2.14645 7.85355L6.14645 11.8536C6.34171 12.0488 6.65829 12.0488 6.85355 11.8536C7.04882 11.6583 7.04882 11.3417 6.85355 11.1464L3.20711 7.5L6.85355 3.85355ZM12.8536 3.85355C13.0488 3.65829 13.0488 3.34171 12.8536 3.14645C12.6583 2.95118 12.3417 2.95118 12.1464 3.14645L8.14645 7.14645C7.95118 7.34171 7.95118 7.65829 8.14645 7.85355L12.1464 11.8536C12.3417 12.0488 12.6583 12.0488 12.8536 11.8536C13.0488 11.6583 13.0488 11.3417 12.8536 11.1464L9.20711 7.5L12.8536 3.85355Z\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\"}]}],\"SDK Development\",false]}]]}]}]}],[\"$\",\"div\",null,{\"className\":\"col-span-1\",\"children\":[\"$\",\"a\",null,{\"href\":\"/self-hosted/releases\",\"className\":\"no-underline\",\"data-sentry-component\":\"PaginationNav\",\"data-sentry-source-file\":\"paginationNav.tsx\",\"children\":[\"$\",\"div\",null,{\"className\":\"py-3 px-4 border-2 dark:[border-color:var(--gray-4)] rounded-md transition-colors hover:[border-color:var(--accent)] text-right\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-sm [color:var(--foreground)]\",\"children\":\"Next\"}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-1 font-[500] justify-end\",\"children\":[false,\"Self-Hosted Releases \u0026 Upgrading\",[\"$\",\"svg\",null,{\"width\":\"15\",\"height\":\"15\",\"viewBox\":\"0 0 15 15\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"ref\":\"$undefined\",\"children\":[\"$\",\"path\",null,{\"d\":\"M2.14645 11.1464C1.95118 11.3417 1.95118 11.6583 2.14645 11.8536C2.34171 12.0488 2.65829 12.0488 2.85355 11.8536L6.85355 7.85355C7.04882 7.65829 7.04882 7.34171 6.85355 7.14645L2.85355 3.14645C2.65829 2.95118 2.34171 2.95118 2.14645 3.14645C1.95118 3.34171 1.95118 3.65829 2.14645 3.85355L5.79289 7.5L2.14645 11.1464ZM8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L12.8536 7.85355C13.0488 7.65829 13.0488 7.34171 12.8536 7.14645L8.85355 3.14645C8.65829 2.95118 8.34171 2.95118 8.14645 3.14645C7.95118 3.34171 7.95118 3.65829 8.14645 3.85355L11.7929 7.5L8.14645 11.1464Z\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\"}]}]]}]]}]}]}]]}],[\"$\",\"$L18\",null,{\"pathname\":\"self-hosted\",\"data-sentry-element\":\"DocFeedback\",\"data-sentry-source-file\":\"index.tsx\"}],[\"$\",\"div\",null,{\"className\":\"styles_cta__uq_BB\",\"data-sentry-component\":\"GitHubCTA\",\"data-sentry-source-file\":\"index.tsx\",\"children\":[[\"$\",\"small\",null,{\"children\":[\"$\",\"strong\",null,{\"children\":\"Help improve this content\"}]}],[\"$\",\"br\",null,{}],[\"$\",\"small\",null,{\"children\":[\"Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update (\\\"yeah, this would be better\\\").\",[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L19\",null,{\"href\":\"https://docs.sentry.io/contributing/\",\"data-sentry-element\":\"Link\",\"data-sentry-source-file\":\"index.tsx\",\"children\":\"How to contribute\"}],\" \",\"聽聽|聽聽\",[\"$\",\"$L19\",null,{\"href\":\"https://github.com/getsentry/sentry-docs/edit/master/develop-docs/self-hosted/index.mdx\",\"data-sentry-element\":\"Link\",\"data-sentry-source-file\":\"index.tsx\",\"children\":\"Edit this page\"}],\" 聽聽|聽聽\",[\"$\",\"$L19\",null,{\"href\":\"https://github.com/getsentry/sentry-docs/issues/new/choose\",\"data-sentry-element\":\"Link\",\"data-sentry-source-file\":\"index.tsx\",\"children\":\"Create a docs issue\"}],\" \",\"聽聽|聽聽\",[\"$\",\"$L19\",null,{\"href\":\"https://sentry.zendesk.com/hc/en-us/\",\"data-sentry-element\":\"Link\",\"data-sentry-source-file\":\"index.tsx\",\"children\":\"Get support\"}],\" \"]}]]}]]}]]}]]}],[\"$\",\"aside\",null,{\"className\":\"sticky h-[calc(100vh-var(--header-height))] top-[var(--header-height)] overflow-y-auto hidden xl:block w-[250px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"sidebar\",\"children\":[[\"$\",\"$L1a\",null,{}],\"$L1b\"]}]}]]}]]}],[\"$\",\"$L1c\",null,{\"data-sentry-element\":\"Mermaid\",\"data-sentry-source-file\":\"index.tsx\"}],[\"$\",\"$L1d\",null,{\"data-sentry-element\":\"ReaderDepthTracker\",\"data-sentry-source-file\":\"index.tsx\"}]]}]\n"])</script><script>self.__next_f.push([1,"1e:I[93534,[\"5105\",\"static/chunks/0e5ce63c-1aac88c3332c7248.js\",\"2408\",\"static/chunks/2408-0ebe5cf945b50b31.js\",\"3293\",\"static/chunks/3293-da97718f26276355.js\",\"7921\",\"static/chunks/7921-806c72706ef98f30.js\",\"5075\",\"static/chunks/5075-11875491cdef63d9.js\",\"4258\",\"static/chunks/4258-c4b4a778f777d1b9.js\",\"4744\",\"static/chunks/4744-4eef31a07d6470a8.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-80cec21d8bf06a63.js\"],\"SidebarLink\"]\n1b:null\n"])</script><script>self.__next_f.push([1,"12:[\"$\",\"aside\",null,{\"className\":\"style_sidebar__iEJoR\",\"data-sentry-component\":\"DevelopDocsSidebar\",\"data-sentry-source-file\":\"developDocsSidebar.tsx\",\"children\":[[\"$\",\"input\",null,{\"type\":\"checkbox\",\"id\":\"style_navbar-menu-toggle__dc5I6\",\"className\":\"hidden\"}],[\"$\",\"style\",null,{\"children\":\":root { --sidebar-width: 300px; }\"}],[\"$\",\"div\",null,{\"className\":\"md:flex flex-col items-stretch\",\"children\":[\"$\",\"div\",null,{\"className\":\"style_toc__wKI2w\",\"children\":[[\"$\",\"ul\",null,{\"data-sidebar-tree\":true,\"children\":[[\"$\",\"li\",\"getting-started\",{\"className\":\"mb-3\",\"data-sidebar-branch\":true,\"data-sentry-component\":\"DynamicNav\",\"data-sentry-source-file\":\"dynamicNav.tsx\",\"children\":[[\"$\",\"$L14\",null,{\"to\":\"/getting-started/\",\"className\":\"style_sidebar-title__u_GwL flex items-center justify-between\",\"activeClassName\":\"active\",\"data-sidebar-link\":true,\"children\":[[\"$\",\"h6\",null,{\"children\":\"Getting Started\"}],false]}],false]}],[\"$\",\"li\",\"engineering-practices\",{\"className\":\"mb-3\",\"data-sidebar-branch\":true,\"data-sentry-component\":\"DynamicNav\",\"data-sentry-source-file\":\"dynamicNav.tsx\",\"children\":[[\"$\",\"$L14\",null,{\"to\":\"/engineering-practices/\",\"className\":\"style_sidebar-title__u_GwL flex items-center justify-between\",\"activeClassName\":\"active\",\"data-sidebar-link\":true,\"children\":[[\"$\",\"h6\",null,{\"children\":\"Engineering Practices\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"style\":{\"transition\":\"transform 200ms\",\"transform\":\"rotate(270deg)\"},\"data-sentry-element\":\"svg\",\"data-sentry-component\":\"NavChevron\",\"data-sentry-source-file\":\"navChevron.tsx\",\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z\",\"data-sentry-element\":\"path\",\"data-sentry-source-file\":\"navChevron.tsx\"}]}]]}],false]}],[\"$\",\"li\",\"application-architecture\",{\"className\":\"mb-3\",\"data-sidebar-branch\":true,\"data-sentry-component\":\"DynamicNav\",\"data-sentry-source-file\":\"dynamicNav.tsx\",\"children\":[[\"$\",\"$L14\",null,{\"to\":\"/application-architecture/\",\"className\":\"style_sidebar-title__u_GwL flex items-center justify-between\",\"activeClassName\":\"active\",\"data-sidebar-link\":true,\"children\":[[\"$\",\"h6\",null,{\"children\":\"Application Architecture\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"style\":{\"transition\":\"transform 200ms\",\"transform\":\"rotate(270deg)\"},\"data-sentry-element\":\"svg\",\"data-sentry-component\":\"NavChevron\",\"data-sentry-source-file\":\"navChevron.tsx\",\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z\",\"data-sentry-element\":\"path\",\"data-sentry-source-file\":\"navChevron.tsx\"}]}]]}],false]}],[\"$\",\"li\",\"development-infrastructure\",{\"className\":\"mb-3\",\"data-sidebar-branch\":true,\"data-sentry-component\":\"DynamicNav\",\"data-sentry-source-file\":\"dynamicNav.tsx\",\"children\":[[\"$\",\"$L14\",null,{\"to\":\"/development-infrastructure/\",\"className\":\"style_sidebar-title__u_GwL flex items-center justify-between\",\"activeClassName\":\"active\",\"data-sidebar-link\":true,\"children\":[[\"$\",\"h6\",null,{\"children\":\"Development Infrastructure\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"style\":{\"transition\":\"transform 200ms\",\"transform\":\"rotate(270deg)\"},\"data-sentry-element\":\"svg\",\"data-sentry-component\":\"NavChevron\",\"data-sentry-source-file\":\"navChevron.tsx\",\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z\",\"data-sentry-element\":\"path\",\"data-sentry-source-file\":\"navChevron.tsx\"}]}]]}],false]}],[\"$\",\"li\",\"backend\",{\"className\":\"mb-3\",\"data-sidebar-branch\":true,\"data-sentry-component\":\"DynamicNav\",\"data-sentry-source-file\":\"dynamicNav.tsx\",\"children\":[[\"$\",\"$L14\",null,{\"to\":\"/backend/\",\"className\":\"style_sidebar-title__u_GwL flex items-center justify-between\",\"activeClassName\":\"active\",\"data-sidebar-link\":true,\"children\":[[\"$\",\"h6\",null,{\"children\":\"Backend\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"style\":{\"transition\":\"transform 200ms\",\"transform\":\"rotate(270deg)\"},\"data-sentry-element\":\"svg\",\"data-sentry-component\":\"NavChevron\",\"data-sentry-source-file\":\"navChevron.tsx\",\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z\",\"data-sentry-element\":\"path\",\"data-sentry-source-file\":\"navChevron.tsx\"}]}]]}],false]}],[\"$\",\"li\",\"frontend\",{\"className\":\"mb-3\",\"data-sidebar-branch\":true,\"data-sentry-component\":\"DynamicNav\",\"data-sentry-source-file\":\"dynamicNav.tsx\",\"children\":[[\"$\",\"$L14\",null,{\"to\":\"/frontend/\",\"className\":\"style_sidebar-title__u_GwL flex items-center justify-between\",\"activeClassName\":\"active\",\"data-sidebar-link\":true,\"children\":[[\"$\",\"h6\",null,{\"children\":\"Frontend\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"style\":{\"transition\":\"transform 200ms\",\"transform\":\"rotate(270deg)\"},\"data-sentry-element\":\"svg\",\"data-sentry-component\":\"NavChevron\",\"data-sentry-source-file\":\"navChevron.tsx\",\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z\",\"data-sentry-element\":\"path\",\"data-sentry-source-file\":\"navChevron.tsx\"}]}]]}],false]}],[\"$\",\"li\",\"services\",{\"className\":\"mb-3\",\"data-sidebar-branch\":true,\"data-sentry-component\":\"DynamicNav\",\"data-sentry-source-file\":\"dynamicNav.tsx\",\"children\":[[\"$\",\"$L14\",null,{\"to\":\"/services/\",\"className\":\"style_sidebar-title__u_GwL flex items-center justify-between\",\"activeClassName\":\"active\",\"data-sidebar-link\":true,\"children\":[[\"$\",\"h6\",null,{\"children\":\"Services\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"style\":{\"transition\":\"transform 200ms\",\"transform\":\"rotate(270deg)\"},\"data-sentry-element\":\"svg\",\"data-sentry-component\":\"NavChevron\",\"data-sentry-source-file\":\"navChevron.tsx\",\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z\",\"data-sentry-element\":\"path\",\"data-sentry-source-file\":\"navChevron.tsx\"}]}]]}],false]}],[\"$\",\"li\",\"integrations\",{\"className\":\"mb-3\",\"data-sidebar-branch\":true,\"data-sentry-component\":\"DynamicNav\",\"data-sentry-source-file\":\"dynamicNav.tsx\",\"children\":[[\"$\",\"$L14\",null,{\"to\":\"/integrations/\",\"className\":\"style_sidebar-title__u_GwL flex items-center justify-between\",\"activeClassName\":\"active\",\"data-sidebar-link\":true,\"children\":[[\"$\",\"h6\",null,{\"children\":\"Integrations\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"style\":{\"transition\":\"transform 200ms\",\"transform\":\"rotate(270deg)\"},\"data-sentry-element\":\"svg\",\"data-sentry-component\":\"NavChevron\",\"data-sentry-source-file\":\"navChevron.tsx\",\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z\",\"data-sentry-element\":\"path\",\"data-sentry-source-file\":\"navChevron.tsx\"}]}]]}],false]}],[\"$\",\"li\",\"ingestion\",{\"className\":\"mb-3\",\"data-sidebar-branch\":true,\"data-sentry-component\":\"DynamicNav\",\"data-sentry-source-file\":\"dynamicNav.tsx\",\"children\":[[\"$\",\"$L14\",null,{\"to\":\"/ingestion/\",\"className\":\"style_sidebar-title__u_GwL flex items-center justify-between\",\"activeClassName\":\"active\",\"data-sidebar-link\":true,\"children\":[[\"$\",\"h6\",null,{\"children\":\"Ingestion\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"style\":{\"transition\":\"transform 200ms\",\"transform\":\"rotate(270deg)\"},\"data-sentry-element\":\"svg\",\"data-sentry-component\":\"NavChevron\",\"data-sentry-source-file\":\"navChevron.tsx\",\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z\",\"data-sentry-element\":\"path\",\"data-sentry-source-file\":\"navChevron.tsx\"}]}]]}],false]}],[\"$\",\"li\",\"sdk\",{\"className\":\"mb-3\",\"data-sidebar-branch\":true,\"data-sentry-component\":\"DynamicNav\",\"data-sentry-source-file\":\"dynamicNav.tsx\",\"children\":[[\"$\",\"$L14\",null,{\"to\":\"/sdk/\",\"className\":\"style_sidebar-title__u_GwL flex items-center justify-between\",\"activeClassName\":\"active\",\"data-sidebar-link\":true,\"children\":[[\"$\",\"h6\",null,{\"children\":\"SDKs\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"style\":{\"transition\":\"transform 200ms\",\"transform\":\"rotate(270deg)\"},\"data-sentry-element\":\"svg\",\"data-sentry-component\":\"NavChevron\",\"data-sentry-source-file\":\"navChevron.tsx\",\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z\",\"data-sentry-element\":\"path\",\"data-sentry-source-file\":\"navChevron.tsx\"}]}]]}],false]}],[\"$\",\"li\",\"self-hosted\",{\"className\":\"mb-3\",\"data-sidebar-branch\":true,\"data-sentry-component\":\"DynamicNav\",\"data-sentry-source-file\":\"dynamicNav.tsx\",\"children\":[[\"$\",\"$L14\",null,{\"to\":\"/self-hosted/\",\"className\":\"style_sidebar-title__u_GwL flex items-center active justify-between\",\"activeClassName\":\"active\",\"data-sidebar-link\":true,\"children\":[[\"$\",\"h6\",null,{\"children\":\"Self-Hosted Sentry\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"style\":{\"transition\":\"transform 200ms\",\"transform\":\"rotate(0deg)\"},\"data-sentry-element\":\"svg\",\"data-sentry-component\":\"NavChevron\",\"data-sentry-source-file\":\"navChevron.tsx\",\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z\",\"data-sentry-element\":\"path\",\"data-sentry-source-file\":\"navChevron.tsx\"}]}]]}],[\"$\",\"ul\",null,{\"data-sidebar-tree\":true,\"className\":\"pl-3\",\"children\":[[],[[\"$\",\"$L1e\",\"/self-hosted/releases/\",{\"to\":\"/self-hosted/releases/\",\"title\":\"Releases \u0026 Upgrading\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/experimental/\",{\"to\":\"/self-hosted/experimental/\",\"title\":\"Experimental Configurations\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[[\"$\",\"$L1e\",\"/self-hosted/experimental/csp/\",{\"to\":\"/self-hosted/experimental/csp/\",\"title\":\"Content Security Policy (CSP)\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/experimental/reverse-proxy/\",{\"to\":\"/self-hosted/experimental/reverse-proxy/\",\"title\":\"Reverse Proxy\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/experimental/external-storage/\",{\"to\":\"/self-hosted/experimental/external-storage/\",\"title\":\"External Storage\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/experimental/errors-only/\",{\"to\":\"/self-hosted/experimental/errors-only/\",\"title\":\"Errors Only\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}]]}],[\"$\",\"$L1e\",\"/self-hosted/backup/\",{\"to\":\"/self-hosted/backup/\",\"title\":\"Backup \u0026 Restore\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/custom-ca-roots/\",{\"to\":\"/self-hosted/custom-ca-roots/\",\"title\":\"Custom CA Roots\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/email/\",{\"to\":\"/self-hosted/email/\",\"title\":\"Email\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/geolocation/\",{\"to\":\"/self-hosted/geolocation/\",\"title\":\"Geolocation\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/sso/\",{\"to\":\"/self-hosted/sso/\",\"title\":\"Single Sign-On (SSO)\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/support/\",{\"to\":\"/self-hosted/support/\",\"title\":\"Support\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/troubleshooting/\",{\"to\":\"/self-hosted/troubleshooting/\",\"title\":\"Troubleshooting\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[[\"$\",\"$L1e\",\"/self-hosted/troubleshooting/sentry/\",{\"to\":\"/self-hosted/troubleshooting/sentry/\",\"title\":\"Sentry\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/troubleshooting/kafka/\",{\"to\":\"/self-hosted/troubleshooting/kafka/\",\"title\":\"Kafka\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/troubleshooting/docker/\",{\"to\":\"/self-hosted/troubleshooting/docker/\",\"title\":\"Docker\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/troubleshooting/postgres/\",{\"to\":\"/self-hosted/troubleshooting/postgres/\",\"title\":\"Postgres\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}],[\"$\",\"$L1e\",\"/self-hosted/troubleshooting/redis/\",{\"to\":\"/self-hosted/troubleshooting/redis/\",\"title\":\"Redis\",\"collapsed\":true,\"path\":\"/self-hosted/\",\"children\":[]}]]}]]]}]]}]]}],[\"$\",\"hr\",null,{}],[\"$\",\"ul\",null,{\"data-sidebar-tree\":true,\"children\":[[\"$\",\"$L1e\",null,{\"to\":\"https://open.sentry.io/code-of-conduct/\",\"title\":\"Code of Conduct\",\"path\":\"/self-hosted/\",\"data-sentry-element\":\"SidebarLink\",\"data-sentry-source-file\":\"developDocsSidebar.tsx\"}],[\"$\",\"$L1e\",null,{\"to\":\"https://docs.sentry.io\",\"title\":\"User Documentation\",\"path\":\"/self-hosted/\",\"data-sentry-element\":\"SidebarLink\",\"data-sentry-source-file\":\"developDocsSidebar.tsx\"}]]}]]}]}]]}]\n"])</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10