### Build and run urgentry in Tiny mode Source: https://urgentry.com/docs/tiny Build the urgentry binary, start the Tiny mode server with the base URL set to localhost:8080 and all roles enabled, then run the smoke test to verify the installation. ```bash make build URGENTRY_BASE_URL=http://localhost:8080 ./urgentry serve --role=all ``` ```bash make tiny-smoke ``` -------------------------------- ### Go: install sentry-go and send first event Source: https://urgentry.com/docs/sdk Install the sentry-go package, then initialize Sentry with the urgentry DSN and a traces sample rate of 1.0. The snippet defers a flush of 2 seconds and captures a message "Hello from urgentry!". ```bash go get github.com/getsentry/sentry-go ``` ```go import "github.com/getsentry/sentry-go" sentry.Init(sentry.ClientOptions{ Dsn: "http://your-key@localhost:8080/1", TracesSampleRate: 1.0, }) defer sentry.Flush(2 * time.Second) sentry.CaptureMessage("Hello from urgentry!") ``` -------------------------------- ### PHP: install sentry/sentry and send first event Source: https://urgentry.com/docs/sdk Install the sentry/sentry package via Composer, then initialize Sentry with the urgentry DSN and a traces sample rate of 1.0. The snippet captures a message "Hello from urgentry!". ```bash composer require sentry/sentry ``` ```php \Sentry\init([ 'dsn' => 'http://your-key@localhost:8080/1', 'traces_sample_rate' => 1.0, ]); \Sentry\captureMessage('Hello from urgentry!'); ``` -------------------------------- ### Start self-hosted stack with Docker Compose Source: https://urgentry.com/docs/self-hosted Use this to bring up the self-hosted stack with the smallest packaged baseline. Run from the deploy/compose directory, copy the environment file, start services, and follow the API logs. ```bash cd deploy/compose cp .env.example .env docker compose up -d docker compose logs -f urgentry-api ``` -------------------------------- ### Python: install sentry-sdk and send first event Source: https://urgentry.com/docs/sdk Install the sentry-sdk package, then initialize it with a DSN pointing at the urgentry instance and a traces sample rate of 1.0. The snippet captures an exception by dividing by zero and calling capture_exception(). ```bash pip install sentry-sdk ``` ```python import sentry_sdk sentry_sdk.init( dsn="http://your-key@localhost:8080/1", traces_sample_rate=1.0, ) # Capture an error try: 1 / 0 except ZeroDivisionError: sentry_sdk.capture_exception() ``` -------------------------------- ### Ruby: install sentry-ruby and send first event Source: https://urgentry.com/docs/sdk Install the sentry-ruby gem, then initialize Sentry with the urgentry DSN and a traces sample rate of 1.0. The snippet captures a message "Hello from urgentry!". ```bash gem install sentry-ruby ``` ```ruby require "sentry-ruby" Sentry.init do |config| config.dsn = "http://your-key@localhost:8080/1" config.traces_sample_rate = 1.0 end Sentry.capture_message("Hello from urgentry!") ``` -------------------------------- ### JavaScript: install @sentry/node and send first event Source: https://urgentry.com/docs/sdk Install the @sentry/node package, then initialize Sentry with the urgentry DSN and a traces sample rate of 1.0. The snippet captures an exception with the message "Hello from urgentry!". ```bash npm install @sentry/node ``` ```javascript const Sentry = require("@sentry/node"); Sentry.init({ dsn: "http://your-key@localhost:8080/1", tracesSampleRate: 1.0, }); Sentry.captureException(new Error("Hello from urgentry!")); ``` -------------------------------- ### Prepare Compose environment Source: https://urgentry.com/docs/self-hosted/deployment-guide Navigate to the Compose deployment directory and copy the example environment file to create the actual .env file. ```bash cd deploy/compose cp .env.example .env ``` -------------------------------- ### Start urgentry server with URGENTRY_BASE_URL Source: https://urgentry.com/docs/getting-started Starts the urgentry server in all-in-one mode. Set URGENTRY_BASE_URL to the URL you plan to open (e.g., http://localhost:8080). The server listens on the default port 8080 unless overridden. ```bash URGENTRY_BASE_URL=http://localhost:8080 ./urgentry serve --role=all ``` -------------------------------- ### Install or upgrade urgentry Helm chart Source: https://urgentry.com/docs/self-hosted/kubernetes-and-helm Installs or upgrades the urgentry Helm chart with placeholder passwords for PostgreSQL and bootstrap. Use when your app configuration and secret flow already live in Kubernetes tooling. ```bash helm upgrade --install urgentry deploy/helm/urgentry \ --set postgresql.password=changeme \ --set bootstrap.password=changeme ``` -------------------------------- ### Boot Compose stack Source: https://urgentry.com/docs/self-hosted/deployment-guide Start the Compose stack in detached mode, check its status, and follow the logs for the urgentry-api service. ```bash docker compose up -d docker compose ps docker compose logs -f urgentry-api ``` -------------------------------- ### .NET: add Sentry package and send first event Source: https://urgentry.com/docs/sdk Add the Sentry NuGet package, then initialize SentrySdk with the urgentry DSN and a traces sample rate of 1.0. The snippet captures a message "Hello from urgentry!". ```bash dotnet add package Sentry ``` ```csharp using Sentry; SentrySdk.Init(o => { o.Dsn = "http://your-key@localhost:8080/1"; o.TracesSampleRate = 1.0; }); SentrySdk.CaptureMessage("Hello from urgentry!"); ``` -------------------------------- ### Apply kustomize bundle and check pods Source: https://urgentry.com/docs/self-hosted/kubernetes-and-helm Applies the kustomize bundle from deploy/k8s and lists pods in the urgentry-system namespace. Replace placeholder values in deploy/k8s/secret.yaml or layer in your own secret management before applying. ```bash kubectl apply -k deploy/k8s kubectl -n urgentry-system get pods ``` -------------------------------- ### Build urgentry binary with make build Source: https://urgentry.com/docs/getting-started Builds the urgentry binary from source. Requires Go 1.26+ and a local build toolchain. ```bash make build ``` -------------------------------- ### Java: add io.sentry:sentry and send first event Source: https://urgentry.com/docs/sdk Add the io.sentry:sentry dependency (version 7.0.0), then initialize Sentry with the urgentry DSN and a traces sample rate of 1.0. The snippet captures a message "Hello from urgentry!". ```gradle implementation 'io.sentry:sentry:7.0.0' ``` ```java import io.sentry.Sentry; Sentry.init(options -> { options.setDsn("http://your-key@localhost:8080/1"); options.setTracesSampleRate(1.0); }); Sentry.captureMessage("Hello from urgentry!"); ``` -------------------------------- ### Run operator commands with binary Source: https://urgentry.com/docs/self-hosted/deployment-guide Execute preflight, status, and maintenance-status commands using the urgentry binary with the required DSN environment variables. ```bash ./urgentry self-hosted preflight --control-dsn "$URGENTRY_CONTROL_DATABASE_URL" --telemetry-dsn "$URGENTRY_TELEMETRY_DATABASE_URL" ./urgentry self-hosted status --control-dsn "$URGENTRY_CONTROL_DATABASE_URL" --telemetry-dsn "$URGENTRY_TELEMETRY_DATABASE_URL" ./urgentry self-hosted maintenance-status --control-dsn "$URGENTRY_CONTROL_DATABASE_URL" ``` -------------------------------- ### Send a compatibility proof event via curl Source: https://urgentry.com/docs/api Use this curl command to prove the compatibility route by sending a test event to the local ingest endpoint. Replace with your project's public key. The expected receipt is a clean request, the event appearing in the UI and grouping sanely, and the follow-up workflow behaving as expected. ```bash curl -X POST http://localhost:8080/api/default-project/store/ \ -H "Content-Type: application/json" \ -H "X-Sentry-Auth: Sentry sentry_key=,sentry_version=7" \ -d '{"event_id":"compat-proof-1","message":"compatibility proof"}' ``` -------------------------------- ### Rust: add sentry crate and send first event Source: https://urgentry.com/docs/sdk Add the sentry crate via Cargo, then initialize Sentry with the urgentry DSN and a traces sample rate of 1.0. The snippet captures a message "Hello from urgentry!" at Info level. ```bash cargo add sentry ``` ```rust let _guard = sentry::init(( "http://your-key@localhost:8080/1", sentry::ClientOptions { traces_sample_rate: 1.0, ..Default::default() }, )); sentry::capture_message("Hello from urgentry!", sentry::Level::Info); ``` -------------------------------- ### Control maintenance mode with ./urgentry self-hosted commands Source: https://urgentry.com/docs/self-hosted/maintenance-mode Use these commands to check, enter, and leave maintenance mode via the urgentry binary. The --control-dsn flag must point to the control database URL. Enter maintenance requires a --reason string, such as "upgrade window". ```shell ./urgentry self-hosted maintenance-status --control-dsn "$URGENTRY_CONTROL_DATABASE_URL" ./urgentry self-hosted enter-maintenance --control-dsn "$URGENTRY_CONTROL_DATABASE_URL" --reason "upgrade window" ./urgentry self-hosted leave-maintenance --control-dsn "$URGENTRY_CONTROL_DATABASE_URL" ``` -------------------------------- ### Backup, restore, and upgrade Compose stack Source: https://urgentry.com/docs/self-hosted/deployment-guide Perform backup, restore, and upgrade operations using the provided scripts. ```bash bash deploy/compose/backup.sh /tmp/urgentry-backup bash deploy/compose/restore.sh /tmp/urgentry-backup bash deploy/compose/upgrade.sh ``` -------------------------------- ### Run local smoke test Source: https://urgentry.com/docs/self-hosted/kubernetes-and-helm Runs the local smoke path for kind-friendly clusters. It builds and loads the urgentry:dev image on kind-* contexts, generates temporary dependency secrets, and isolates temporary RWX PV paths by namespace and release. ```bash bash deploy/k8s/smoke.sh up ``` -------------------------------- ### Control maintenance mode with ops.sh wrapper Source: https://urgentry.com/docs/self-hosted/maintenance-mode Use these commands to check, enter, and leave maintenance mode through the ops.sh wrapper in the packaged stack. The enter-maintenance command takes a reason string as an argument. ```shell bash deploy/compose/ops.sh maintenance-status bash deploy/compose/ops.sh enter-maintenance "upgrade window" bash deploy/compose/ops.sh leave-maintenance ``` -------------------------------- ### Run operator commands with Compose wrapper Source: https://urgentry.com/docs/self-hosted/deployment-guide Use the Compose ops wrapper script to run preflight, status, and maintenance-status commands. ```bash bash deploy/compose/ops.sh preflight bash deploy/compose/ops.sh status bash deploy/compose/ops.sh maintenance-status ``` -------------------------------- ### Run smoke check with deploy/compose/smoke.sh Source: https://urgentry.com/docs/self-hosted/ha-baseline Runs the smoke check against the deployed stack. The topology is not considered HA-ready until this command passes. ```bash bash deploy/compose/smoke.sh up ``` -------------------------------- ### Store an event with curl using X-Sentry-Auth Source: https://urgentry.com/docs/getting-started Sends a test event to the ingest endpoint. Replace with the default public ingest key from bootstrap-credentials.txt. The event should appear in the UI after a clean request. ```bash curl -X POST http://localhost:8080/api/default-project/store/ \ -H "Content-Type: application/json" \ -H "X-Sentry-Auth: Sentry sentry_key=,sentry_version=7" \ -d '{ "event_id": "abcdef01234567890abcdef012345678", "message": "Something went wrong", "level": "error", "platform": "python" }' ``` -------------------------------- ### Enable ClickHouse columnar profile Source: https://urgentry.com/docs/self-hosted/deployment-guide Append the columnar profile configuration to the .env file and rebuild the stack with the ClickHouse build tags. ```bash printf '%s\n' \ 'COMPOSE_PROFILES=columnar' \ 'URGENTRY_BUILD_TAGS=netgo,osusergo,clickhouse' \ 'CLICKHOUSE_PASSWORD=change-me-columnar' >> .env docker compose up -d --build ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.