selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

OpenSRE logo

Self-host OpenSRE

v1.2.8

Memory-first AI SRE for automated incident investigation

ReleaseOpen SourceApache-2.0
Updatedlast week
LanguagePython
Setup difficultyAdvanced
Stars
169
CPU
4 vCPUs
RAM
8GB RAM
Ports
3000 (Web UI (Next.js admin console)), 8000 (SRE Agent API (Claude Agent SDK)), 8080 (Config Service API), 5432 (PostgreSQL database), 7474 (Neo4j HTTP/Browser interface), 7687 (Neo4j Bolt protocol), 3978 (Microsoft Teams bot), 4000 (LiteLLM proxy (optional))
Requires
Neo4j, PostgreSQL
Install with Docker Compose
OpenSRE demo thumbnail showing incident investigationOpenSRE web console dashboard

What is OpenSRE?

OpenSRE is an open-source platform that automates production incident investigation. Its AI agent uses the Claude Agent SDK to load skills dynamically and dispatch subagents that query observability tools such as Kubernetes, Prometheus, Grafana, Datadog, Elasticsearch, Splunk, Jaeger, Sentry, and PagerDuty. Each investigation is stored as an episode in Neo4j, enabling similarity-based recall for future incidents. A Neo4j knowledge graph tracks service dependencies for blast radius analysis. Deployment uses Docker Compose or a Kubernetes Helm chart, with PostgreSQL handling configuration and investigation traces, and Neo4j powering memory and the graph. The web console provides investigation views, a memory browser, and a configuration editor. Users authenticate via token or Microsoft Entra SSO. Optional Slack and Teams bots provide chat-based investigation triggers. The project is licensed under Apache 2.0.

Should you self-host OpenSRE?

OpenSRE scores 48/100 on selfhost.directory (how scoring works) and ranks #52 of 120 in AI Assistant. It has 169 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v1.2.8, came out on 12 October 2026. New versions land roughly every 3 days.

Setup is advanced: plan for several services and some ongoing maintenance. It is Apache-2.0-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is hermes-agent (89/100, 258 015 stars). It scores higher overall, so compare the two before you pick. See OpenSRE vs hermes-agent side by side.

Features

  • 51 production skills
  • Air-gapped deployment support
  • Automated Incident Investigation
  • Custom skill authoring
  • Episodic memory
  • Knowledge Graph
  • Microsoft Entra SSO
  • Microsoft Teams bot
  • Multi-agent architecture
  • Multi-Provider LLM Support
  • Progressive skill loading
  • Real-time SSE streaming
  • Slack integration
  • Web Console

OpenSRE README

How to install OpenSRE

Install OpenSRE with Docker Compose

Docker and Docker Compose
Environment variables
ANTHROPIC_API_KEY (required), plus optional integrations keys

git clone https://github.com/swapnildahiphale/OpenSRE.git cd OpenSRE cp .env.example .env

Add your ANTHROPIC_API_KEY to .env

make dev

Requires Docker Desktop or equivalent. Starts Postgres, config-service, Neo4j, sre-agent, and web console. Web UI at http://localhost:3002

How to configure OpenSRE

  • ADMIN_TOKENlocal-admin-tokenAdmin token for web UI

    Admin token for web UI

  • ANTHROPIC_API_KEYDirect Anthropic API key — the agent runtime calls Anthropic by default

    Direct Anthropic API key — the agent runtime calls Anthropic by default

  • ANTHROPIC_MODELclaude-sonnet-4-6Root agent model (default: a current Claude Sonnet)

    Root agent model (default: a current Claude Sonnet)

  • ARGOCD_SERVERArgo CD server URL

    Argo CD server URL

  • AWS_DEFAULT_REGIONus-west-2AWS default region

    AWS default region

  • AWS_PROFILEdefaultAWS profile for boto3 skill scripts

    AWS profile for boto3 skill scripts

  • CONFIG_MODElocalConfiguration mode (local enables YAML-based config)

    Configuration mode (local enables YAML-based config)

  • DATADOG_API_KEYDatadog API key

    Datadog API key

  • DATADOG_APP_KEYDatadog application key

    Datadog application key

  • GITHUB_TOKENGitHub personal access token

    GitHub personal access token

  • GRAFANA_API_KEYGrafana API key

    Grafana API key

  • GRAFANA_URLGrafana URL

    Grafana URL

  • JENKINS_LEGACY_BASE_URLJenkins legacy base URL

    Jenkins legacy base URL

  • JIRA_API_TOKENJira API token

    Jira API token

  • JIRA_EMAILJira email (Cloud only)

    Jira email (Cloud only)

  • JIRA_URLJira URL (Cloud or Data Center)

    Jira URL (Cloud or Data Center)

  • JWT_SECRETlocal-dev-jwt-secret-change-in-prodJWT secret for sandbox credential-proxy authentication

    JWT secret for sandbox credential-proxy authentication

  • MEMORY_LLM_MODELclaude-haiku-4-5-20251001Faster/cheaper model used for memory extraction (default: a Claude Haiku model)

    Faster/cheaper model used for memory extraction (default: a Claude Haiku model)

  • NEO4J_PASSWORDlocaldevNeo4j password

    Neo4j password

  • NEO4J_URIbolt://localhost:7688Neo4j connection URI (in-network default when using make dev)

    Neo4j connection URI (in-network default when using make dev)

  • NEO4J_USERNAMEneo4jNeo4j username

    Neo4j username

  • OPENROUTER_API_KEYOnly needed if you opt into the LiteLLM proxy to route through OpenRouter or another provider

    Only needed if you opt into the LiteLLM proxy to route through OpenRouter or another provider

  • PROMETHEUS_URLPrometheus URL

    Prometheus URL

  • SLACK_APP_TOKENSlack app token (xapp-...) for Socket Mode

    Slack app token (xapp-...) for Socket Mode

  • SLACK_BOT_TOKENSlack bot token (xoxb-...)

    Slack bot token (xoxb-...)

  • SSO_CLIENT_SECRETEntra/OIDC client secret on config-service (env only)

    Entra/OIDC client secret on config-service (env only)

  • TEAMS_APP_IDMicrosoft Teams app ID

    Microsoft Teams app ID

  • TEAMS_APP_PASSWORDMicrosoft Teams app password

    Microsoft Teams app password

  • TEAMS_TENANT_IDMicrosoft Teams tenant ID

    Microsoft Teams tenant ID

  • TOKEN_PEPPERlocaldev-pepper-must-be-32-chars-minimum!!Token pepper for config-service (must be 32 chars minimum)

    Token pepper for config-service (must be 32 chars minimum)

  • WEB_UI_PUBLIC_BASE_URLhttp://localhost:3002Public origin used as the Entra redirect_uri

    Public origin used as the Entra redirect_uri

  • WEB_UI_SSO_ORG_IDlocalOrg id for the web-console Entra SSO button

    Org id for the web-console Entra SSO button

OpenSRE releases & version history

FAQ

What infrastructure does OpenSRE.in need?

OpenSRE.in requires Docker and Docker Compose for local development. In production, it runs on Kubernetes via a Helm chart. Core dependencies are PostgreSQL, Neo4j, and LiteLLM. A small setup runs on 4 vCPUs and 8GB RAM.

How do I set up OpenSRE.in?

Clone the repository, create a .env file with your OPENROUTER_API_KEY, and run make dev. This starts all services including PostgreSQL, Neo4j, the sre-agent, and the web console at http://localhost:3002.

Can OpenSRE.in replace our on-call rotation?

OpenSRE.in augments on-call engineers, not replaces them. It handles the investigation phase autonomously; the on-call engineer validates findings and implements fixes.

What's the cost of running OpenSRE.in?

OpenSRE.in itself is free and open-source. The main costs are infrastructure (PostgreSQL, Neo4j, agent services) and LLM API usage.

Is OpenSRE.in production-ready?

OpenSRE.in is actively used in production environments, runs as Docker Compose services or Kubernetes via Helm chart, and has been tested with real production incident investigation scenarios.

How is OpenSRE.in different from PagerDuty AI or Rootly AI?

OpenSRE.in is open-source (Apache 2.0) and self-hosted, while PagerDuty and Rootly are commercial SaaS. Key differentiators are memory (learns from every incident) and Neo4j knowledge graph (maps service topology for blast radius analysis).

How does OpenSRE.in reduce MTTR?

OpenSRE.in automates the investigation phase — gathering context, forming hypotheses, querying tools — starting the moment an alert fires and running multiple investigation threads in parallel.

How does OpenSRE.in connect to my observability stack?

OpenSRE.in connects via integration configuration in litellm_config.yaml and the config-service. Each integration has a URL and credentials. Agents query these directly during investigations.

Can I add custom investigation skills?

Yes, skills are defined as directories in .claude/skills/ with a SKILL.md describing tools and context, plus executable scripts. Any tool your engineers use can become an investigation skill.

What integrations are supported?

OpenSRE.in integrates with Kubernetes, Prometheus, Grafana, Datadog, New Relic, Elastic/ELK, Splunk, Jaeger, Sentry, PagerDuty, OpsGenie, Slack, GitHub, Confluence, and LLM providers via LiteLLM.

There are two projects named OpenSRE.in — which one is this?

This is OpenSRE.in — the memory-first AI SRE, a self-hosted team platform with team memory, knowledge graph, web console, and Slack/Teams entry points. It is not affiliated with Tracer's OpenSRE at opensre.com.

More in DevOps

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…