Skip to content

Getting started

Five minutes from git clone to your first event in the dashboard.

  • Docker with the docker compose plugin
  • An app to instrument (or use sdk/react-native/example/ in this repo)
Terminal window
git clone <repo> sentori
cd sentori

Create .env with these values:

Terminal window
cat > .env <<EOF
SENTORI_DEV_TOKEN=st_pk_dev0000000000000000000000
SENTORI_ADMIN_PASSWORD=changeme
SENTORI_SESSION_SECRET=$(openssl rand -hex 32)
SENTORI_PG_PASSWORD=$(openssl rand -hex 16)
EOF

For SMTP, rate-limit, log-level overrides, copy docker-compose.override.example.yml to docker-compose.override.yml.

Terminal window
docker compose up -d
docker compose ps # postgres should be "healthy"
docker compose logs -f server # confirm "sentori-server listening"

Open http://localhost:8000. Sign in with SENTORI_ADMIN_PASSWORD.

You should see the empty Issues list. The header has a Sign out button; the search box accepts / to focus.

In a React Native app:

import { sentori } from '@sentori/react-native'
sentori.init({
token: 'st_pk_dev0000000000000000000000',
release: 'myapp@0.1.0+1',
ingestUrl: 'http://<your-host>:8080',
})
throw new TypeError('hello sentori')

Or quickly from a shell:

Terminal window
curl -X POST http://localhost:8080/v1/events \
-H "Authorization: Bearer st_pk_dev0000000000000000000000" \
-H "Sentori-Sdk: curl/0.0.0" \
-H "Content-Type: application/json" \
-d '{
"id": "01000000-0000-7000-8000-000000000001",
"timestamp": "'"$(date -u +%FT%T.000Z)"'",
"kind": "error",
"platform": "javascript",
"release": "myapp@0.1.0+1",
"environment": "dev",
"device": {"os": "other", "osVersion": "0"},
"app": {"version": "0.1.0"},
"error": {
"type": "TypeError",
"message": "hello sentori",
"stack": [{"file": "shell.ts", "line": 1, "inApp": true}]
}
}'

Refresh the dashboard — the issue should appear within a few seconds.

  • SDK reference — full sentori.init, capture helpers, ErrorBoundary, native crash capture, source-map upload
  • Self-hosting guide — production deploy, SMTP, backups, behind a reverse proxy
  • Protocol — wire format, if you’re writing your own SDK or just curious