Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/HH-231996' into EXP-99580
Browse files Browse the repository at this point in the history
  • Loading branch information
HH ReleaseBot committed Sep 28, 2024
2 parents c14fd24 + 0d24564 commit a1109fb
Show file tree
Hide file tree
Showing 12 changed files with 30 additions and 105 deletions.
10 changes: 5 additions & 5 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ SENTRY_EVENT_RETENTION_DAYS=90
SENTRY_BIND=9000
# Set SENTRY_MAIL_HOST to a valid FQDN (host/domain name) to be able to send emails!
# SENTRY_MAIL_HOST=example.com
SENTRY_IMAGE=getsentry/sentry:24.8.0
SNUBA_IMAGE=getsentry/snuba:24.8.0
RELAY_IMAGE=getsentry/relay:24.8.0
SYMBOLICATOR_IMAGE=getsentry/symbolicator:24.8.0
VROOM_IMAGE=getsentry/vroom:24.8.0
SENTRY_IMAGE=getsentry/sentry:24.9.0
SNUBA_IMAGE=getsentry/snuba:24.9.0
RELAY_IMAGE=getsentry/relay:24.9.0
SYMBOLICATOR_IMAGE=getsentry/symbolicator:24.9.0
VROOM_IMAGE=getsentry/vroom:24.9.0
HEALTHCHECK_INTERVAL=30s
HEALTHCHECK_TIMEOUT=1m30s
HEALTHCHECK_RETRIES=10
Expand Down
3 changes: 0 additions & 3 deletions .github/ISSUE_TEMPLATE/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,8 @@ body:
[previous YY.M.N](https://github.com/getsentry/self-hosted/issues) | ***YY.M.N*** | [next YY.M.N](https://github.com/getsentry/self-hosted/issues)
- [ ] Release all components (_replace items with [publish repo issue links](https://github.com/getsentry/publish/issues)_).
- [ ] [`develop`](https://github.com/getsentry/develop/actions/workflows/prepare-release.yml)
- [ ] [`relay`](https://github.com/getsentry/relay/actions/workflows/release_binary.yml)
- [ ] [`sentry`](https://github.com/getsentry/sentry/actions/workflows/release.yml)
- [ ] [`sentry-docs`](https://github.com/getsentry/sentry-docs/actions/workflows/prepare-release.yml)
- [ ] [`snuba`](https://github.com/getsentry/snuba/actions/workflows/release.yml)
- [ ] [`symbolicator`](https://github.com/getsentry/symbolicator/actions/workflows/release.yml)
- [ ] [`vroom`](https://github.com/getsentry/vroom/actions/workflows/release.yaml)
Expand All @@ -25,7 +23,6 @@ body:
- [ ] Follow up.
- [ ] [Create the next release issue](https://github.com/getsentry/self-hosted/issues/new?assignees=&labels=&projects=&template=release.yml) and link it from this one.
- _replace with link_
- [ ] Update the [quarterly ticket](https://github.com/getsentry/team-ospo/issues).
- [ ] Update the [release issue template](https://github.com/getsentry/self-hosted/blob/master/.github/ISSUE_TEMPLATE/release.yml).
- [ ] Create a PR to update relocation release tests to add the new version.
- _replace with link_
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Changelog

## 24.9.0

### Various fixes & improvements

- docs: link to develop docs (#3307) by @joshuarli
- fix: more leeway for minimum RAM (#3290) by @joshuarli
- Mandate minimum requirements for ram/cpu (#3275) by @hubertdeng123
- ref(feedback): cleanup topic rollout option (#3276) by @aliu39
- Update release template (#3270) by @hubertdeng123

## 24.8.0

### Various fixes & improvements
Expand Down
82 changes: 3 additions & 79 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,81 +1,5 @@
# Self-Hosted Sentry 24.8.0
# Self-Hosted Sentry

Official bootstrap for running your own [Sentry](https://sentry.io/) with [Docker](https://www.docker.com/).
[Sentry](https://sentry.io/), feature-complete and packaged up for low-volume deployments and proofs-of-concept.

## Requirements

* Docker 19.03.6+
* Compose 2.19.0+
* 4 CPU Cores
* 16 GB RAM
* 20 GB Free Disk Space

## Setup

### Installation

To get started with all the defaults, simply clone the repo and run `./install.sh` in your local check-out. Please also read the section below about monitoring. Sentry uses Python 3 by default since December 4th, 2020 and Sentry 21.1.0 is the last version to support Python 2.

During the install, a prompt will ask if you want to create a user account. If you require that the install goes on without creating a user, run `./install.sh --skip-user-creation`.

Thinking of not managing this yourself? Check out the [SaaS migration docs](https://docs.sentry.io/product/sentry-basics/migration/) or [contact us](https://sentry.io/from/self-hosted) for help.

Please visit [our documentation](https://develop.sentry.dev/self-hosted/) for everything else.

### Customize DotEnv (.env) file

Environment specific configurations can be done in the `.env.custom` file. It will be located in the root directory of the Sentry installation, and if it exists then `.env` will be ignored entirely.

By default, there exists no `.env.custom` file. In this case, you can manually add this file by copying the `.env` file to a new `.env.custom` file and adjust your settings in the `.env.custom` file.

Please keep in mind to check the `.env` file for changes, when you perform an upgrade of Sentry, so that you can adjust your `.env.custom` accordingly, if required, as `.env` is ignored entirely if `.env.custom` is present.

### Enhance Sentry image

To install plugins and their dependencies or make other modifications to the Sentry base image,
copy `sentry/enhance-image.example.sh` to `sentry/enhance-image.sh` and add necessary steps there.
For example, you can use `apt-get` to install dependencies and use `pip` to install plugins.

After making modifications to `sentry/enhance-image.sh`, run `./install.sh` again to apply them.

## Tips & Tricks

### Event Retention

Sentry comes with a cleanup cron job that prunes events older than `90 days` by default. If you want to change that, you can change the `SENTRY_EVENT_RETENTION_DAYS` environment variable in `.env` or simply override it in your environment. If you do not want the cleanup cron, you can remove the `sentry-cleanup` service from the `docker-compose.yml`file.

### Installing a specific SHA

If you want to install a specific release of Sentry, use the tags/releases on this repo.

We continuously push the Docker image for each commit made into [Sentry](https://github.com/getsentry/sentry), and other services such as [Snuba](https://github.com/getsentry/snuba) or [Symbolicator](https://github.com/getsentry/symbolicator) to [our Docker Hub](https://hub.docker.com/u/getsentry) and tag the latest version on master as `: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 `SENTRY_IMAGE` environment variable to that image name before running `./install.sh`:

```shell
SENTRY_IMAGE=getsentry/sentry:83b1380 ./install.sh
```

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.

### Using Linux

If you are using Linux and you need to use `sudo` when running `./install.sh`, make sure to place the environment variable *after* `sudo`:

```shell
sudo SENTRY_IMAGE=us.gcr.io/sentryio/sentry:83b1380 ./install.sh
```

Where you replace `83b1380` with the sha you want to use.

### Self-Hosted Monitoring

We'd love to catch errors in self-hosted so you don't run into them, and so we can fix them faster! When you run `./install.sh`, you will be prompted to select whether to opt in or out of our monitoring. 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:

- OS username
- IP address
- install log
- runtime errors in Sentry
- performance data

Thirty (30) day retention. No marketing. Privacy policy at sentry.io/privacy.

Starting with the 22.10.0 release in October, 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 `REPORT_SELF_HOSTED_ISSUES` or pass `--(no-)report-self-hosted-issues` to the installer accordingly.
Documentation [here](https://develop.sentry.dev/self-hosted/).
2 changes: 1 addition & 1 deletion docker/Dockerfile.relay
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG SENTRY_VERSION=24.8.0
ARG SENTRY_VERSION=24.9.0
ARG RELAY_IMAGE=getsentry/relay:${SENTRY_VERSION}
ARG APPLICATION=relay-hh=24.8.0-7-1
FROM ${RELAY_IMAGE}
2 changes: 1 addition & 1 deletion docker/Dockerfile.sentry
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG SENTRY_VERSION=24.8.0
ARG SENTRY_VERSION=24.9.0
ARG SENTRY_IMAGE=getsentry/sentry:${SENTRY_VERSION}
ARG APPLICATION=sentry-hh=24.8.0-7-1
FROM ${SENTRY_IMAGE}
Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile.snuba
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG SENTRY_VERSION=24.8.0
ARG SENTRY_VERSION=24.9.0
ARG SNUBA_IMAGE=getsentry/snuba:${SENTRY_VERSION}
ARG APPLICATION=snuba-hh=24.8.0-7-1
FROM ${SNUBA_IMAGE}
2 changes: 1 addition & 1 deletion docker/Dockerfile.symbolicator
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG SENTRY_VERSION=24.8.0
ARG SENTRY_VERSION=24.9.0
ARG SYMBOLICATOR_IMAGE=getsentry/symbolicator:${SENTRY_VERSION}
ARG APPLICATION=symbolicator-hh=24.8.0-7-1
FROM ${SYMBOLICATOR_IMAGE}
2 changes: 1 addition & 1 deletion docker/Dockerfile.vroom
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG SENTRY_VERSION=24.8.0
ARG SENTRY_VERSION=24.9.0
ARG VROOM_IMAGE=getsentry/vroom:${SENTRY_VERSION}
ARG APPLICATION=vroom-hh=24.8.0-7-1
FROM ${VROOM_IMAGE}
12 changes: 7 additions & 5 deletions install/_min-requirements.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# Don't forget to update the README and othes docs when you change these!
# Don't forget to update the README and other docs when you change these!
MIN_DOCKER_VERSION='19.03.6'
MIN_COMPOSE_VERSION='2.19.0'
MIN_RAM_HARD=3800 # MB
MIN_RAM_SOFT=7800 # MB
MIN_CPU_HARD=2
MIN_CPU_SOFT=4

# 16 GB minimum host RAM, but there'll be some overhead outside of what
# can be allotted to docker
MIN_RAM_HARD=14000 # MB

MIN_CPU_HARD=4
4 changes: 0 additions & 4 deletions install/check-minimum-requirements.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,12 @@ CPU_AVAILABLE_IN_DOCKER=$(docker run --rm busybox nproc --all)
if [[ "$CPU_AVAILABLE_IN_DOCKER" -lt "$MIN_CPU_HARD" ]]; then
echo "FAIL: Required minimum CPU cores available to Docker is $MIN_CPU_HARD, found $CPU_AVAILABLE_IN_DOCKER"
exit 1
elif [[ "$CPU_AVAILABLE_IN_DOCKER" -lt "$MIN_CPU_SOFT" ]]; then
echo "WARN: Recommended minimum CPU cores available to Docker is $MIN_CPU_SOFT, found $CPU_AVAILABLE_IN_DOCKER"
fi

RAM_AVAILABLE_IN_DOCKER=$(docker run --rm busybox free -m 2>/dev/null | awk '/Mem/ {print $2}')
if [[ "$RAM_AVAILABLE_IN_DOCKER" -lt "$MIN_RAM_HARD" ]]; then
echo "FAIL: Required minimum RAM available to Docker is $MIN_RAM_HARD MB, found $RAM_AVAILABLE_IN_DOCKER MB"
exit 1
elif [[ "$RAM_AVAILABLE_IN_DOCKER" -lt "$MIN_RAM_SOFT" ]]; then
echo "WARN: Recommended minimum RAM available to Docker is $MIN_RAM_SOFT MB, found $RAM_AVAILABLE_IN_DOCKER MB"
fi

#SSE4.2 required by Clickhouse (https://clickhouse.yandex/docs/en/operations/requirements/)
Expand Down
4 changes: 0 additions & 4 deletions sentry/sentry.conf.example.py
Original file line number Diff line number Diff line change
Expand Up @@ -325,10 +325,6 @@ def get_internal_network():
}
)

# Temporary flag to mark User Feedback to be produced to the dedicated feedback topic by relay.
# This will be removed at a later time after it's considered stable and fully rolled out.
SENTRY_OPTIONS["feedback.ingest-topic.rollout-rate"] = 1.0

#######################
# MaxMind Integration #
#######################
Expand Down

0 comments on commit a1109fb

Please sign in to comment.