Now in Beta

The social layer
for your community

Open Source Community Infrastructure

Private, self-governed communities — comments, feeds, reactions, follows, and end-to-end encrypted chat for any React or React Native app.

Open source and self-hostable, with moderation and stewardship built in — and 1:1 compatible with the open source Replyke (now Sublay) SDK.

Why Agora exists

Private communities, not platforms

Agora is the architecture for building private communities. It scales with the ambition of the room — drop a comment thread onto a blog today, stand up a full social network with feeds, spaces, follows, and encrypted chat tomorrow. Same primitives, same server, whether it's a dozen people or an enterprise.

Privacy and security are the foundation, not a settings page. Direct messages and group chat can be end-to-end encrypted with MLS — built so the server carries the conversation without being able to read it. That layer is not yet independently audited, and it says so on the tin. You run the infrastructure, you hold the data, and there is no third party in the middle monetizing who talks to whom.

All of it is open source. Nothing to take on faith: read the code, audit the crypto, fork it if we ever let you down. Your community sets its own rules and owns its own data — the social graph as commons, not product.

The migration away from massive social networks has already started. People are leaving feeds that were tuned to extract from them and looking for smaller rooms with their own rules. Agora is built for what comes next — communities that govern themselves and are measured by whether they're healthy, not by how long they hold attention. Moderation, stewardship, and restorative conflict resolution ship in the box.

Reference implementation

See everything Agora can do

The full reference implementation puts the entire stack in one place — feeds, reactions, follows, spaces, end-to-end encrypted chat, governance, and admin — wired up exactly as you'd build it. Come explore it, and join the community building on Agora.

The primitives

Everything social, batteries included

One SDK, your backend. Compose the primitives you need and skip the ones you don’t.

Threaded comments

From deeply nested Reddit-style threads to a simple flat list — you choose how deep the conversation goes.

Reactions & votes

An eight-reaction taxonomy — up/down votes, like, love, wow — counted atomically in real time.

Ranked feeds

Posts and articles with eight ranking algorithms: hot, top, new, controversial, decay, gravity, Wilson, Bayesian.

Follows & spaces

One-way follows, a friend-request state machine, mentions, and members-only spaces.

Encrypted realtime chat

1:1, group, and space chat over socket.io — plus an end-to-end encrypted mode (MLS, unaudited) built so the server can’t read it.

Notifications

Fan-out notifications and saved collections, wired to replies, reactions, mentions, and follows.

Governance

Governance, built in — not bolted on

Most backends hand you primitives and leave moderation to you. Agora ships content moderation and a distinct conflict-resolution layer, enforced at the trust boundary.

AI-assisted moderation

An always-on AI moderator with humans in the loop.

  • Model-assisted AI moderation on every new post, comment, and message
  • Configurable violation categories, confidence thresholds, and auto-actions
  • Human review queues with AI confidence scores surfaced inline
  • Server-enforced removal — hidden from lists, single reads, and search

Stewardship

Transformative-justice conflict resolution for people, not just content.

  • A steward role between member and operator, scoped to its caseload
  • Cases move open → in mediation → closed — restorative, never punitive
  • Power-aware handling that flags targeting and pile-ons
  • Private 1:1 or joint mediation channels, with repair before removal

The admin dashboard

Operate it all from one console: moderation and AI-flag queues, stewardship caseloads, feed-ranking tuning, webhook config, and project-health and usage analytics.

Open the dashboard

Secure chat

End-to-end encrypted chat.
Built so the server can’t read a word.

1:1, group, and space conversations encrypted on the client with MLS. Agora relays ciphertext and nothing else — privacy by architecture, not policy.

Status: unaudited

Secure Chat implements MLS (RFC 9420) via ts-mls. Neither ts-mls nor Agora’s integration around it has received an independent security audit. The design is documented and the server stores only ciphertext — but design intent is not the same as verified implementation. Do not rely on Secure Chat where compromise would put someone at risk. Independent cryptographic review is explicitly welcome.

Standards-based MLS

Group end-to-end encryption over MLS (RFC 9420) — the IETF standard, not a homegrown scheme.

A blind server

The delivery service stores and relays only opaque ciphertext. RLS deny-all on every secure table.

Multi-device

Devices are MLS leaves added and removed by key package — no shared secrets to copy around.

Server-blind history restore

Recover history via passphrase-encrypted backup or device-to-device — both invisible to the server.

what the server stores

// message row, as persisted

ciphertext: "g7Yx2pР+kQ9fZ1mАpL0vНtR8sХeWn...

...Jb4dК6yГ3oUaЗ7iМcVfН2qР9tЫxZ=="

epoch: 142, sender: leaf_3

// no plaintext. no keys.

Thread.tsx
import { useComments } from '@agora-sdk/react-js';

export function Thread({ entityId }) {
  const { comments, postComment } = useComments({
    entityId,
    sort: 'top',
  });

  return <CommentList
    items={comments}
    onReply={postComment} />;
}

Developer experience

Easily drop comments into your stack

TypeScript-first, headless SDKs for React, React Native, and Expo — with secure native token storage on mobile. Point them at your server and start shipping.

~150 typed hooks

Feed, comments, chat, spaces, auth, search, collections — fully typed, end to end.

Headless by design

Bring your own UI. The same TypeScript types flow from the database to your components.

Replyke-compatible

1:1 with the Replyke SDK — repoint one env var and your existing code just works.

Build with an AI agent that knows Agora

Install the agora plugin for Claude Code, then just describe what you need — “add a comment section with @agora-sdk/expo,” “configure the selfhost profile,” “deploy behind Caddy,” “bootstrap an admin operator.” Dedicated skills for the SDK, server config, deployment, and admin write it correctly.

/plugin marketplace add agora-oss-org/agora-plugins

/plugin install agora@agora-plugins

Documented down to the endpoint

Extensive, current server documentation covers every surface — a full REST contract, data models, the secure-chat & MLS spec, the security model, and more. Your team (and your agents) never have to guess.

From comments to a full social network

A comment thread is the lowest tier. From there, Agora scales all the way up to a complete social platform — feeds, reactions, follows, spaces, and end-to-end encrypted chat — and everything in between. Ship one primitive or the whole stack.

Open source — build it with us

Agora is developed in the open, and we welcome contributors at every experience level and across every kind of work — code, docs, design, testing, translation, and triage. Whether it’s your first pull request or your thousandth, there’s a place for you.

And help steer where it goes — join the conversation about Agora’s future and get involved in its long-term success.

…and self-host Agora in three commands

One Docker Compose stack brings up Postgres, object storage, the API, the admin dashboard, and a demo React web app behind Caddy with automatic HTTPS — plain HTTP on port 80 too. Pick a profile and go.

--profile selfhost runs everything locally (Postgres + MinIO + native auth). Prefer managed? Swap in --profile supabase, set your env vars, and get hosted Postgres, Auth, and Storage. Just want to look around? Explore the reference demo — a seeded sample community running live.

~/agora
$ git clone https://github.com/agora-oss-org/agora-server
$ cd agora-server
$ docker compose --profile selfhost --profile demo up -d

✓ postgres   ✓ minio   ✓ api
✓ admin      ✓ caddy  (auto-HTTPS)
✓ demo       (full sample community web app)
# your community backend is live →

And more

A whole platform underneath

The infrastructure you’d otherwise stitch together yourself — already wired in.

Semantic search

Vector search over entities, comments, and messages with Voyage embeddings + pgvector.

RAG “/ask”

Grounded answers from your community’s content, streamed with sources via AI.

Pluggable storage

Supabase Storage or any S3-compatible backend, with sharp-powered image variants.

Flexible auth

Email/password, OAuth, or external RS256 JWT — with rotating, reuse-detecting tokens.

Realtime

Socket.io rooms for messages, reactions, typing, presence, and member events.

Webhooks

HMAC-signed validate + complete events your app can veto or react to.

Rate limiting

Pluggable in-memory or Redis limiter, stricter on auth, spoof-resistant IP reads.

Observability

Structured pino logs and OpenTelemetry spans across every request — export traces to your collector of choice.

Self-hosted & open source

Your community. Your servers. Your data.

Agora is open-source community infrastructure that you own outright — the full backend in your possession, your data under your control, and no platform between you and your members.

AGPL-3.0, fully open

The entire backend is open source under copyleft — not ‘source-available’, not a trial.

Bring your own backend

Run it on your infrastructure. Your members’ data never leaves your servers.

Supabase or fully local

Docker Compose profiles for managed Supabase or a self-contained Postgres + MinIO stack.

No vendor lock-in

Pluggable auth and storage, with the server as the single trust boundary.

Ship community features this week

Install the SDK, wire your backend, and render your first feed in minutes.

Live demo

Comments

The thread below is a real Agora comment section — the same open-source SDK you’d ship. It does everything from simple flat comments to the Reddit-style threads you’re looking at now: nested replies, voting, reactions. Agora SDK, running on Agora Server.