Session replay, cobrowsing and product analytics you can self-host. Ideal for reproducing issues and iterating on your product.
Find a file
Rajesh Rajendran b886e9b242
or 1940 upstream docker release with the existing installation (#3316)
* chore(docker): Adding dynamic env generator
* ci(make): Create deployment yamls
* ci(make): Generating docker envs
* change env name structure
* proper env names
* chore(docker): clickhouse
* chore(docker-compose): generate env file format
* chore(docker-compose): Adding docker-compose
* chore(docker-compose): format make
* chore(docker-compose): Update version
* chore(docker-compose): adding new secrets
* ci(make): default target
* ci(Makefile): Update common protocol
* chore(docker-compose): refactor folder structure
* ci(make): rename to docker-envs
* feat(docker): add clickhouse volume definition
Add clickhouse persistent volume to the docker-compose configuration
to ensure data is preserved between container restarts.
* refactor: move env files to docker-envs directory
Updates all environment file references in docker-compose.yaml to use a
consistent directory structure, placing them under the docker-envs/
directory for better organization.
* fix(docker): rename imagestorage to images
 The `imagestorage` service and related environment file
 have been renamed to `images` for clarity and consistency.
 This change reflects the service's purpose of handling
 images.
* feat(docker): introduce docker-compose template
 A new docker-compose template
 to generate docker-compose files from a list of services.
 The template uses helm syntax.
* fix: Properly set FILES variable in Makefile
 The FILES variable was not being set correctly in the
 Makefile due to subshell issues. This commit fixes the
 variable assignment and ensures that the variable is
 accessible in subsequent commands.
* feat: Refactor docker-compose template for local development
 This commit introduces a complete overhaul of the
 docker-compose template, switching from a helm-based
 template to a native docker-compose.yml file. This
 change simplifies local development and makes it easier
 to manage the OpenReplay stack.
 The new template includes services for:
 - PostgreSQL
 - ClickHouse
 - Redis
 - MinIO
 - Nginx
 - Caddy
 It also includes migration jobs for setting up the
 database and MinIO.
* fix(docker-compose): Add fallback empty environment
 Add an empty environment to the docker-compose template to prevent
 errors when the env_file is missing. This ensures that the
 container can start even if the environment file is not present.
* feat(docker): Add domainname and aliases to services
 This change adds the `domainname` and `aliases` attributes to each
 service in the docker-compose.yaml file. This is to ensure that
 the services can communicate with each other using their fully
 qualified domain names. Also adds shared volume and empty
 environment variables.
* update version
* chore(docker): don't pull parallel
* chore(docker-compose): proper pull
* chore(docker-compose): Update db service urls
* fix(docker-compose): clickhouse url
* chore(clickhouse): Adding clickhouse db migration
* chore(docker-compose): Adding clickhouse
* fix(tpl): variable injection
* chore(fix): compose tpl variable rendering
* chore(docker-compose): Allow override pg variable
* chore(helm): remove assist-server
* chore(helm): pg integrations
* chore(nginx): removed services
* chore(docker-compose): Mulitple aliases
* chore(docker-compose): Adding more env vars
* feat(install): Dynamically generate passwords
 dynamic password generation by
 identifying `change_me_*` entries in `common.env` and
 replacing them with random passwords. This enhances
 security and simplifies initial setup.
 The changes include:
 - Replacing hardcoded password replacements with a loop
   that iterates through all `change_me_*` entries.
 - Using `grep` to find all `change_me_*` tokens.
 - Generating a random password for each token.
 - Updating the `common.env` file with the generated
   passwords.
* chore(docker-compose): disable clickhouse password
* fix(docker-compose): clickhouse-migration
* compose: chalice env
* chore(docker-compose): overlay vars
* chore(docker): Adding ch port
* chore(docker-compose): disable clickhouse password
* fix(docker-compose): migration name
* feat(docker): skip specific values
* chore(docker-compose): define namespace
---------

Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
2025-04-23 10:57:19 +02:00
.github chore(action): cloning specific tag 2025-04-10 15:41:56 +02:00
api fix(chalice): fixes for table of requests 2025-04-22 18:04:46 +01:00
assist Assist fix canvas stream (#3261) 2025-04-03 16:14:46 +02:00
assist-server feat(assist-server): moved the build.sh script to the root 2025-04-04 15:44:19 +02:00
assist-stats chore(build): Custom docker build env 2024-03-12 17:27:49 +01:00
backend feat(go.mod): upgraded imports 2025-04-18 16:14:25 +02:00
ee feat(assist-server): fixed an issue with sessionIDs collector 2025-04-04 17:53:19 +02:00
frontend Css batching (#3326) 2025-04-22 17:59:25 +02:00
mobs feat(proto): removed a part of deprecated messages (min supported tracker version is 6.0.0) 2025-03-06 13:49:18 +01:00
networkProxy tracker: bump proxy version to .3, prevent crash on calling obscure fn on objects 2025-04-17 17:35:27 +02:00
scripts or 1940 upstream docker release with the existing installation (#3316) 2025-04-23 10:57:19 +02:00
snippet Chore(release): v1.7.0 (#578) 2022-07-07 18:44:43 +02:00
sourcemap-uploader sourcemapuploader: fix globe version 2024-11-20 09:54:35 +01:00
sourcemapreader feat(node.js): upgraded express module and node-alpine for sourcemap-reader and peers 2025-02-04 11:41:38 +01:00
spot spot: skip saas check for ingest 2025-03-25 16:52:48 +01:00
static Updated hero 2023-05-02 11:17:28 +02:00
tracker Css batching (#3326) 2025-04-22 17:59:25 +02:00
.gitignore tracker: release 16.1.0 2025-03-25 15:17:43 +01:00
.pre-commit-config.yaml Api v1.13.0 (#1310) 2023-06-07 13:19:14 +02:00
CLA.md Update CLA 2021-12-03 12:34:00 +01:00
CODE_OF_CONDUCT.md Add README 2021-04-30 21:10:39 +02:00
codecov.yml update codecov yml 2025-04-04 10:46:13 +02:00
CONTRIBUTING.md Introducing CLA 2021-10-28 19:34:11 +02:00
lefthook.yml Tn tracker android (#2289) 2024-06-21 14:57:49 +02:00
LICENSE Update date 2025-02-27 19:42:44 -05:00
README.md Added spot 2024-09-11 09:56:21 -04:00
README_AR.md Update README_AR.md 2023-11-03 19:24:35 -04:00
README_ESP.md Update README_ESP.md 2023-11-03 19:27:30 -04:00
README_FR.md Update README_FR.md 2023-11-03 19:27:16 -04:00
README_RU.md Update README_RU.md 2023-11-03 19:26:30 -04:00
SECURITY.md Add README 2021-04-30 21:10:39 +02:00
third-party.md refactor(chalice): upgraded dependencies 2025-03-20 17:13:17 +01:00
yarn.lock feat ui: dashboards redesign (#2230) 2024-06-27 19:47:34 +02:00

Français  |  Español  |  Русский  |  العربية

Session replay for developers

The most advanced session replay for building delightful web apps.

OpenReplay is an open-source session replay suite you can host yourself, that lets you see what users do on your web app, helping you troubleshoot issues faster.

  • Session replay. OpenReplay replays what users do, but not only. It also shows you what went under the hood, how your website or app behaves by capturing network activity, console logs, JS errors, store actions/state, page speed metrics, cpu/memory usage and much more.
  • Low footprint. With a ~26KB (.br) tracker that asynchronously sends minimal data for a very limited impact on performance.
  • Self-hosted. No more security compliance checks, 3rd-parties processing user data. Everything OpenReplay captures stays in your cloud for a complete control over your data.
  • Privacy controls. Fine-grained security features for sanitizing user data.
  • Easy deploy. With support of major public cloud providers (AWS, GCP, Azure, DigitalOcean).

Features

  • Session replay: Lets you relive your users' experience, see where they struggle and how it affects their behavior. Each session replay is automatically analyzed based on heuristics, for easy triage.
  • Spot: A Chrome extension that lets record bugs directly from your browser — each recording includes all the technical details developers need to fix them.
  • DevTools: It's like debugging in your own browser. OpenReplay provides you with the full context (network activity, JS errors, store actions/state and 40+ metrics) so you can instantly reproduce bugs and understand performance issues.
  • Assist: Helps you support your users by seeing their live screen and instantly hopping on call (WebRTC) with them without requiring any 3rd-party screen sharing software.
  • Omni-search: Search and filter by almost any user action/criteria, session attribute or technical event, so you can answer any question. No instrumentation required.
  • Analytics: For surfacing the most impactful issues causing conversion and revenue loss.
  • Fine-grained privacy controls: Choose what to capture, what to obscure or what to ignore so user data doesn't even reach your servers.
  • Plugins oriented: Get to the root cause even faster by tracking application state (Redux, VueX, MobX, NgRx, Pinia and Zustand) and logging GraphQL queries (Apollo, Relay) and Fetch/Axios requests.
  • Integrations: Sync your backend logs with your session replays and see what happened front-to-back. OpenReplay supports Sentry, Datadog, CloudWatch, Stackdriver, Elastic and more.

Deployment Options

OpenReplay can be deployed anywhere. Follow our step-by-step guides for deploying it on major public clouds:

OpenReplay Cloud

For those who want to simply use OpenReplay as a service, sign up for a free account on our cloud offering.

Community Support

Please refer to the official OpenReplay documentation. That should help you troubleshoot common issues. For additional help, you can reach out to us on one of these channels:

  • Slack (Connect with our engineers and community)
  • GitHub (Bug and issue reports)
  • Twitter (Product updates, Great content)
  • YouTube (How-to tutorials, past Community Calls)
  • Website chat (Talk to us)

Contributing

We're always on the lookout for contributions to OpenReplay, and we're glad you're considering it! Not sure where to start? Look for open issues, preferably those marked as good first issues.

See our Contributing Guide for more details.

Also, feel free to join our Slack to ask questions, discuss ideas or connect with our contributors.

License

This monorepo uses several licenses. See LICENSE for more details.