On this page
Overview
OpenReplay replays web application sessions together with console output, network activity, state, and performance context. Self-hosting lets an organization control where recordings live and who can access them.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
What it provides
A web tracker captures interface changes and technical context for replay, developer tools, product analytics, and cobrowsing. The pinned release includes Docker Compose and Helm definitions whose required variables and environment files can be inspected before deployment.
Best fit
Where it fits
It fits teams investigating hard-to-reproduce interface issues from user actions and technical context, especially when recordings must stay in organizational infrastructure. The pinned example checks only the variables and environment files referenced by the included Compose definition.
Before adoption
What to check before adoption
Mask or exclude inputs, payloads, and personal data before recording, and define retention, access, and deletion handling. Official docs state a baseline of 2 vCPUs, 8 GB RAM, and 50 GB storage. Parsing configuration does not prove operation. GitHub reports NOASSERTION, so review the pinned LICENSE scope.
Official sources
- [1]openreplay/openreplay README at v1.28.0(2026-10-05)
- [2]OpenReplay official documentation(2026-10-05)
- [3]OpenReplay v1.28.0 source(2026-10-05)
- [4]openreplay/openreplay LICENSE at v1.28.0(2026-10-05)
- [5]openreplay/openreplay GitHub metadata(2026-10-05)
Supplemental curator note
It fits teams debugging difficult web issues from recordings held in their own infrastructure. First inspect the pinned Compose service configuration, then define masking, retention, and access before deployment.
Try it in 3 steps
- 1
Fetch the pinned Docker setup
Requires Git, ripgrep, and the standard sort, diff, and find tools. Clone OpenReplay v1.28.0 into a temporary area and enter scripts/docker-compose.
demo=$(mktemp -d "${TMPDIR:-/tmp}/openreplay-config.XXXXXX") && cd "$demo" && git clone --depth 1 --branch v1.28.0 https://github.com/openreplay/openreplay.git && cd openreplay/scripts/docker-compose - 2
Extract required configuration variables
Extract the 23 variables referenced by Compose and prepare the list observed in the pinned source. No values or secrets are written.
rg -o '\$\{[A-Z0-9_]+\}' docker-compose.yaml | tr -d '$' | tr -d '{}' | sort -u > required-vars.txt && printf '%s\n' 'ALERTS_VERSION' 'API_VERSION' 'ASSETS_VERSION' 'ASSIST_VERSION' 'CADDY_DOMAIN' 'CANVASES_VERSION' 'CHALICE_VERSION' 'CLICKHOUSE_VERSION' 'COMMON_PG_PASSWORD' 'COMMON_S3_KEY' 'COMMON_S3_SECRET' 'DB_VERSION' 'ENDER_VERSION' 'FRONTEND_VERSION' 'HTTP_VERSION' 'IMAGES_VERSION' 'MINIO_VERSION' 'POSTGRES_VERSION' 'REDIS_VERSION' 'SINK_VERSION' 'SOURCEMAPREADER_VERSION' 'SPOT_VERSION' 'STORAGE_VERSION' > expected-vars.txt - 3
Check the pinned source contract
Require an exact variable match, 14 included environment files, and representative api and storage references. This creates no containers or volumes.
diff -u expected-vars.txt required-vars.txt && test "$(find docker-envs -type f -name '*.env' | wc -l | tr -d ' ')" = 14 && rg -q 'docker-envs/api.env' docker-compose.yaml && rg -q 'docker-envs/storage.env' docker-compose.yaml
Growth
Growth trends · Last 30 days
12,942 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 131
- Open PRs
- 50
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- session-replay
- react
- javascript
- analytics
- angular
- devtools
- feature-flags
- real-user-monitoring
- typescript
- vue
- web-vitals
- nextjs
- Stars
- 12,942
- Forks
- 860
- Watchers
- 86
- Open issues
- 135
- Contributors
- 72
- Owner type
- Organization
- Primary language
- TypeScript
- License
- Not determined
- Repository last updated
- Oct 3, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Grafana77,080 Stars
2 shared tag(s) · 1 shared category(s) · Same language
Query metrics, logs, and traces from multiple data sources and combine them into dashboards, Explore, and alerting
TypeScript - Langfuse35,357 Stars
2 shared tag(s) · 1 shared category(s) · Same language
connect LLM application tracing, evaluation, and prompt improvement
TypeScript - SigNoz32,279 Stars
2 shared tag(s) · 1 shared category(s) · Same language
correlate logs, metrics, and traces in one OpenTelemetry-native workspace
TypeScript - Kibana21,306 Stars
2 shared tag(s) · 1 shared category(s) · Same language
the interface for querying, visualizing, and operating Elasticsearch data
TypeScript - Portkey AI Gateway13,127 Stars
2 shared tag(s) · 1 shared category(s) · Same language
route multiple LLM providers through one API with retries, fallbacks, load balancing, and guardrails
TypeScript - HyperDX9,929 Stars
2 shared tag(s) · 1 shared category(s) · Same language
connect logs, metrics, traces, and session replay on ClickHouse
TypeScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.