# Okapi install guide — Ruby on Rails

Okapi speaks the Sentry ingest wire format: this is the standard `sentry-ruby + sentry-rails` SDK, pointed at your own Okapi instance instead of Sentry's.

The DSN in this generic guide is a placeholder. Get the real DSN from Project → Settings → DSN Keys. An agent with an admin Okapi MCP credential can also call `get_dsn`. Do not invent a DSN.

Do not run the Sentry wizard or any setup that signs in to Sentry's hosted service; nothing in this setup should contact it.

## 1. Install

### `Gemfile`

```ruby
gem "sentry-ruby"
gem "sentry-rails"
```

## 2. Initialize

### `config/initializers/sentry.rb`

```ruby
Sentry.init do |config|
  config.dsn = "http://YOUR_PUBLIC_KEY@YOUR_OKAPI_HOST/YOUR_PROJECT_ID"
  config.environment = "production"
end
```

Run bundle install after editing Gemfile; the SDK flushes automatically at process exit.

## 3. Send a test event

```bash
bin/rails runner 'Sentry.capture_message("Okapi test event")'
```

## 4. Verify

Open the instance's dashboard → Issues. The test event should appear within a few seconds as a new issue. If the instance's MCP server exposes a `verify_installation` tool, call that instead of checking by hand — it reports the SDK name/version and whether only a synthetic test event has arrived yet.

## More

- Structured logs (same DSN, no separate shipper) and source map uploads: https://useokapi.app/docs/sdk-setup
- Connect over MCP once the SDK is wired up: https://useokapi.app/docs/mcp-agents
