diff --git a/.env b/.env index 0a7bae2..be7cf37 100644 --- a/.env +++ b/.env @@ -1,15 +1,15 @@ COMPOSE_PROJECT_NAME=sentry-self-hosted SENTRY_EVENT_RETENTION_DAYS=90 # You can either use a port number or an IP:PORT combo for SENTRY_BIND # See https://docs.docker.com/compose/compose-file/#ports for more 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:22.7.0 -SNUBA_IMAGE=getsentry/snuba:22.7.0 -RELAY_IMAGE=getsentry/relay:22.7.0 +SENTRY_IMAGE=getsentry/sentry:22.8.0 +SNUBA_IMAGE=getsentry/snuba:22.8.0 +RELAY_IMAGE=getsentry/relay:22.8.0 SYMBOLICATOR_IMAGE=getsentry/symbolicator:0.5.1 WAL2JSON_VERSION=latest HEALTHCHECK_INTERVAL=30s HEALTHCHECK_TIMEOUT=60s HEALTHCHECK_RETRIES=5 diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d7d12d..ad70d57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,186 +1,190 @@ # Changelog +## 22.8.0 + +- No documented changes. + ## 22.7.0 ### Various fixes & improvements - ref: use sort -V to check minimum versions (#1553) by @ethanhs - Get more data from users in issue templates (#1497) by @aminvakil - Add ARM support (#1538) by @chadwhitacre - do not use gosu for snuba-transactions-cleanup and snuba-cleanup (#1564) by @goganchic - ref: Replace regex with --short flag to get compose version (#1551) by @ethanhs - Improve installation through proxy (#1543) by @goganchic - Cleanup .env{,.custom} handling (#1539) by @chadwhitacre - Bump nginx:1.22.0-alpine (#1506) by @aminvakil - Run release a new version job only on getsentry (#1529) by @aminvakil ## 22.6.0 ### Various fixes & improvements - fix "services.web.healthcheck.retries must be a number" (#1482) by @yuval1986 - Add volume for nginx cache (#1511) by @glensc - snuba: New subscriptions infrastucture rollout (#1507) by @lynnagara - Ease modification of base image (#1479) by @spawnia ## 22.5.0 ### Various fixes & improvements - ref: reset user to root for installation (#1469) by @asottile-sentry - Document From email display name (#1446) by @chadwhitacre - Bring in CLA Lite (#1439) by @chadwhitacre - fix: replace git.io links with redirect targets (#1430) by @asottile-sentry ## 22.4.0 ### Various fixes & improvements - Use better API key when available (#1408) by @chadwhitacre - Use a custom action (#1407) by @chadwhitacre - Add some debug logging (#1340) by @chadwhitacre - meta(gha): Deploy workflow enforce-license-compliance.yml (#1388) by @chadwhitacre - Turn off containers under old name as well (#1384) by @chadwhitacre ## 22.3.0 ### Various fixes & improvements - Run CI every night (#1334) by @aminvakil - Docker-Compose: Avoid setting hostname to '' (#1365) by @glensc - meta(gha): Deploy workflow enforce-license-compliance.yml (#1375) by @chadwhitacre - ci: Change stale GitHub workflow to run once a day (#1371) by @kamilogorek - ci: Temporary fix for interactive prompt on createuser (#1370) by @BYK - meta(gha): Deploy workflow enforce-license-compliance.yml (#1347) by @chadwhitacre - Add SaaS nudge to README (#1327) by @chadwhitacre ## 22.2.0 ### Various fixes & improvements - fix: unbound variable _group in reset/dc-detect-version script (#1283) (#1284) by @lovetodream - Remove routing helper (#1323) by @chadwhitacre - Bump nginx:1.21.6-alpine (#1319) by @aminvakil - Add a cloudbuild.yaml for GCB (#1315) by @chadwhitacre - Update set-up-and-migrate-database.sh (#1308) by @drmrbrewer - Pull relay explicitly to avoid garbage in creds (#1301) by @chadwhitacre - Improve logging of docker versions and relay creds (#1298) by @chadwhitacre - Remove file again (#1299) by @chadwhitacre - Clean up relay credentials generation (#1289) by @chadwhitacre - Add CI compose version 1.29.2 / 2.0.1 / 2.2.3 (#1290) by @chadwhitacre - Revert "Add CI compose version 1.29.2 / 2.0.1 / 2.2.3 (#1251)" (#1272) by @chadwhitacre - Add CI compose version 1.29.2 / 2.0.1 / 2.2.3 (#1251) by @aminvakil ## 22.1.0 ### Various fixes & improvements - Make healthcheck variables configurable in .env (#1248) by @aminvakil - Take some actions to avoid unhealthy containers (#1241) by @chadwhitacre - Install: setup umask (#1222) by @glensc - Deprecated /docker-entrypoint.sh call (#1218) by @marcinroman - Bump nginx:1.21.5-alpine (#1230) by @aminvakil - Fix reset.sh docker-compose call (#1215) by @aminvakil - Set worker_processes to auto (#1207) by @aminvakil ## 21.12.0 ### Support Docker Compose v2 (ongoing) Self-hosted Sentry mostly works with Docker Compose v2 (in addition to v1 >= 1.28.0). There is [one more bug](https://github.com/getsentry/self-hosted/issues/1133) we are trying to squash. By: @chadwhitacre (#1179) ### Prevent Component Drift When a user runs the `install.sh` script, they get the latest version of the Sentry, Snuba, Relay and Symbolicator projects. However there is no guarantee they have pulled the latest `self-hosted` version first, and running an old one may cause problems. To mitigate this, we now perform a check during installation that the user is on the latest commit if they are on the `master` branch. You can disable this check with `--skip-commit-check`. By: @chadwhitacre (#1191), @aminvakil (#1186) ### React to log4shell Self-hosted Sentry is [not vulnerable](https://github.com/getsentry/self-hosted/issues/1196) to the [log4shell](https://log4shell.com/) vulnerability. By: @chadwhitacre (#1203) ### Forum → Issues In the interest of reducing sources of truth, providing better support, and restarting the fire of the self-hosted Sentry community, we [deprecated the Discourse forum in favor of GitHub Issues](https://github.com/getsentry/self-hosted/issues/1151). By: @chadwhitacre (#1167, #1160, #1159) ### Rename onpremise to self-hosted (ongoing) In the beginning we used the term "on-premise" and over time we introduced the term "self-hosted." In an effort to regain some consistency for both branding and developer mental overhead purposes, we are standardizing on the term "self-hosted." This release includes a fair portion of the work towards this across multiple repos, hopefully a future release will include the remainder. Some orphaned containers / volumes / networks are [expected](https://github.com/getsentry/self-hosted/pull/1169#discussion_r756401917). You may clean them up with `docker-compose down --remove-orphans`. By: @chadwhitacre (#1169) ### Add support for custom DotEnv file There are several ways to [configure self-hosted Sentry](https://develop.sentry.dev/self-hosted/#configuration) and one of them is the `.env` file. In this release we add support for a `.env.custom` file that is git-ignored to make it easier for you to override keys configured this way with custom values. Thanks to @Sebi94nbg for the contribution! By: @Sebi94nbg (#1113) ### Various fixes & improvements - Revert "Rename onpremise to self-hosted" (5495fe2e) by @chadwhitacre - Rename onpremise to self-hosted (9ad05d87) by @chadwhitacre ## 21.11.0 ### Various fixes & improvements - Fix #1079 - bug in reset.sh (#1134) by @chadwhitacre - ci: Enable parallel tests again, increase timeouts (#1125) by @BYK - fix: Hide compose errors during version check (#1124) by @BYK - build: Omit nightly bump commit from changelog (#1120) by @BYK - build: Set master version to nightly (d3e77857) ## 21.10.0 ### Support for Docker Compose v2 (ongoing) You asked for it and you did it! Sentry self-hosted now can work with Docker Compose v2 thanks to our community's contributions. PRs: #1116 ### Various fixes & improvements - docs: simplify Linux `sudo` instructions in README (#1096) - build: Set master version to nightly (58874cf9) ## 21.9.0 - fix(healthcheck): Increase retries to 5 (#1072) - fix(requirements): Make compose version check bw-compatible (#1068) - ci: Test with the required minimum docker-compose (#1066) Run tests using docker-compose `1.28.0` instead of latest - fix(clickhouse): Use correct HTTP port for healthcheck (#1069) Fixes the regular `Unexpected packet` errors in Clickhouse ## 21.8.0 - feat: Support custom CA roots ([#27062](https://github.com/getsentry/sentry/pull/27062)), see the [docs](https://develop.sentry.dev/self-hosted/custom-ca-roots/) for more details. - fix: Fix `curl` image to version 7.77.0 - upgrade: docker-compose version to 1.29.2 - feat: Leverage health checks for depends_on ## 21.7.0 - No documented changes. ## 21.6.3 - No documented changes. ## 21.6.2 - BREAKING CHANGE: The frontend bundle will be loaded asynchronously (via [#25744](https://github.com/getsentry/sentry/pull/25744)). This is a breaking change that can affect custom plugins that access certain globals in the django template. Please see https://forum.sentry.io/t/breaking-frontend-changes-for-custom-plugins/14184 for more information. ## 21.6.1 - No documented changes. ## 21.6.0 - feat: Add healthchecks for redis, memcached and postgres (#975) diff --git a/LICENSE b/LICENSE index 1b8b864..9c15d12 100644 --- a/LICENSE +++ b/LICENSE @@ -1,104 +1,104 @@ Business Source License 1.1 Parameters Licensor: Functional Software, Inc. Licensed Work: Sentry The Licensed Work is (c) 2019 Functional Software, Inc. Additional Use Grant: You may make use of the Licensed Work, provided that you do not use the Licensed Work for an Application Monitoring Service. An "Application Monitoring Service" is a commercial offering that allows third parties (other than your employees and contractors) to access the functionality of the Licensed Work so that such third parties directly benefit from the error-reporting or application monitoring features of the Licensed Work. -Change Date: 2025-07-15 +Change Date: 2025-08-15 Change License: Apache License, Version 2.0 For information about alternative licensing arrangements for the Software, please visit: https://sentry.io/pricing/ Notice The Business Source License (this document, or the "License") is not an Open Source license. However, the Licensed Work will eventually be made available under an Open Source License, as stated in this License. License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. "Business Source License" is a trademark of MariaDB Corporation Ab. ----------------------------------------------------------------------------- Business Source License 1.1 Terms The Licensor hereby grants you the right to copy, modify, create derivative works, redistribute, and make non-production use of the Licensed Work. The Licensor may make an Additional Use Grant, above, permitting limited production use. Effective on the Change Date, or the fourth anniversary of the first publicly available distribution of a specific version of the Licensed Work under this License, whichever comes first, the Licensor hereby grants you rights under the terms of the Change License, and the rights granted in the paragraph above terminate. If your use of the Licensed Work does not comply with the requirements currently in effect as described in this License, you must purchase a commercial license from the Licensor, its affiliated entities, or authorized resellers, or you must refrain from using the Licensed Work. All copies of the original and modified Licensed Work, and derivative works of the Licensed Work, are subject to this License. This License applies separately for each version of the Licensed Work and the Change Date may vary for each version of the Licensed Work released by Licensor. You must conspicuously display this License on each original or modified copy of the Licensed Work. If you receive the Licensed Work in original or modified form from a third party, the terms and conditions set forth in this License apply to your use of that work. Any use of the Licensed Work in violation of this License will automatically terminate your rights under this License for the current and all other versions of the Licensed Work. This License does not grant you any right in any trademark or logo of Licensor or its affiliates (provided that you may use a trademark or logo of Licensor as expressly required by this License). TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND TITLE. MariaDB hereby grants you permission to use this License’s text to license your works, and to refer to it using the trademark "Business Source License", as long as you comply with the Covenants of Licensor below. Covenants of Licensor In consideration of the right to use this License’s text and the "Business Source License" name and trademark, Licensor covenants to MariaDB, and to all other recipients of the licensed work to be provided by Licensor: 1. To specify as the Change License the GPL Version 2.0 or any later version, or a license that is compatible with GPL Version 2.0 or a later version, where "compatible" means that software provided under the Change License can be included in a program with software provided under GPL Version 2.0 or a later version. Licensor may specify additional Change Licenses without limitation. 2. To either: (a) specify an additional grant of rights to use that does not impose any additional restriction on the right granted in this License, as the Additional Use Grant; or (b) insert the text "None". 3. To specify a Change Date. 4. Not to modify this License in any other way. diff --git a/README.md b/README.md index d67c17d..77f0c17 100644 --- a/README.md +++ b/README.md @@ -1,67 +1,67 @@ -# Self-Hosted Sentry 22.7.0 +# Self-Hosted Sentry 22.8.0 Official bootstrap for running your own [Sentry](https://sentry.io/) with [Docker](https://www.docker.com/). ## Requirements * Docker 19.03.6+ * Compose 1.28.0+ * 4 CPU Cores * 8 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. 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 not be blocked by the prompt, run `./install.sh --skip-user-prompt`. 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.