Skip to content

docs(self-hosted): reference architectures #13893

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

aldy505
Copy link
Contributor

@aldy505 aldy505 commented May 31, 2025

DESCRIBE YOUR PR

Closes getsentry/self-hosted#3653

IS YOUR CHANGE URGENT?

Help us prioritize incoming PRs by letting us know when the change needs to go live.

  • Urgent deadline (GA date, etc.):
  • Other deadline:
  • None: Not urgent, can wait up to 1 week+

SLA

  • Teamwork makes the dream work, so please add a reviewer to your PRs.
  • Please give the docs team up to 1 week to review your PR unless you've added an urgent due date to it.
    Thanks in advance for your help!

PRE-MERGE CHECKLIST

Make sure you've checked the following before merging your changes:

  • Checked Vercel preview for correctness, including links
  • PR was reviewed and approved by any necessary SMEs (subject matter experts)
  • PR was reviewed and approved by a member of the Sentry docs team

LEGAL BOILERPLATE

Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.

EXTRA RESOURCES

Copy link

vercel bot commented May 31, 2025

@aldy505 is attempting to deploy a commit to the Sentry Team on Vercel.

A member of the Team first needs to authorize it.

@aldy505
Copy link
Contributor Author

aldy505 commented May 31, 2025

Ah forgot to put one note: Upgrade the relay on the edge servers whenever you upgrade sentry on the main box.

Might write this at a later time.

Copy link

vercel bot commented Jun 5, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
develop-docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 10, 2025 10:38pm
sentry-docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 10, 2025 10:38pm
1 Skipped Deployment
Name Status Preview Comments Updated (UTC)
changelog ⬜️ Ignored (Inspect) Visit Preview Jul 10, 2025 10:38pm

@sfanahata
Copy link
Contributor

@aldy505 - something went wrong with the push to gh, and the codeowner assignment is failing. Can you try rebasing from master and pushing back to this PR?

@aldy505
Copy link
Contributor Author

aldy505 commented Jun 5, 2025

@aldy505 - something went wrong with the push to gh, and the codeowner assignment is failing. Can you try rebasing from master and pushing back to this PR?

@sfanahata Hi. I want to make some changes to this PR, I'll do that later in a few hours.

@aldy505
Copy link
Contributor Author

aldy505 commented Jun 6, 2025

@BYK @hubertdeng123 @Dav1dde can anyone take a look? thanks!

internet3 --> relay3 -- Through VPN tunnel --> main
```

To configure the relay, you can install Sentry Relay on your machine through the [Relay Getting Started Guide](https://docs.sentry.io/product/relay/getting-started/). You should configure the Relay to run on `proxy` mode, and point it to the main Sentry server. You can also configure it to use a different port, or a different protocol (HTTP or HTTPS). Make sure you are using the same version of your self-hosted Sentry version.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe makes sense to refer to the Relay config here, generally I would recommend setting up a managed Relay instead.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are you recommending the managed one, instead of proxy? Any other plus point?

Copy link
Member

@Dav1dde Dav1dde Jun 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It has access to the project config, which means it can act earlier and generally works better.

@aldy505 aldy505 requested a review from Dav1dde June 21, 2025 12:02
@aldy505
Copy link
Contributor Author

aldy505 commented Jun 21, 2025

It's done, feel free to merge when the checks are green.

@Dav1dde Dav1dde requested a review from a team June 25, 2025 07:18
Copy link
Member

@BYK BYK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think the single node article adds any value. Shall we axe it?

sidebar_order: 3
---

This section contains reference architectures for self-hosted Sentry. These are not meant to be used as-is, but as a reference for how to deploy self-hosted Sentry around your existing infrastructure. This section can be used as a scaling strategy if you have higher traffic loads over time.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This section contains reference architectures for self-hosted Sentry. These are not meant to be used as-is, but as a reference for how to deploy self-hosted Sentry around your existing infrastructure. This section can be used as a scaling strategy if you have higher traffic loads over time.
This section contains reference architectures for self-hosted Sentry. These are not meant to be used as-is, but as a reference for how to deploy self-hosted Sentry around your existing infrastructure. This section can be used to create a scaling strategy if you have higher traffic loads over time.


This section contains reference architectures for self-hosted Sentry. These are not meant to be used as-is, but as a reference for how to deploy self-hosted Sentry around your existing infrastructure. This section can be used as a scaling strategy if you have higher traffic loads over time.

Please note that these reference architectures does not take into account external data storage dependencies such as Kafka, Postgres, Redis, S3 or other services. If you wish to do so, refer to the [Experimental Configurations](/self-hosted/experimental/) section
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Please note that these reference architectures does not take into account external data storage dependencies such as Kafka, Postgres, Redis, S3 or other services. If you wish to do so, refer to the [Experimental Configurations](/self-hosted/experimental/) section
Please note that these reference architectures do not take external data storage dependencies into account such as Kafka, Postgres, Redis, S3, etc. If you wish to do so, refer to the [Experimental Configurations](/self-hosted/experimental/) section

While it's possible to run Relay on a different version than your self-hosted instance, we recommend keeping both Relay and Sentry on the same version. Remember to upgrade Relay whenever you upgrade your self-hosted Sentry installation.

<Alert level="info" title="Fun Fact">
Sentry SaaS uses a similar setup for their ingestion servers, behind Google Anycast IP address.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Sentry SaaS uses a similar setup for their ingestion servers, behind Google Anycast IP address.
Sentry SaaS uses a similar setup for its ingestion servers, behind Google Anycast IP addresses.


This is the simplest setup for self-hosted Sentry. It is recommended for small to medium-sized installations. This setup follows [the minimum requirements](/self-hosted/#required-minimum-system-resources) for running Sentry.

It is highly recommended to put an external load balancer (or reverse proxy) in front of your self-hosted Sentry deployment. That way, you can tweak on rate limiting, TLS termination, and other features that does not change the built-in nginx configuration file. It is recommended to install the load balancer on your host machine instead of as a Docker container. Doing this way helps you in the event of Docker engine failure.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
It is highly recommended to put an external load balancer (or reverse proxy) in front of your self-hosted Sentry deployment. That way, you can tweak on rate limiting, TLS termination, and other features that does not change the built-in nginx configuration file. It is recommended to install the load balancer on your host machine instead of as a Docker container. Doing this way helps you in the event of Docker engine failure.
It is highly recommended to put an external load balancer (or reverse proxy) in front of your self-hosted Sentry deployment. That way, you can tweak rate limiting, TLS termination, and other features and do not change the default `nginx` configuration file. It is recommended to install the load balancer directly on your host machine instead of running in a Docker container. This protects you against a Docker engine failure.


It is highly recommended to put an external load balancer (or reverse proxy) in front of your self-hosted Sentry deployment. That way, you can tweak on rate limiting, TLS termination, and other features that does not change the built-in nginx configuration file. It is recommended to install the load balancer on your host machine instead of as a Docker container. Doing this way helps you in the event of Docker engine failure.

If using external load balancer is not possible, you can put it as a Docker container, pointing to the `nginx` service at port `80`. Whatever value you put on your `SENTRY_BIND` environment variable won't matter.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If using external load balancer is not possible, you can put it as a Docker container, pointing to the `nginx` service at port `80`. Whatever value you put on your `SENTRY_BIND` environment variable won't matter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Documentation Proposal] Reference architecture for self-hosted Sentry
6 participants