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.

Rejourney logo

Self-host Rejourney

unity-v0.1.2

Product analytics with session replay for web and mobile

BetaOpen CoreOther
Updated5 days ago
LanguageTypescript
Setup difficultyAdvanced
MobileResponsive
Stars
284
CPU
4 vCPU
RAM
8 GB RAM
Storage
40 GB minimum
Ports
3000 (API server), 3001 (Ingest upload relay), 8080 (Dashboard web server)
Requires
PostgreSQL, Redis
Docker
ghcr.io/rejourneyco/rejourney/api
Install with Docker Compose
Session replay workbench showing user recording with console and event timelineAnalytics overview with active users by version, engagement, stability, retention, and cohortsCustom events dashboard with event counts and replay-linked user cardsRevenue impact dashboard with gross revenue, transactions, refunds, and subscribers

What is Rejourney?

Rejourney is an open-source product analytics platform that helps teams find and fix conversion issues in web and mobile applications before they impact revenue. It combines session replay with business events and technical signals like crashes, ANRs, and API errors to surface patterns worth investigating. The platform supports SDKs for web (React, Next.js, Vue, Angular, Svelte, Remix, Gatsby, Shopify), React Native, Flutter, Swift/iOS, and Unity. Key capabilities include session replay with synchronized console and network context, journey maps and heatmaps, funnel analysis with replay evidence, crash and ANR reporting with device context, API endpoint insights with latency and error breakdowns, geographic and device cohort analysis, custom event tracking, and revenue impact analytics. For self-hosting, Rejourney provides a single-node Docker Compose stack with an automated installer that handles TLS via Let's Encrypt, database migrations, and storage configuration using local object storage or external S3-compatible services. The server-side components are licensed under SSPL 1.0 while client-side SDKs use Apache 2.0. The managed cloud service offers a free tier (5,000 sessions/month) and paid plans starting at $15/month. Leaks detection and GitHub automation features are not included in the self-hosted edition.

Should you self-host Rejourney?

Rejourney scores 46/100 on selfhost.directory (how scoring works) and ranks #16 of 27 in Analytics. It has 284 GitHub stars.

It shipped 10 stable releases in the past year. The latest, unity-v0.1.2, came out on 23 October 2026.

Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is Other-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is netdata (87/100, 81 201 stars). It scores higher overall, so compare the two before you pick. See Rejourney vs netdata side by side.

Features

  • API Endpoint Insights
  • Crash and ANR Reporting
  • Custom event tracking
  • Device Insights
  • Funnel Analysis with Replay Evidence
  • Geographic Analytics
  • Heatmaps
  • Journey Maps
  • Leaks Detection (AI)Not included in self-hosted edition; depends on managed AI services
  • Multi-platform SDKs
  • Privacy Controls
  • Retention Cohorts
  • Revenue Recovery Analytics
  • Session Replay
  • Smart CaptureScale/Enterprise only in cloud; not in self-hosted

Rejourney README

How to install Rejourney

Install Rejourney with Docker Compose

Environment variables
BASE_DOMAIN, LETSENCRYPT_EMAIL, STORAGE_BACKEND, SMTP_*, JWT_SECRET, etc. (see .env.example)

git clone https://github.com/rejourneyco/rejourney.git cd rejourney ./scripts/selfhosted/deploy.sh install

Automated installer handles domain, TLS, storage choice, SMTP, and generates .env.selfhosted

How to configure Rejourney

  • DATABASE_URLPostgreSQL connection string

    PostgreSQL connection string

  • GITHUB_CLIENT_IDGitHub OAuth client ID

    GitHub OAuth client ID

  • GITHUB_CLIENT_SECRETGitHub OAuth client secret

    GitHub OAuth client secret

  • GOOGLE_CLIENT_IDGoogle OAuth client ID

    Google OAuth client ID

  • GOOGLE_CLIENT_SECRETGoogle OAuth client secret

    Google OAuth client secret

  • INGEST_HMAC_SECRETHMAC secret for ingest (generate with openssl rand -hex 32)

    HMAC secret for ingest (generate with openssl rand -hex 32)

  • JWT_SECRETJWT signing secret (generate with openssl rand -hex 32)

    JWT signing secret (generate with openssl rand -hex 32)

  • JWT_SIGNING_KEYJWT signing key (generate with openssl rand -hex 32)

    JWT signing key (generate with openssl rand -hex 32)

  • LOG_LEVELinfoLogging level

    Logging level

    values: debug, info, warn, error

  • NODE_ENVdevelopmentNode environment (development/production)

    Node environment (development/production)

    values: development, production

  • PORT3000API server port

    API server port

  • PUBLIC_API_URLPublic API URL for SDKs

    Public API URL for SDKs

  • PUBLIC_DASHBOARD_URLPublic dashboard URL for CORS and OAuth

    Public dashboard URL for CORS and OAuth

  • PUBLIC_INGEST_URLPublic ingest upload URL

    Public ingest upload URL

  • REDIS_URLRedis connection string

    Redis connection string

  • S3_ACCESS_KEY_IDS3 access key ID

    S3 access key ID

  • S3_BUCKETS3 bucket name for recordings

    S3 bucket name for recordings

  • S3_ENDPOINTS3-compatible storage endpoint

    S3-compatible storage endpoint

  • S3_PUBLIC_ENDPOINTPublic S3 endpoint for downloads

    Public S3 endpoint for downloads

  • S3_REGIONus-east-1S3 region

    S3 region

  • S3_SECRET_ACCESS_KEYS3 secret access key

    S3 secret access key

  • SELF_HOSTED_MODEtrueEnable self-hosted mode (disables some cloud features)

    Enable self-hosted mode (disables some cloud features)

    values: true, false

  • SHARE_LINK_SECRETSecret for share links (generate with openssl rand -base64 48)

    Secret for share links (generate with openssl rand -base64 48)

  • SMTP_FROMFrom address for emails

    From address for emails

  • SMTP_HOSTSMTP server host for email OTP login

    SMTP server host for email OTP login

  • SMTP_PASSSMTP password

    SMTP password

  • SMTP_PORT587SMTP server port

    SMTP server port

  • SMTP_SECUREfalseUse implicit TLS for SMTP

    Use implicit TLS for SMTP

    values: true, false

  • SMTP_USERSMTP username

    SMTP username

  • STORAGE_ENCRYPTION_KEYKey for encrypting S3 secrets in database (generate with openssl rand -hex 32)

    Key for encrypting S3 secrets in database (generate with openssl rand -hex 32)

  • STRIPE_SECRET_KEYStripe secret key for billing

    Stripe secret key for billing

  • STRIPE_WEBHOOK_SECRETStripe webhook secret

    Stripe webhook secret

  • TURNSTILE_SECRET_KEYCloudflare Turnstile secret key

    Cloudflare Turnstile secret key

  • TURNSTILE_SITE_KEYCloudflare Turnstile site key for bot protection

    Cloudflare Turnstile site key for bot protection

  • VITE_MAPBOX_TOKENMapbox token for UI maps

    Mapbox token for UI maps

Rejourney releases & version history

FAQ

What is Smart Capture, and why is it Scale/Enterprise only?

Smart Capture is an advanced collection engine where you define rules via AI prompts to capture only specific flows (checkout with errors, slow API calls, onboarding paths) to optimize session budget at high scale.

Do I pay per seat or tracked user?

No, public plans are not priced per teammate, DAU, MAU, or tracked user. Invite unlimited team members.

Do web and mobile replays cost different amounts?

No, the plans use one captured-session allowance for both web and mobile. No separate mobile replay add-on needed.

How is Rejourney different from usage-based replay pricing?

Many tools meter events, replays, errors, seats, sites, add-ons, retention, or separate packages. Rejourney anchors public plans to included monthly captured sessions with core analytics and debugging features included.

What happens when I use all included captured sessions?

New revenue evidence stops saving until the next billing cycle or upgrade. Analytics events still work but replay search, heatmaps, crash context, and fix evidence need captured sessions.

Are analytics unlimited?

Yes, DAU, MAU, and analytics events are unlimited on every plan. The paid meter is captured session volume.

More in Analytics

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…