Skip to main content
OpenSRE deploys as a standard Python/FastAPI runtime. Use the repo Dockerfile, Railway, EC2, ECS, Vercel, or another ASGI-capable host.

Runtime environment

1

Deploy the app

Deploy this repository using your hosting provider’s normal app workflow.
2

Configure your model provider

Add LLM_PROVIDER as an environment variable (for example anthropic, openai, openrouter, or gemini).
3

Add the matching provider API key

Use the API key that matches your provider:
  • ANTHROPIC_API_KEY for LLM_PROVIDER=anthropic
  • OPENAI_API_KEY for LLM_PROVIDER=openai
  • OPENROUTER_API_KEY for LLM_PROVIDER=openrouter
  • DEEPSEEK_API_KEY for LLM_PROVIDER=deepseek
  • GEMINI_API_KEY for LLM_PROVIDER=gemini
4

Add integration env vars and deploy

Add any storage and integration environment variables required by your runtime, then deploy and verify health.
Minimum LLM environment example:
The complete list of provider keys and optional model overrides is documented in .env.example.

Prebuilt Docker image

Public images are published to GitHub Container Registry for every release (linux/amd64 and linux/arm64), so you can skip building from source.
TagWhat it is
ghcr.io/tracer-cloud/opensre:latestMost recent release
ghcr.io/tracer-cloud/opensre:<version>A specific release, e.g. 0.1.2026.7.8 (matches the GitHub release tag without the v)

Run local gateway

Use the built-in gateway command when you want a local HTTP server for investigations.
CommandWhat it does
uv run opensre gateway startStarts the gateway daemon in the background (web app, Telegram chat, task scheduler).
uv run opensre gateway start --foregroundRuns the gateway attached to this terminal.
uv run opensre gateway stopStops the background daemon.
uv run opensre gateway statusShows daemon and component status.
The web app binds 0.0.0.0 on the port from the PORT environment variable (default 8000). Quick local checks:
Example investigation request:
By default, /investigate (like /alerts) accepts only loopback callers. Set OPENSRE_ALERT_LISTENER_TOKEN to allow remote callers with a bearer token:

Railway deployment

Railway is still supported as a hosted runtime option. Before deploying on Railway, make sure your service has:
  • DATABASE_URI pointing to your Railway Postgres instance
  • REDIS_URI pointing to your Railway Redis instance
Then deploy the service using your Railway project workflow.