supabase / realtime
git clone https://github.com/supabase/realtime.git
v2.146.0 · 2d ago
🔥 on GitHub Trending today
Broadcast, Presence, and Postgres Changes via WebSockets
+1
stars, 24h · #7,716
+~7
stars, 7 days · #8,367
+37
stars, 30 days · #13,170
7.7k
★ total · +0% this week
477
forks · 90 open issues
Star history (as recorded here)
LanguageElixir
LicenseApache-2.0
Created2019-09-23 (7y ago)
Last pushtoday
Watchers110
OwnerOrganization
Seen on GitHub Trending
- 2026-10-22 — #2 monthly in elixir · +37 ★
- 2026-10-21 — #2 monthly in elixir · +37 ★
- 2026-10-20 — #2 monthly in elixir · +37 ★
GitHub topics
cdcchange-data-capturecrdtdistributed-systemselixirphoenixphoenix-frameworkpostgrespostgresqlpubsubrealtime
Links
- GitHub: github.com/supabase/realtime
- Homepage: https://supabase.com/realtime
- Releases · Issues · Hacker News mentions
README excerpt
Supabase Realtime Send ephemeral messages, track and synchronize shared state, and listen to Postgres changes all over WebSockets. Examples · Request Features · Report Bugs ## Status | Features | v1 | v2 | Status | | ---------------- | --- | --- | ------ | | Postgres Changes | ✔ | ✔ | GA | | Broadcast | | ✔ | GA | | Presence | | ✔ | GA | This repository focuses on version 2 but you can still access the previous version's code and Docker image. For the latest Docker images go to https://hub.docker.com/r/supabase/realtime. The codebase is under heavy development and the documentation is constantly evolving. Give it a try and let us know what you think by creating an issue. Watch releases of this repo to get notified of updates. And give us a star if you like it! ## Overview ### What is this? This is a server built with Elixir using the Phoenix Framework that enables the following functionality: - Broadcast: Send ephemeral messages from client to clients with low latency. - Presence: Track and synchronize shared state between clients. - Postgres Changes: Listen to Postgres database changes and send them to authorized clients. For a more detailed overview head over to Realtime guides. ### Does this server guarantee message delivery? The server does not guarantee that every message will be delivered to your clients so keep that in mind as you're using Realtime. ## Quick start You can check out the Supabase UI Library Realtime components and the repository of the multiplayer.dev demo app. ## Developers Start with DEVELOPERS.md for local setup, `mise` tasks, and example workflows. Once your environment is up and running, check out the following docs to customize the server and troubleshooting: - ARCHITECTURE.md - how the cluster, broadcast fan-out and Postgres Changes fit together - ENVS.md - detailed list of all environment variables - ERROR_CODES.md - list of operational codes - OBSERVABILITY_METRICS.md - monitoring information ## Postgres compatibility Versions below refer to `supabase/postgres` releases unless stated otherwise. | Tenant database | Role | Status | Notes | | ------------------------------- | ---------------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | = 15.14.1.018, 16.x, 17.x | `supabase_admin` | Supported | Migrations need a superuser. Tenant grants don't. supautils manages the policies. | | 17.x-orioledb = 17.11.0.004 | `supabase_admin` | Supported | Migrations need a superuser. | | Multigres | `supabase_admin` | Supported | Only Postgres >= 17.x and every commit waits for a standby. | ## Contributing See CONTRIBUTING.md ## Code of Conduct See supabase/CODE_OF_CONDUCT.md ## License This repo is licensed under Apache 2.0. ## Credits - Phoenix - `Realtime` server is built with the amazing Elix