---
title: "Deploy Bugsink | (Just Updated) Sentry-Compatible Error Tracker, DSN and API Token Ready"
description: "Bugsink error tracking server, Sentry SDK compatible, DSN and API token set"
category: "Other"
url: https://railway.com/deploy/bugsink-or-just-updated-sentry-compatibl
---

# Deploy Bugsink | (Just Updated) Sentry-Compatible Error Tracker, DSN and API Token Ready

Bugsink error tracking server, Sentry SDK compatible, DSN and API token set

**[Deploy Bugsink | (Just Updated) Sentry-Compatible Error Tracker, DSN and API Token Ready on Railway](https://railway.com/template/bugsink-or-just-updated-sentry-compatibl)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/bugsink-or-just-updated-sentry-compatibl/manifest.json

- **Creator:** SuperSlowSloth
- **Category:** Other

## Template content

### bugsink

- **Image:** bugsink/bugsink:2.6.2@sha256:a013fe0da745b753d65f9816020d36f91620e6d1c62ac22d82463b3a6ec2d71e
- **Start command:** `/bin/sh -c 'eval "$(echo IyEvYmluL3NoCiMgQnVnc2luayBib290IHdyYXBwZXIgZm9yIFJhaWx3YXkuIFJ1bnMgYXMgcm9vdCAoUkFJTFdBWV9SVU5fVUlEPTApIG9ubHkgbG9uZyBlbm91Z2ggdG8KIyBwcmVwYXJlIHRoZSByb290LW93bmVkIHZvbHVtZSwgdGhlbiBkcm9wcyB0byB0aGUgaW1hZ2UncyBvd24gdXNlciAoYnVnc2luaywgdWlkIDE0MjM3KS4Kc2V0IC1ldQpEQVRBPS9kYXRhClVJREc9MTQyMzcKbWtkaXIgLXAgIiREQVRBIgpjaG93biAtUiAiJFVJREc6JFVJREciICIkREFUQSIKZWNobyAiW3JhaWx3YXldIGJ1Z3NpbmsgdWlkPSQoaWQgLXUpIGRhdGFfb3duZXI9JChzdGF0IC1jICV1OiVnICIkREFUQSIpIHBvcnQ9JHtQT1JUOi11bnNldH0iCgojIFNldHRpbmdzIHRoZSB0ZW1wbGF0ZSBjYW5ub3QgcHVibGlzaCBhcyB2YXJpYWJsZXMgKGEgbGl0ZXJhbCB2YXJpYWJsZSBpcyBkcm9wcGVkIGJ5IHRlbXBsYXRlR2VuZXJhdGUpLgpleHBvcnQgREFUQUJBU0VfUEFUSD0iJERBVEEvZGIuc3FsaXRlMyIKZXhwb3J0IEJFSElORF9IVFRQU19QUk9YWT1UcnVlCmV4cG9ydCBQSE9ORUhPTUU9ZmFsc2UKZXhwb3J0IFNJVEVfVElUTEU9IiR7U0lURV9USVRMRTotQnVnc2lua30iCmV4cG9ydCBTTkFQUEVBX05VTV9XT1JLRVJTPSIke1NOQVBQRUFfTlVNX1dPUktFUlM6LTJ9IgpleHBvcnQgUE9SVD0iJHtQT1JUOi04MDAwfSIKZXhwb3J0IFBZVEhPTlBBVEg9L2FwcAoKY2F0ID4gIiREQVRBL2Jvb3RzdHJhcC5weSIgPDwnUFknCmltcG9ydCBvcwppbXBvcnQgdXVpZAoKb3MuZW52aXJvbi5zZXRkZWZhdWx0KCJESkFOR09fU0VUVElOR1NfTU9EVUxFIiwgImJ1Z3NpbmtfY29uZiIpCgppbXBvcnQgZGphbmdvCgpkamFuZ28uc2V0dXAoKQoKZnJvbSBkamFuZ28uY29udHJpYi5hdXRoIGltcG9ydCBnZXRfdXNlcl9tb2RlbAoKZnJvbSBic21haW4ubW9kZWxzIGltcG9ydCBBdXRoVG9rZW4KZnJvbSBwcm9qZWN0cy5tb2RlbHMgaW1wb3J0IFByb2plY3QsIFByb2plY3RNZW1iZXJzaGlwLCBQcm9qZWN0Um9sZQpmcm9tIHRlYW1zLm1vZGVscyBpbXBvcnQgVGVhbSwgVGVhbU1lbWJlcnNoaXAsIFRlYW1Sb2xlCgpVc2VyID0gZ2V0X3VzZXJfbW9kZWwoKQoKZW1haWwgPSBvcy5lbnZpcm9uWyJCVUdTSU5LX0FETUlOX0VNQUlMIl0uc3RyaXAoKS5sb3dlcigpCnBhc3N3b3JkID0gb3MuZW52aXJvblsiQlVHU0lOS19BRE1JTl9QQVNTV09SRCJdCnByb2plY3Rfa2V5ID0gdXVpZC5VVUlEKG9zLmVudmlyb25bIkJVR1NJTktfUFJPSkVDVF9LRVkiXSkKYXBpX3Rva2VuID0gb3MuZW52aXJvblsiQlVHU0lOS19BUElfVE9LRU4iXQoKIyBBZG1pbiB1c2VyOiBjcmVhdGVkIG9uIGZpcnN0IGJvb3QsIHBhc3N3b3JkIHJlLWFwcGxpZWQgb24gZXZlcnkgYm9vdCBzbyBpdCBhbHdheXMgbWF0Y2hlcyB0aGUgdmFyaWFibGUuCnVzZXIgPSBVc2VyLm9iamVjdHMuZmlsdGVyKHVzZXJuYW1lPWVtYWlsKS5maXJzdCgpCmlmIHVzZXIgaXMgTm9uZToKICAgIHVzZXIgPSBVc2VyLm9iamVjdHMuY3JlYXRlX3N1cGVydXNlcih1c2VybmFtZT1lbWFpbCwgZW1haWw9ZW1haWwsIHBhc3N3b3JkPXBhc3N3b3JkKQogICAgcHJpbnQoIltyYWlsd2F5XSBjcmVhdGVkIHN1cGVydXNlciIsIGVtYWlsKQplbHNlOgogICAgdXNlci5zZXRfcGFzc3dvcmQocGFzc3dvcmQpCiAgICB1c2VyLmlzX3N0YWZmID0gVHJ1ZQogICAgdXNlci5pc19zdXBlcnVzZXIgPSBUcnVlCiAgICB1c2VyLmlzX2FjdGl2ZSA9IFRydWUKICAgIHVzZXIuc2F2ZSgpCiAgICBwcmludCgiW3JhaWx3YXldIHN1cGVydXNlciBwYXNzd29yZCByZS1hcHBsaWVkIGZvciIsIGVtYWlsKQoKIyBPbmUgdGVhbSBhbmQgb25lIHByb2plY3Qgd2hvc2UgRFNOIGtleSBjb21lcyBmcm9tIHRoZSBCVUdTSU5LX1BST0pFQ1RfS0VZIHZhcmlhYmxlLCBzbyBhbiBhZ2VudAojIGNhbiBzZW5kIGV2ZW50cyBmcm9tIHRoZSBmaXJzdCBtaW51dGUgd2l0aG91dCBvcGVuaW5nIHRoZSBVSS4KdGVhbSwgXyA9IFRlYW0ub2JqZWN0cy5nZXRfb3JfY3JlYXRlKG5hbWU9IkRlZmF1bHQiKQpUZWFtTWVtYmVyc2hpcC5vYmplY3RzLmdldF9vcl9jcmVhdGUoCiAgICB0ZWFtPXRlYW0sIHVzZXI9dXNlciwgZGVmYXVsdHM9eyJyb2xlIjogVGVhbVJvbGUuQURNSU4sICJhY2NlcHRlZCI6IFRydWV9KQoKcHJvamVjdCA9IFByb2plY3Qub2JqZWN0cy5maWx0ZXIoc2x1Zz0iZGVmYXVsdCIpLmZpcnN0KCkKaWYgcHJvamVjdCBpcyBOb25lOgogICAgcHJvamVjdCA9IFByb2plY3QobmFtZT0iRGVmYXVsdCIsIHNsdWc9ImRlZmF1bHQiLCB0ZWFtPXRlYW0pCnByb2plY3Quc2VudHJ5X2tleSA9IHByb2plY3Rfa2V5CnByb2plY3Quc2F2ZSgpClByb2plY3RNZW1iZXJzaGlwLm9iamVjdHMuZ2V0X29yX2NyZWF0ZSgKICAgIHByb2plY3Q9cHJvamVjdCwgdXNlcj11c2VyLCBkZWZhdWx0cz17InJvbGUiOiBQcm9qZWN0Um9sZS5BRE1JTiwgImFjY2VwdGVkIjogVHJ1ZX0pCgojIEZ1bGwtYWNjZXNzIEFQSSB0b2tlbiAoQXV0aG9yaXphdGlvbjogQmVhcmVyIDw0MCBoZXg+KSB0YWtlbiBmcm9tIHRoZSBCVUdTSU5LX0FQSV9UT0tFTiB2YXJpYWJsZS4KdG9rZW4gPSBBdXRoVG9rZW4ub2JqZWN0cy5maWx0ZXIodG9rZW49YXBpX3Rva2VuKS5maXJzdCgpCmlmIHRva2VuIGlzIE5vbmU6CiAgICBBdXRoVG9rZW4uY3JlYXRlX2Z1bGxfYWNjZXNzKHRva2VuPWFwaV90b2tlbiwgZGVzY3JpcHRpb249IlJhaWx3YXkgYWdlbnQgdG9rZW4iKQogICAgcHJpbnQoIltyYWlsd2F5XSBBUEkgdG9rZW4gY3JlYXRlZCIpCnByaW50KCJbcmFpbHdheV0gcHJvamVjdCBpZD0lcyBkc25fa2V5PSVzIiAlIChwcm9qZWN0LnBrLCBwcm9qZWN0X2tleSkpClBZCmNob3duICIkVUlERzokVUlERyIgIiREQVRBL2Jvb3RzdHJhcC5weSIKCmNkIC9hcHAKZXhlYyBzZXRwcml2IC0tcmV1aWQ9IiRVSURHIiAtLXJlZ2lkPSIkVUlERyIgLS1jbGVhci1ncm91cHMgXAogIG1vbm9meSBidWdzaW5rLXNob3ctdmVyc2lvbiAnJiYnIGJ1Z3NpbmstbWFuYWdlIGNoZWNrIC0tZGVwbG95IC0tZmFpbC1sZXZlbCBXQVJOSU5HIFwKICAnJiYnIGJ1Z3NpbmstbWFuYWdlIG1pZ3JhdGUgc25hcHBlYSAtLWRhdGFiYXNlPXNuYXBwZWEgJyYmJyBidWdzaW5rLW1hbmFnZSBtaWdyYXRlIFwKICAnJiYnIGJ1Z3NpbmstbWFuYWdlIHByZXN0YXJ0ICcmJicgcHl0aG9uICIkREFUQS9ib290c3RyYXAucHkiIFwKICAnJiYnIGd1bmljb3JuIC0tY29uZmlnIGd1bmljb3JuLmRvY2tlci5jb25mLnB5ICItLWJpbmQ9MC4wLjAuMDokUE9SVCIgLS1hY2Nlc3MtbG9nZmlsZSAtIGJ1Z3Npbmsud3NnaSBcCiAgJ3x8fCcgYnVnc2luay1ydW5zbmFwcGVhCg== | base64 -d)"'`
- **Health check:** /health/ready
- **Public domain:** Yes

## Documentation

# Deploy and Host Bugsink on Railway

**Built for an LLM agent to deploy and use.** There is no setup wizard and nothing to fill in: the admin password, the project DSN key and a full-access API token are generated at deploy time and are valid from the first boot. The contract below lists every URL, variable name and the one script that proves it works.

Bugsink is a self-hosted error tracker that speaks the Sentry protocol. Point any Sentry SDK at its DSN and it groups exceptions into issues, with stack traces, breadcrumbs and a REST API to read them back. It is a small, single-container alternative to a full Sentry install.

## About Hosting Bugsink

This template runs one service: the official **Bugsink 2.6.2** image (`bugsink/bugsink`, pinned by digest). Events are stored in SQLite on a volume at `/data`, so the server needs no separate database. A boot wrapper prepares the root-owned Railway volume, creates the admin user, a project named `Default` (project id `1`) and the API token from the service variables, then starts the stock web server and background worker. The same values apply after every redeploy, and phone-home telemetry is off. Allow about a minute for the first deploy to turn healthy.

### Agent contract

- Public URL: `BASE_URL`, which is `https://` plus the `RAILWAY_PUBLIC_DOMAIN` of the `bugsink` service. It serves the web UI at `/`, event ingest under `/api/1/` and the REST API under `/api/canonical/0/`.
- Private URL: `http://bugsink.railway.internal:8080`
- Credentials: web UI login is `BUGSINK_ADMIN_EMAIL` with the password in `BUGSINK_ADMIN_PASSWORD`; the project DSN key is `BUGSINK_PROJECT_KEY`; the REST API token is `BUGSINK_API_TOKEN`.
- Auth: ingest sends the DSN key in the `X-Sentry-Auth` header (`sentry_key=BUGSINK_PROJECT_KEY`). The DSN for any Sentry SDK is `https://BUGSINK_PROJECT_KEY@/1`. The REST API takes `Authorization: Bearer BUGSINK_API_TOKEN`.
- Health: `GET /health/ready` returns 200 with no credentials

```bash
# run with BASE_URL, BUGSINK_PROJECT_KEY and BUGSINK_API_TOKEN set; needs curl
curl -s -o /dev/null -w 'health %{http_code}\n' "$BASE_URL/health/ready"
curl -s -o /dev/null -w 'anonymous %{http_code}\n' "$BASE_URL/api/canonical/0/projects/"
curl -fsS -X POST "$BASE_URL/api/1/store/" \
  -H "X-Sentry-Auth: Sentry sentry_version=7, sentry_key=$BUGSINK_PROJECT_KEY, sentry_client=curl/1.0" \
  -H 'Content-Type: application/json' \
  -d '{"message":"agent contract test","level":"error","platform":"other"}' -o /dev/null -w 'send event %{http_code}\n'
sleep 5
curl -fsS -H "Authorization: Bearer $BUGSINK_API_TOKEN" "$BASE_URL/api/canonical/0/issues/?project=1" | grep -o '"calculated_value":"agent contract test"'
```

A fresh deploy prints `health 200`, `anonymous 401`, `send event 200` and `"calculated_value":"agent contract test"`. Point any Sentry SDK at the DSN above, or open `BASE_URL` and sign in with the admin email and password.

## Why Deploy Bugsink on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Bugsink on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

- **Agent-ready** - generated admin password, DSN key and API token that work on first boot, a contract block and one working script; no setup step.
- **Stable credentials** - the password, DSN and token are the same after every redeploy.
- **State survives redeploys** - issues and events live in SQLite on a volume at `/data`.
- **Single container** - no Postgres, Redis or Kafka to run.
- **Pinned image** - the image is pinned by digest, so a redeploy never changes the server version underneath you.

## Common Use Cases

- **Self-hosted Sentry alternative** - collect exceptions from web apps, workers and scripts with the standard Sentry SDKs.
- **Error tracking for side projects and small teams** - a lightweight server that runs on a small Railway plan.
- **Agent-driven debugging** - let an AI agent read new issues and events through the REST API and open fixes.

## Dependencies for Bugsink Hosting

- A volume at `/data` for the SQLite database (included in this template).

### Deployment Dependencies

- [bugsink/bugsink](https://github.com/bugsink/bugsink) - upstream project
- [Bugsink documentation](https://www.bugsink.com/docs/) - SDK setup and API reference


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/bugsink-or-just-updated-sentry-compatibl
