Logs will not be consumed by an endlessly repeating message about a missing file/directory, system load will not spike due to the abnormally high log volume, and the sysadmin will not be angry (admittedly, the latter is a stretch).
As a temporary measure, I mapped an empty directory to the path and the log noise abated. Editing docker-compose.yml's x-snuba-defaults and added:
snuba-generic-metrics-distributions-consumer-1 | 2026-04-27 23:21:17,481 Initializing Snuba...
snuba-generic-metrics-distributions-consumer-1 | 2026-04-27 23:21:50,906 Snuba initialization took 33.42703919298947s
snuba-generic-metrics-distributions-consumer-1 | 2026-04-27 23:22:00,412 Initializing Snuba...
snuba-generic-metrics-distributions-consumer-1 | 2026-04-27 23:23:03,410 Snuba initialization took 62.999944921117276s
snuba-generic-metrics-distributions-consumer-1 | Values directory does not exist: /etc/sentry-options/values
snuba-generic-metrics-distributions-consumer-1 | {"timestamp":"2026-04-27T23:23:03.583123Z","level":"INFO","fields":{"message":"Storage: generic_metrics_distributions_raw, ClickHouse Table Name: generic_metric_distributions_raw_local, Message Processor: MessageProcessorConfig { python_class_name: \"GenericDistributionsMetricsProcessor\", python_module: \"snuba.datasets.processors.generic_metrics_processor\" }, ClickHouse host: clickhouse, ClickHouse port: 9000, ClickHouse HTTP port: 8123, ClickHouse database: default"},"target":"rust_snuba::consumer"}
snuba-generic-metrics-distributions-consumer-1 | {"timestamp":"2026-04-27T23:23:03.583276Z","level":"INFO","fields":{"message":"Starting consumer for \"generic_metrics_distributions_raw\"","storage":"generic_metrics_distributions_raw"},"target":"rust_snuba::consumer"}
snuba-generic-metrics-distributions-consumer-1 | Failed to read directory /etc/sentry-options/values: No such file or directory (os error 2)
snuba-generic-metrics-distributions-consumer-1 | Failed to read directory /etc/sentry-options/values: No such file or directory (os error 2)
snuba-generic-metrics-distributions-consumer-1 | Failed to read directory /etc/sentry-options/values: No such file or directory (os error 2)
snuba-generic-metrics-distributions-consumer-1 | {"timestamp":"2026-04-27T23:23:09.221280Z","level":"INFO","fields":{"message":"Kafka consumer member id: \"rdkafka-58d810e6-e229-4f5e-9b62-b8bbda12c92a\""},"target":"sentry_arroyo::backends::kafka"}
snuba-generic-metrics-distributions-consumer-1 | {"timestamp":"2026-04-27T23:23:09.225329Z","level":"INFO","fields":{"message":"New partitions assigned: {Partition { topic: Topic(\"snuba-generic-metrics\"), index: 0 }: 1155395}"},"target":"sentry_arroyo::processing"}
snuba-generic-metrics-distributions-consumer-1 | {"timestamp":"2026-04-27T23:23:09.294965Z","level":"INFO","fields":{"message":"Routing stale messages to the backlog-queue topic Some(Topic(\"snuba-dead-letter-generic-metrics\")) (thresholds configured via sentry-options)"},"target":"rust_snuba::factory_v2"}
snuba-generic-metrics-distributions-consumer-1 | Failed to read directory /etc/sentry-options/values: No such file or directory (os error 2)
snuba-generic-metrics-distributions-consumer-1 | Failed to read directory /etc/sentry-options/values: No such file or directory (os error 2)
snuba-generic-metrics-distributions-consumer-1 | Failed to read directory /etc/sentry-options/values: No such file or directory (os error 2)
snuba-generic-metrics-distributions-consumer-1 | Failed to read directory /etc/sentry-options/values: No such file or directory (os error 2)
snuba-generic-metrics-distributions-consumer-1 | Failed to read directory /etc/sentry-options/values: No such file or directory (os error 2)
And it just keeps repeating this.
▶ Parsing command line ...
▶ Detecting container engine ...
Detected container engine: docker
▶ Detecting Docker platform
Detected Docker platform is linux/amd64
▶ Initializing Docker|Podman Compose ...
docker compose --ansi never --env-file .env run --pull=never --rm
▶ Setting up error handling ...
### NOTE: Pruned container build progress lines due to GitHub field size limit
▶ Checking for latest commit ...
skipped
▶ Checking minimum requirements ...
Found docker version 29.3.1
Found docker Compose version 5.1.1
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
481282afbc43: Pulling fs layer
481282afbc43: Verifying Checksum
481282afbc43: Download complete
481282afbc43: Pull complete
Digest: sha256:1487d0af5f52b4ba31c7e465126ee2123fe3f2305d638e7827681e7cf6c83d5e
Status: Downloaded newer image for busybox:latest
▶ Upgrading Clickhouse ...
▶ Fetching and updating docker images ...
### NOTE: Pruned image fetch+extract progress lines due to GitHub field size limit
▶ Turning things off ...
Container sentry-self-hosted-vroom-cleanup-1 Stopping
Container sentry-self-hosted-vroom-cleanup-1 Stopped
Container sentry-self-hosted-vroom-cleanup-1 Removing
Container sentry-self-hosted-vroom-cleanup-1 Removed
Image vroom-cleanup-self-hosted-local:latest Removing
Image clickhouse-self-hosted-local:latest Removing
Image sentry-cleanup-self-hosted-local:latest Removing
Image sentry-self-hosted-local:latest Removing
Network sentry-self-hosted_default Removing
Network sentry-self-hosted_default Resource is still in use
Image vroom-cleanup-self-hosted-local:latest Removed
Image clickhouse-self-hosted-local:latest Removed
Image sentry-cleanup-self-hosted-local:latest Removed
Image sentry-self-hosted-local:latest Removed
▶ Creating volumes for persistent storage ...
Created sentry-clickhouse.
Created sentry-data.
Created sentry-kafka.
Created sentry-postgres.
Created sentry-redis.
Created sentry-seaweedfs.
▶ Ensuring files from examples ...
sentry/sentry.conf.py already exists, skipped creation.
sentry/config.yml already exists, skipped creation.
symbolicator/config.yml already exists, skipped creation.
▶ Checking memcached backend ...
PyMemcacheCache found in sentry/sentry.conf.py, gonna assume you're good.
▶ Ensuring Relay credentials ...
relay/config.yml already exists, skipped creation.
relay/credentials.json already exists, skipped creation.
▶ Generating secret key ...
▶ Building and tagging Docker images ...
Image sentry-self-hosted-local Building
Image clickhouse-self-hosted-local Building
#1 [internal] load local bake definitions
#1 reading from stdin 1.55kB done
#1 DONE 0.0s
#2 [internal] load build definition from Dockerfile
#2 transferring dockerfile: 553B 0.0s done
#2 DONE 0.2s
#3 [internal] load metadata for ghcr.io/getsentry/sentry:26.4.1
#3 DONE 0.0s
#4 [internal] load .dockerignore
#4 transferring context: 2B done
#4 DONE 0.1s
#5 [internal] load build context
#5 transferring context: 668.77kB 0.0s done
#5 DONE 0.3s
#6 [1/5] FROM ghcr.io/getsentry/sentry:26.4.1
#6 DONE 3.3s
#7 [2/5] RUN pip install https://github.com/getsentry/sentry-nodestore-s3/archive/main.zip
#7 1.986 Collecting https://github.com/getsentry/sentry-nodestore-s3/archive/main.zip
#7 2.478 Downloading https://github.com/getsentry/sentry-nodestore-s3/archive/main.zip (9.7 kB)
#7 2.487 Preparing metadata (setup.py): started
#7 3.300 Preparing metadata (setup.py): finished with status 'done'
#7 3.315 Requirement already satisfied: boto3>=1.34.8 in /.venv/lib/python3.13/site-packages (from sentry-nodestore-s3==1.0.0) (1.34.128)
#7 3.554 Collecting certifi>=2025.11.12 (from sentry-nodestore-s3==1.0.0)
#7 3.858 Downloading certifi-2026.4.22-py3-none-any.whl.metadata (2.5 kB)
#7 3.871 Requirement already satisfied: botocore<1.35.0,>=1.34.128 in /.venv/lib/python3.13/site-packages (from boto3>=1.34.8->sentry-nodestore-s3==1.0.0) (1.34.128)
#7 3.873 Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /.venv/lib/python3.13/site-packages (from boto3>=1.34.8->sentry-nodestore-s3==1.0.0) (0.10.0)
#7 3.875 Requirement already satisfied: s3transfer<0.11.0,>=0.10.0 in /.venv/lib/python3.13/site-packages (from boto3>=1.34.8->sentry-nodestore-s3==1.0.0) (0.10.0)
#7 3.886 Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in /.venv/lib/python3.13/site-packages (from botocore<1.35.0,>=1.34.128->boto3>=1.34.8->sentry-nodestore-s3==1.0.0) (2.9.0.post0)
#7 3.889 Requirement already satisfied: urllib3!=2.2.0,<3,>=1.25.4 in /.venv/lib/python3.13/site-packages (from botocore<1.35.0,>=1.34.128->boto3>=1.34.8->sentry-nodestore-s3==1.0.0) (2.6.3)
#7 3.898 Requirement already satisfied: six>=1.5 in /.venv/lib/python3.13/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.35.0,>=1.34.128->boto3>=1.34.8->sentry-nodestore-s3==1.0.0) (1.17.0)
#7 3.925 Downloading certifi-2026.4.22-py3-none-any.whl (135 kB)
#7 3.961 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.7/135.7 kB 4.6 MB/s eta 0:00:00
#7 3.970 Building wheels for collected packages: sentry-nodestore-s3
#7 3.972 Building wheel for sentry-nodestore-s3 (setup.py): started
#7 4.829 Building wheel for sentry-nodestore-s3 (setup.py): finished with status 'done'
#7 4.831 Created wheel for sentry-nodestore-s3: filename=sentry_nodestore_s3-1.0.0-py3-none-any.whl size=3961 sha256=0fbfa37750102cf2a893194f40cbc1fa4ffec6dbc9a5105527c65fb9ee7314c2
#7 4.831 Stored in directory: /tmp/pip-ephem-wheel-cache-1akqvltg/wheels/f4/ec/38/7c5f16e9f8d0719bbdceaa7fc328c2454ad793e27f22fb18f2
#7 4.837 Successfully built sentry-nodestore-s3
#7 6.510 Installing collected packages: certifi, sentry-nodestore-s3
#7 6.510 Attempting uninstall: certifi
#7 6.517 Found existing installation: certifi 2024.7.4
#7 6.521 Uninstalling certifi-2024.7.4:
#7 6.859 Successfully uninstalled certifi-2024.7.4
#7 7.045 Successfully installed certifi-2026.4.22 sentry-nodestore-s3-1.0.0
#7 DONE 7.5s
#8 [3/5] COPY . /usr/src/sentry
#8 DONE 0.8s
#9 [4/5] RUN if [ -s /usr/src/sentry/enhance-image.sh ]; then /usr/src/sentry/enhance-image.sh; fi
#9 2.052 Collecting sentry-auth-gitlab-v2
#9 2.149 Downloading sentry_auth_gitlab_v2-0.6.1-py2.py3-none-any.whl.metadata (4.3 kB)
#9 2.159 Requirement already satisfied: sentry in ./src (from sentry-auth-gitlab-v2) (26.4.1)
#9 2.181 Downloading sentry_auth_gitlab_v2-0.6.1-py2.py3-none-any.whl (10.0 kB)
#9 3.863 Installing collected packages: sentry-auth-gitlab-v2
#9 4.185 Successfully installed sentry-auth-gitlab-v2-0.6.1
#9 DONE 4.6s
#10 [5/5] RUN if [ -s /usr/src/sentry/requirements.txt ]; then echo "sentry/requirements.txt is deprecated, use sentry/enhance-image.sh - see https://develop.sentry.dev/self-hosted/#enhance-sentry-image"; pip install -r /usr/src/sentry/requirements.txt; fi
#10 1.101 sentry/requirements.txt is deprecated, use sentry/enhance-image.sh - see https://develop.sentry.dev/self-hosted/#enhance-sentry-image
#10 DONE 4.0s
#11 exporting to image
#11 exporting layers
#11 exporting layers 1.1s done
#11 writing image sha256:2eb806bbb7ff6b96ff093868eafa2d9099a8089c58fd62ca6d8045ef42675996 0.0s done
#11 naming to docker.io/library/sentry-self-hosted-local 0.1s done
#11 DONE 1.4s
#12 resolving provenance for metadata file
#12 DONE 0.0s
Image sentry-self-hosted-local Built
Image clickhouse-self-hosted-local Building
#1 [internal] load local bake definitions
#1 reading from stdin 833B done
#1 DONE 0.0s
#2 [internal] load build definition from Dockerfile
#2 transferring dockerfile: 71B done
#2 DONE 0.1s
#3 [internal] load metadata for docker.io/altinity/clickhouse-server:25.3.6.10034.altinitystable
#3 ...
#4 [auth] altinity/clickhouse-server:pull token for registry-1.docker.io
#4 DONE 0.0s
#3 [internal] load metadata for docker.io/altinity/clickhouse-server:25.3.6.10034.altinitystable
#3 DONE 30.7s
#5 [internal] load .dockerignore
#5 transferring context: 2B done
#5 DONE 0.1s
#6 [1/1] FROM docker.io/altinity/clickhouse-server:25.3.6.10034.altinitystable@sha256:3396b15c51a2c13c0aead9532bd022e478a8f575fe325deacb7d0efeae594174
#6 CACHED
#7 exporting to image
#7 exporting layers done
#7 writing image sha256:b9b2a9f586b542736ee81b8a2cb188b9bd13be4ff08e9833925bdb721d460beb 0.0s done
#7 naming to docker.io/library/clickhouse-self-hosted-local
#7 naming to docker.io/library/clickhouse-self-hosted-local 0.1s done
#7 DONE 0.2s
#8 resolving provenance for metadata file
#8 DONE 0.0s
Image clickhouse-self-hosted-local Built
time="2026-04-27T23:14:42Z" level=warning msg="No services to build"
time="2026-04-27T23:14:42Z" level=warning msg="No services to build"
time="2026-04-27T23:14:43Z" level=warning msg="No services to build"
time="2026-04-27T23:14:44Z" level=warning msg="No services to build"
time="2026-04-27T23:14:44Z" level=warning msg="No services to build"
time="2026-04-27T23:14:45Z" level=warning msg="No services to build"
time="2026-04-27T23:14:45Z" level=warning msg="No services to build"
time="2026-04-27T23:14:46Z" level=warning msg="No services to build"
time="2026-04-27T23:14:46Z" level=warning msg="No services to build"
time="2026-04-27T23:14:47Z" level=warning msg="No services to build"
Image clickhouse-self-hosted-local Building
Image sentry-self-hosted-local Building
### NOTE: Pruned container build progress lines due to GitHub field size limit
Image sentry-self-hosted-local Built
time="2026-04-27T23:15:07Z" level=warning msg="No services to build"
time="2026-04-27T23:15:08Z" level=warning msg="No services to build"
time="2026-04-27T23:15:08Z" level=warning msg="No services to build"
time="2026-04-27T23:15:09Z" level=warning msg="No services to build"
time="2026-04-27T23:15:10Z" level=warning msg="No services to build"
time="2026-04-27T23:15:10Z" level=warning msg="No services to build"
Image sentry-self-hosted-local Building
Image clickhouse-self-hosted-local Building
#1 [internal] load local bake definitions
#1 reading from stdin 1.61kB done
#1 DONE 0.0s
### NOTE: Pruned container build progress lines due to GitHub field size limit
#6 [1/7] FROM docker.io/library/sentry-self-hosted-local:latest
#6 DONE 2.9s
#7 [2/7] RUN if [ -n "${HTTP_PROXY}" ]; then echo "Acquire::http::proxy "${HTTP_PROXY}";" >> /etc/apt/apt.conf; fi
#7 DONE 1.1s
#8 [3/7] RUN if [ -n "${HTTPS_PROXY}" ]; then echo "Acquire::https::proxy "${HTTPS_PROXY}";" >> /etc/apt/apt.conf; fi
#8 DONE 1.2s
#9 [4/7] RUN if [ -n "${http_proxy}" ]; then echo "Acquire::http::proxy "${http_proxy}";" >> /etc/apt/apt.conf; fi
#9 DONE 1.1s
#10 [5/7] RUN if [ -n "${https_proxy}" ]; then echo "Acquire::https::proxy "${https_proxy}";" >> /etc/apt/apt.conf; fi
#10 DONE 1.7s
#11 [6/7] RUN apt-get update && apt-get install -y --no-install-recommends cron && rm -r /var/lib/apt/lists/*
#11 2.005 Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
#11 2.043 Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
#11 2.043 Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
#11 2.275 Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8792 kB]
#11 2.441 Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [6924 B]
#11 2.526 Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [297 kB]
#11 3.972 Fetched 9350 kB in 2s (4051 kB/s)
#11 3.972 Reading package lists...
#11 5.269 Reading package lists...
#11 6.079 Building dependency tree...
#11 6.264 Reading state information...
#11 6.524 The following additional packages will be installed:
#11 6.526 cron-daemon-common sensible-utils
#11 6.529 Suggested packages:
#11 6.529 anacron logrotate checksecurity
#11 6.529 Recommended packages:
#11 6.529 default-mta | mail-transport-agent
#11 6.742 The following NEW packages will be installed:
#11 6.744 cron cron-daemon-common sensible-utils
#11 6.795 0 upgraded, 3 newly installed, 0 to remove and 28 not upgraded.
#11 6.795 Need to get 105 kB of archives.
#11 6.795 After this operation, 325 kB of additional disk space will be used.
#11 6.795 Get:1 http://deb.debian.org/debian bookworm/main amd64 cron-daemon-common all 3.0pl1-162 [12.7 kB]
#11 6.803 Get:2 http://deb.debian.org/debian bookworm/main amd64 sensible-utils all 0.0.17+nmu1 [19.0 kB]
#11 6.811 Get:3 http://deb.debian.org/debian bookworm/main amd64 cron amd64 3.0pl1-162 [73.1 kB]
#11 7.515 debconf: delaying package configuration, since apt-utils is not installed
#11 7.623 Fetched 105 kB in 0s (1641 kB/s)
#11 8.011 Selecting previously unselected package cron-daemon-common.
#11 8.011 (Reading database ... ^M(Reading database ... 5%^M(Reading database ... 10%^M(Reading database ... 15%^M(Reading database ... 20%^M(Reading database ... 25%^M(Reading database ... 30%^M(Reading database ... 35%^M(Reading database ... 40%^M(Reading database ... 45%^M(Reading database ... 50%^M(Reading database ... 55%^M(Reading database ... 60%^M(Reading database ... 65%^M(Reading database ... 70%^M(Reading database ... 75%^M(Reading database ... 80%^M(Reading database ... 85%^M(Reading database ... 90%^M(Reading database ... 95%^M(Reading database ... 100%^M(Reading database ... 6650 files and directories currently installed.)
#11 8.141 Preparing to unpack .../cron-daemon-common_3.0pl1-162_all.deb ...
#11 8.222 Unpacking cron-daemon-common (3.0pl1-162) ...
#11 8.658 Selecting previously unselected package sensible-utils.
#11 8.661 Preparing to unpack .../sensible-utils_0.0.17+nmu1_all.deb ...
#11 8.722 Unpacking sensible-utils (0.0.17+nmu1) ...
#11 9.433 Setting up cron-daemon-common (3.0pl1-162) ...
#11 10.38 Adding group `crontab' (GID 101) ...
#11 10.91 Done.
#11 11.62 Selecting previously unselected package cron.
#11 11.62 (Reading database ... ^M(Reading database ... 5%^M(Reading database ... 10%^M(Reading database ... 15%^M(Reading database ... 20%^M(Reading database ... 25%^M(Reading database ... 30%^M(Reading database ... 35%^M(Reading database ... 40%^M(Reading database ... 45%^M(Reading database ... 50%^M(Reading database ... 55%^M(Reading database ... 60%^M(Reading database ... 65%^M(Reading database ... 70%^M(Reading database ... 75%^M(Reading database ... 80%^M(Reading database ... 85%^M(Reading database ... 90%^M(Reading database ... 95%^M(Reading database ... 100%^M(Reading database ... 6695 files and directories currently installed.)
#11 11.63 Preparing to unpack .../cron_3.0pl1-162_amd64.deb ...
#11 11.72 Unpacking cron (3.0pl1-162) ...
#11 12.44 Setting up sensible-utils (0.0.17+nmu1) ...
#11 12.65 Setting up cron (3.0pl1-162) ...
#11 13.48 invoke-rc.d: could not determine current runlevel
#11 13.50 invoke-rc.d: policy-rc.d denied execution of start.
#11 DONE 14.3s
#12 [7/7] COPY entrypoint.sh /entrypoint.sh
#12 DONE 0.7s
#13 exporting to image
#13 exporting layers
#13 exporting layers 1.9s done
#13 writing image sha256:5ec8efa8e4588cbde653f10ecbf98b06e0d065c29041053089860bccf763fd6b 0.0s done
#13 naming to docker.io/library/sentry-cleanup-self-hosted-local 0.1s done
#13 DONE 3.2s
#14 resolving provenance for metadata file
#14 DONE 0.0s
Image sentry-cleanup-self-hosted-local Built
time="2026-04-27T23:16:53Z" level=warning msg="No services to build"
time="2026-04-27T23:16:54Z" level=warning msg="No services to build"
time="2026-04-27T23:16:54Z" level=warning msg="No services to build"
time="2026-04-27T23:16:55Z" level=warning msg="No services to build"
time="2026-04-27T23:16:55Z" level=warning msg="No services to build"
Image sentry-self-hosted-local Building
Image clickhouse-self-hosted-local Building
#1 [internal] load local bake definitions
#1 reading from stdin 1.61kB done
#1 DONE 0.0s
#2 [internal] load build definition from Dockerfile
#2 transferring dockerfile: 553B done
#2 DONE 0.2s
#3 [internal] load metadata for ghcr.io/getsentry/sentry:26.4.1
#3 DONE 0.0s
#4 [internal] load .dockerignore
#4 transferring context: 2B done
#4 DONE 0.2s
#5 [1/5] FROM ghcr.io/getsentry/sentry:26.4.1
#5 DONE 0.0s
#6 [internal] load build context
#6 transferring context: 441B done
#6 DONE 0.2s
#7 [2/5] RUN pip install https://github.com/getsentry/sentry-nodestore-s3/archive/main.zip
#7 CACHED
#8 [3/5] COPY . /usr/src/sentry
#8 CACHED
#9 [4/5] RUN if [ -s /usr/src/sentry/enhance-image.sh ]; then /usr/src/sentry/enhance-image.sh; fi
#9 CACHED
#10 [5/5] RUN if [ -s /usr/src/sentry/requirements.txt ]; then echo "sentry/requirements.txt is deprecated, use sentry/enhance-image.sh - see https://develop.sentry.dev/self-hosted/#enhance-sentry-image"; pip install -r /usr/src/sentry/requirements.txt; fi
#10 CACHED
#11 exporting to image
#11 exporting layers done
#11 writing image sha256:a82126144c839c2c7e84f125d5ac139f4cb902928fbb0ef7fe347bf12645307f 0.0s done
#11 naming to docker.io/library/sentry-self-hosted-local
#11 naming to docker.io/library/sentry-self-hosted-local 0.1s done
#11 DONE 0.3s
#12 resolving provenance for metadata file
#12 DONE 0.0s
Image sentry-self-hosted-local Built
Image sentry-self-hosted-local Building
Image clickhouse-self-hosted-local Building
#1 [internal] load local bake definitions
#1 reading from stdin 1.58kB done
#1 DONE 0.0s
#2 [internal] load build definition from Dockerfile
#2 transferring dockerfile: 553B done
#2 DONE 0.2s
#3 [internal] load metadata for ghcr.io/getsentry/sentry:26.4.1
#3 DONE 0.0s
#4 [internal] load .dockerignore
#4 transferring context:
#4 transferring context: 2B done
#4 DONE 0.2s
#5 [1/5] FROM ghcr.io/getsentry/sentry:26.4.1
#5 DONE 0.0s
#6 [internal] load build context
#6 transferring context: 441B done
#6 DONE 0.2s
#7 [3/5] COPY . /usr/src/sentry
#7 CACHED
#8 [4/5] RUN if [ -s /usr/src/sentry/enhance-image.sh ]; then /usr/src/sentry/enhance-image.sh; fi
#8 CACHED
#9 [2/5] RUN pip install https://github.com/getsentry/sentry-nodestore-s3/archive/main.zip
#9 CACHED
#10 [5/5] RUN if [ -s /usr/src/sentry/requirements.txt ]; then echo "sentry/requirements.txt is deprecated, use sentry/enhance-image.sh - see https://develop.sentry.dev/self-hosted/#enhance-sentry-image"; pip install -r /usr/src/sentry/requirements.txt; fi
#10 CACHED
#11 exporting to image
#11 exporting layers done
#11 writing image sha256:4e173df530deab69bba5d128e416f0fbeab7d76c67606c64b8dc3c5626b8c4f7 0.0s done
#11 naming to docker.io/library/sentry-self-hosted-local
#11 naming to docker.io/library/sentry-self-hosted-local 0.1s done
#11 DONE 0.3s
#12 resolving provenance for metadata file
#12 DONE 0.0s
Image sentry-self-hosted-local Built
time="2026-04-27T23:17:02Z" level=warning msg="No services to build"
Image sentry-self-hosted-local Building
Image clickhouse-self-hosted-local Building
#1 [internal] load local bake definitions
#1 reading from stdin 1.59kB done
#1 DONE 0.0s
#2 [internal] load build definition from Dockerfile
#2 transferring dockerfile: 553B done
#2 DONE 0.1s
#3 [internal] load metadata for ghcr.io/getsentry/sentry:26.4.1
#3 DONE 0.0s
#4 [internal] load .dockerignore
#4 transferring context: 2B done
#4 DONE 0.1s
#5 [1/5] FROM ghcr.io/getsentry/sentry:26.4.1
#5 DONE 0.0s
#6 [internal] load build context
#6 transferring context: 441B done
#6 DONE 0.1s
#7 [4/5] RUN if [ -s /usr/src/sentry/enhance-image.sh ]; then /usr/src/sentry/enhance-image.sh; fi
#7 CACHED
#8 [2/5] RUN pip install https://github.com/getsentry/sentry-nodestore-s3/archive/main.zip
#8 CACHED
#9 [3/5] COPY . /usr/src/sentry
#9 CACHED
#10 [5/5] RUN if [ -s /usr/src/sentry/requirements.txt ]; then echo "sentry/requirements.txt is deprecated, use sentry/enhance-image.sh - see https://develop.sentry.dev/self-hosted/#enhance-sentry-image"; pip install -r /usr/src/sentry/requirements.txt; fi
#10 CACHED
#11 exporting to image
#11 exporting layers done
#11 writing image sha256:4066e9e96a5b9aa9978abff82967802f312707b73bf0f0c26f144be7163bcc67 0.1s done
#11 naming to docker.io/library/sentry-self-hosted-local
#11 naming to docker.io/library/sentry-self-hosted-local 0.1s done
#11 DONE 0.7s
#12 resolving provenance for metadata file
#12 DONE 0.0s
Image sentry-self-hosted-local Built
Image sentry-self-hosted-local Building
Image clickhouse-self-hosted-local Building
#1 [internal] load local bake definitions
#1 reading from stdin 1.62kB done
#1 DONE 0.0s
#2 [internal] load build definition from Dockerfile
#2 transferring dockerfile: 553B done
#2 DONE 0.1s
#3 [internal] load metadata for ghcr.io/getsentry/sentry:26.4.1
#3 DONE 0.0s
#4 [internal] load .dockerignore
#4 transferring context: 2B done
#4 DONE 0.1s
#5 [1/5] FROM ghcr.io/getsentry/sentry:26.4.1
#5 DONE 0.0s
#6 [internal] load build context
#6 transferring context: 441B done
#6 DONE 0.1s
#7 [3/5] COPY . /usr/src/sentry
#7 CACHED
#8 [4/5] RUN if [ -s /usr/src/sentry/enhance-image.sh ]; then /usr/src/sentry/enhance-image.sh; fi
#8 CACHED
#9 [2/5] RUN pip install https://github.com/getsentry/sentry-nodestore-s3/archive/main.zip
#9 CACHED
#10 [5/5] RUN if [ -s /usr/src/sentry/requirements.txt ]; then echo "sentry/requirements.txt is deprecated, use sentry/enhance-image.sh - see https://develop.sentry.dev/self-hosted/#enhance-sentry-image"; pip install -r /usr/src/sentry/requirements.txt; fi
#10 CACHED
#11 exporting to image
#11 exporting layers done
#11 writing image sha256:8d3198d33be69db2496ce63664a5471716e7a6e0baf09b56eb4a836996e28b6d 0.0s done
#11 naming to docker.io/library/sentry-self-hosted-local
#11 naming to docker.io/library/sentry-self-hosted-local 0.1s done
#11 DONE 0.4s
#12 resolving provenance for metadata file
#12 DONE 0.0s
Image sentry-self-hosted-local Built
time="2026-04-27T23:17:09Z" level=warning msg="No services to build"
time="2026-04-27T23:17:10Z" level=warning msg="No services to build"
time="2026-04-27T23:17:10Z" level=warning msg="No services to build"
Docker images built.
▶ Bootstrapping seaweedfs (node store)...
Container sentry-self-hosted-seaweedfs-1 Creating
Container sentry-self-hosted-postgres-1 Creating
Container sentry-self-hosted-postgres-1 Created
Container sentry-self-hosted-seaweedfs-1 Created
Container sentry-self-hosted-postgres-1 Starting
Container sentry-self-hosted-seaweedfs-1 Starting
Container sentry-self-hosted-postgres-1 Started
Container sentry-self-hosted-seaweedfs-1 Started
Container sentry-self-hosted-postgres-1 Waiting
Container sentry-self-hosted-seaweedfs-1 Waiting
Container sentry-self-hosted-seaweedfs-1 Healthy
Container sentry-self-hosted-postgres-1 Healthy
( 1/26) Installing libbz2 (1.0.8-r6)
( 2/26) Installing libexpat (2.7.5-r0)
( 3/26) Installing libffi (3.5.2-r0)
( 4/26) Installing gdbm (1.26-r0)
( 5/26) Installing xz-libs (5.8.2-r0)
( 6/26) Installing libgcc (15.2.0-r2)
( 7/26) Installing libstdc++ (15.2.0-r2)
( 8/26) Installing mpdecimal (4.0.1-r0)
( 9/26) Installing ncurses-terminfo-base (6.5_p20251123-r0)
(10/26) Installing libncursesw (6.5_p20251123-r0)
(11/26) Installing libpanelw (6.5_p20251123-r0)
(12/26) Installing readline (8.3.1-r0)
(13/26) Installing sqlite-libs (3.51.2-r0)
(14/26) Installing python3 (3.12.13-r0)
(15/26) Installing python3-pycache-pyc0 (3.12.13-r0)
(16/26) Installing pyc (3.12.13-r0)
(17/26) Installing s3cmd-pyc (2.4.0-r1)
(18/26) Installing python3-pyc (3.12.13-r0)
(19/26) Installing py3-six (1.17.0-r0)
(20/26) Installing py3-six-pyc (1.17.0-r0)
(21/26) Installing py3-dateutil (2.9.0-r2)
(22/26) Installing py3-dateutil-pyc (2.9.0-r2)
(23/26) Installing libmagic (5.46-r2)
(24/26) Installing py3-magic (0.4.27-r3)
(25/26) Installing py3-magic-pyc (0.4.27-r3)
(26/26) Installing s3cmd (2.4.0-r1)
Executing busybox-1.37.0-r30.trigger
OK: 64.1 MiB in 55 packages
Node store already exists, skipping creation...
Making sure the bucket lifecycle policy is all set up correctly...
s3://nodestore/: Lifecycle Policy updated
<?xml version="1.0" ?>
<LifecycleConfiguration>
<Rule>
<Status>Enabled</Status>
<Prefix/>
<Expiration>
<Days>90</Days>
</Expiration>
</Rule>
</LifecycleConfiguration>
▶ Bootstrapping and migrating Snuba ...
Container sentry-self-hosted-redis-1 Creating
Container sentry-self-hosted-kafka-1 Creating
Container sentry-self-hosted-clickhouse-1 Creating
Container sentry-self-hosted-redis-1 Created
Container sentry-self-hosted-clickhouse-1 Created
Container sentry-self-hosted-kafka-1 Created
Container sentry-self-hosted-redis-1 Starting
Container sentry-self-hosted-clickhouse-1 Starting
Container sentry-self-hosted-kafka-1 Starting
Container sentry-self-hosted-clickhouse-1 Started
Container sentry-self-hosted-redis-1 Started
Container sentry-self-hosted-kafka-1 Started
Container sentry-self-hosted-kafka-1 Waiting
Container sentry-self-hosted-redis-1 Waiting
Container sentry-self-hosted-clickhouse-1 Waiting
Container sentry-self-hosted-redis-1 Healthy
Container sentry-self-hosted-clickhouse-1 Healthy
Container sentry-self-hosted-kafka-1 Healthy
Container sentry-self-hosted-snuba-api-run-f440aafa6d7b Creating
Container sentry-self-hosted-snuba-api-run-f440aafa6d7b Created
2026-04-27 23:18:03,325 Initializing Snuba...
2026-04-27 23:18:11,416 Snuba initialization took 8.093078170903027s
2026-04-27 23:18:12,569 Initializing Snuba...
2026-04-27 23:18:20,401 Snuba initialization took 7.83298439765349s
2026-04-27 23:18:20,417 Attempting to connect to Kafka (attempt 0)...
2026-04-27 23:18:20,499 Connected to Kafka on attempt 0
2026-04-27 23:18:20,609 Creating Kafka topics...
{"module": "snuba.migrations.runner", "event": "Running migration: 0054_fix_bools_in_autocomplete", "severity": "info", "timestamp": "2026-04-27T23:18:20.902451Z"}
{"module": "snuba.migrations.operations", "event": "Executing op: ALTER TABLE eap_item_co_occurring_attrs_1_local MODIFY COLUMN key_hash UInt64 DEFAULT cityHash64(arraySort(arrayConcat(attributes_string, attributes_float, attributes_bool)));", "severity": "info", "timestamp": "2026-04-27T23:18:20.917802Z"}
{"module": "snuba.migrations.operations", "event": "Executing on local node: clickhouse:9000", "severity": "info", "timestamp": "2026-04-27T23:18:20.918140Z"}
{"module": "snuba.migrations.runner", "event": "Finished: 0054_fix_bools_in_autocomplete", "severity": "info", "timestamp": "2026-04-27T23:18:20.955681Z"}
▶ Ensuring proper PostgreSQL version ...
▶ Ensuring correct permissions on profiles directory ...
Ownership of /var/vroom/sentry-profiles is already set to vroom:vroom. Skipping chown.
▶ Bootstrapping seaweedfs (profiles)...
Container sentry-self-hosted-seaweedfs-1 Running
Container sentry-self-hosted-seaweedfs-1 Waiting
Container sentry-self-hosted-seaweedfs-1 Healthy
OK: 64.1 MiB in 55 packages
'profiles' bucket already exists on SeaweedFS. Skipping creation.
s3://profiles/: Lifecycle Policy updated
Making sure the bucket lifecycle policy is all set up correctly...
<?xml version="1.0" ?>
<LifecycleConfiguration>
<Rule>
<Status>Enabled</Status>
<Prefix/>
<Expiration>
<Days>90</Days>
</Expiration>
</Rule>
</LifecycleConfiguration>
▶ Setting up / migrating database ...
Container sentry-self-hosted-postgres-1 Running
Container sentry-self-hosted-postgres-1 Waiting
Container sentry-self-hosted-postgres-1 Healthy
Container sentry-self-hosted-postgres-1 Running
Container sentry-self-hosted-pgbouncer-1 Creating
Container sentry-self-hosted-pgbouncer-1 Created
Container sentry-self-hosted-postgres-1 Waiting
Container sentry-self-hosted-postgres-1 Healthy
Container sentry-self-hosted-pgbouncer-1 Starting
Container sentry-self-hosted-pgbouncer-1 Started
Container sentry-self-hosted-postgres-1 Waiting
Container sentry-self-hosted-pgbouncer-1 Waiting
Container sentry-self-hosted-postgres-1 Healthy
Container sentry-self-hosted-pgbouncer-1 Healthy
Container sentry-self-hosted-symbolicator-1 Creating
Container sentry-self-hosted-seaweedfs-1 Running
Container sentry-self-hosted-postgres-1 Running
Container sentry-self-hosted-redis-1 Running
Container sentry-self-hosted-memcached-1 Creating
Container sentry-self-hosted-clickhouse-1 Running
Container sentry-self-hosted-pgbouncer-1 Running
Container sentry-self-hosted-kafka-1 Running
Container sentry-self-hosted-snuba-api-1 Creating
Container sentry-self-hosted-symbolicator-1 Created
Container sentry-self-hosted-snuba-api-1 Created
Container sentry-self-hosted-memcached-1 Created
Container sentry-self-hosted-memcached-1 Starting
Container sentry-self-hosted-postgres-1 Waiting
Container sentry-self-hosted-symbolicator-1 Starting
Container sentry-self-hosted-kafka-1 Waiting
Container sentry-self-hosted-redis-1 Waiting
Container sentry-self-hosted-clickhouse-1 Waiting
Container sentry-self-hosted-postgres-1 Healthy
Container sentry-self-hosted-clickhouse-1 Healthy
Container sentry-self-hosted-redis-1 Healthy
Container sentry-self-hosted-kafka-1 Healthy
Container sentry-self-hosted-snuba-api-1 Starting
Container sentry-self-hosted-memcached-1 Started
Container sentry-self-hosted-symbolicator-1 Started
Container sentry-self-hosted-snuba-api-1 Started
Container sentry-self-hosted-redis-1 Waiting
Container sentry-self-hosted-kafka-1 Waiting
Container sentry-self-hosted-pgbouncer-1 Waiting
Container sentry-self-hosted-redis-1 Healthy
Container sentry-self-hosted-pgbouncer-1 Healthy
Container sentry-self-hosted-kafka-1 Healthy
Container sentry-self-hosted-web-run-6d9f79b61a64 Creating
Container sentry-self-hosted-web-run-6d9f79b61a64 Created
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
sentry/requirements.txt is deprecated, use sentry/enhance-image.sh - see https://develop.sentry.dev/self-hosted/#enhance-sentry-image
Checking for migrations to run for default
Running migrations for default
Operations to perform:
Apply all migrations: auth, contenttypes, discover, explore, feedback, flags, hybridcloud, insights, monitors, nodestore, notifications, preprod, releases, replays, seer, sentry, sessions, sites, social_auth, tempest, uptime, workflow_engine
Running migrations:
Applying preprod.0028_add_images_skipped_to_snapshot_comparison... OK
Applying sentry.1054_rename_regionscheduleddeletion_to_cellscheduleddeletion... OK
Applying sentry.1055_rename_regiontombstone_to_celltombstone... OK
Applying sentry.1056_add_explorer_autofix_fields... OK
Applying sentry.1057_drop_legacy_alert_rule_tables... OK
Applying sentry.1058_change_code_mapping_unique_constraint... OK
Applying sentry.1059_add_groupopenperiodactivity_date_added_index... OK
Applying sentry.1060_eventattachment_date_expires... OK
Applying sentry.1061_eventattachment_date_expires_index... OK
Applying sentry.1062_backfill_eventattachment_date_expires... OK
Applying sentry.1063_remove_customdynamicsamplingrule... OK
Applying sentry.1064_eventattachment_date_expires_now... OK
Applying sentry.1065_delete_customdynamicsamplingrule... OK
Applying sentry.1066_add_export_format_in_data_export_obj... OK
Applying seer.0006_add_night_shift_models... OK
Applying seer.0007_add_extras_to_nightshiftrun... OK
Applying sentry.1067_add_dashboard_revision_model... OK
Applying sentry.1068_rename_relocationtransfer_region_to_cell... OK
Applying sentry.1069_add_organization_avatar_replica... OK
Applying sentry.1070_increase_integration_external_id_length... OK
Applying workflow_engine.0111_add_workflowfirehistory_date_added_index... OK
Applying workflow_engine.0112_drop_redundant_error_detector_workflows...23:19:44 [INFO] sentry.workflow_engine.migrations.0112_drop_redundant_error_detector_workflows: object.delete.bulk_executed (id__in=<QuerySet []> model='DetectorWorkflow')
OK
Creating missing DSNs
Correcting Group.num_comments counter
23:19:54 [INFO] sentry.outboxes: Executing outbox replication backfill
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='OrganizationSlugReservation')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='ApiKey')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='Organization')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='OrgAuthToken')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='ApiToken')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='AuthIdentity')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='AuthProvider')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='Authenticator')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='Team')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='OrganizationMember')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='UserEmail')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='User')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='UserPermission')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='UserRole')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='UserRoleUser')
23:19:54 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.current (model='ProjectKey' batch_low=1 batch_up=55 version=1)
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='OrganizationMemberTeam')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='ExternalActor')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='OrganizationIntegration')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='SentryAppInstallation')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='SentryAppInstallationToken')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='OrganizationSlugReservation')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='ApiKey')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='Organization')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='OrgAuthToken')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='ApiToken')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='AuthIdentity')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='AuthProvider')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='Authenticator')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='Team')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='OrganizationMember')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='UserEmail')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='User')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='UserPermission')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='UserRole')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='UserRoleUser')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.current (model='ProjectKey' batch_low=56 batch_up=0 version=1)
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='OrganizationMemberTeam')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='ExternalActor')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='OrganizationIntegration')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='SentryAppInstallation')
23:19:55 [INFO] sentry.hybridcloud.tasks.backfill_outboxes: processing_state.missing (model='SentryAppInstallationToken')
23:19:55 [INFO] sentry.outboxes: Processing sentry.ControlOutboxs...
23:19:55 [INFO] sentry.outboxes: Processing sentry.CellOutboxs...
23:19:57 [INFO] sentry.outboxes: done
▶ Migrating Postgres config to PGBouncer...
Found pgbouncer in sentry/sentry.conf.py, I'm assuming you're good! :)
▶ Setting up GeoIP integration ...
Setting up IP address geolocation ...
IP address geolocation database already exists.
IP address geolocation is configured for updates.
Updating IP address geolocation database ...
Done updating IP address geolocation database.
Done setting up IP address geolocation.
-----------------------------------------------------------------
You're all done! Run the following command to get Sentry running:
docker compose up --wait
-----------------------------------------------------------------
Self-Hosted Version
26.4.1
CPU Architecture
x86_64
Docker Version
29.3.1
Docker Compose Version
5.1.1
Machine Specification
Installation Type
Upgrade from 26.3.1 to 26.4.1
Steps to Reproduce
docker compose stopgit checkout 26.4.1 ; ./install.shdocker compose up -d --waitExpected Result
Logs will not be consumed by an endlessly repeating message about a missing file/directory, system load will not spike due to the abnormally high log volume, and the sysadmin will not be angry (admittedly, the latter is a stretch).
As a temporary measure, I mapped an empty directory to the path and the log noise abated. Editing
docker-compose.yml'sx-snuba-defaultsand added:Actual Result
Container logs, picking one of the consumers at random:
And it just keeps repeating this.
install logs:
Event ID
No response