# Sockudo - [Sockudo Documentation](/docs): Build, operate, and extend Sockudo: the Rust realtime server with Pusher compatibility, Protocol V2, clustered fanout, recovery, history, push, and official SDKs. - **Start** - Getting Started - [Overview](/docs/getting-started/overview): Understand Sockudo's server, protocols, channels, SDK split, and the fastest path from local development to production. - [Installation](/docs/getting-started/installation): Run Sockudo locally or build a production binary with the right feature set. - [First connection](/docs/getting-started/first-connection): Connect a realtime client, subscribe to a channel, and publish the first event through a trusted backend. - [Authentication](/docs/getting-started/authentication): Sign private, presence, encrypted, and user authentication requests with trusted server SDKs. - [Migration](/docs/getting-started/migration): Move from Pusher Channels or Soketi to Sockudo while preserving compatibility and choosing where to adopt Protocol V2. - [Troubleshooting](/docs/getting-started/troubleshooting): Diagnose connection, authentication, publish, cluster, history, recovery, and push notification issues. - **Operate** - Deployment - [Deployment guide](/docs/deployment): Choose a Sockudo production topology, configuration strategy, and rollout path. - [Static configuration](/docs/deployment/static-configuration): Configure Sockudo with TOML or JSON, understand environment precedence, and keep secrets out of static files. - [Linux VM and bare metal](/docs/deployment/linux): Run Sockudo under systemd with correct file limits, measured kernel tuning, and a WebSocket-aware proxy. - [Docker and Compose](/docs/deployment/docker): Run Sockudo in containers with mounted configuration, correct limits, health checks, and shared backends. - [Kubernetes and Helm](/docs/deployment/kubernetes): Deploy Sockudo with production Helm values, safe probes, disruption controls, ingress, and node tuning. - [Cloud platforms](/docs/deployment/cloud-platforms): Deploy Sockudo on AWS, Google Cloud, and Azure with managed backends, WebSocket load balancing, and provider-supported node tuning. - [Capacity planning and benchmarks](/docs/deployment/capacity-planning): Size Sockudo from measured connection, fanout, memory, network, and failure budgets without benchmarking the load generator by accident. - Server - [Configuration](/docs/server/configuration): Configure apps, adapters, cache, queues, rate limits, history, recovery, webhooks, and push notifications. - [HTTP API](/docs/server/http-api): Publish events, query channels, read history, mutate messages, manage annotations, and operate push notifications. - [Realtime application patterns](/docs/server/realtime-application-patterns): Practical Sockudo patterns for public channels, private auth, presence, history, mutable messages, annotations, and scaling. - [Scaling](/docs/server/scaling): Design multi-node Sockudo deployments with shared adapters, cache, queues, recovery, and push fanout. - [Security](/docs/server/security): Secure Sockudo credentials, auth endpoints, origin policy, encrypted channels, webhooks, and push provider credentials. - [Observability](/docs/server/observability): Monitor Sockudo connections, subscriptions, publishes, fanout, history, recovery, webhooks, and push notifications. - [History and recovery](/docs/server/history-recovery): Use Protocol V2 stream continuity, replay buffers, channel history, presence history, rewind, and mutable messages. - [Indestructibility simulator](/docs/server/indestructibility-simulator): Run Sockudo's deterministic disaster simulator for durable realtime and push invariants. - [Mutable messages](/docs/server/mutable-messages): Versioned message actions, aggregation, endpoints, authorization, limits, and error behavior. - [Webhooks](/docs/server/webhooks): Deliver channel lifecycle, client event, presence, history, annotation, and push events to your backend. - [Push notifications](/docs/server/push-notifications): Configure and operate Sockudo's core push notification platform for FCM, APNs, Web Push, HMS, and WNS. - [Push operations](/docs/server/push-operations): Operate Sockudo push cleanup, metrics, backpressure, and provider outage runbooks. - [AI Transport overview](/docs/server/ai-transport-overview): How Sockudo maps AI Transport sessions onto existing V2 realtime, history, recovery, push, and presence primitives. - [Ably REST, WebSocket, and AI Transport compatibility](/docs/server/ably-ai-transport-compatibility): Sockudo's evidence-backed Ably REST and WebSocket compatibility surface, excluding Live Objects. - [AI Transport conventions](/docs/server/ai-transport-conventions): Default-off AI Transport event and extras conventions for Protocol V2. - [AI Transport providers](/docs/server/ai-transport-providers): Stream model output from Vercel AI SDK, OpenAI, Anthropic, OpenAI-compatible APIs, and custom providers through Sockudo AI Transport. - [Authentication for AI Transport](/docs/server/ai-transport-authentication): Capability tokens, claims, channel patterns, refresh, revocation, and server-authorized requests. - [Token streaming and rollup](/docs/server/token-streaming-rollup): AI Transport append rollup settings for high-rate token streams. - [Agent Presence](/docs/server/agent-presence): Track AI agent status with Protocol V2 presence updates and optional disconnect grace. - [Push notifications for AI Transport](/docs/server/ai-transport-push-notifications): Wake users when an AI agent finishes while they are away. - [Limits and quotas](/docs/server/ai-transport-limits-quotas): Canonical AI Transport, mutable-message, history, presence-history, push, and capability-token limits. - [Production checklist](/docs/server/ai-transport-production-checklist): Preflight checklist for AI Transport deployments. - [AI Transport production operations](/docs/server/ai-transport-production-ops): Runbooks, capacity formulas, alerts, chaos playbooks, and troubleshooting for AI Transport at scale. - [AI Transport troubleshooting](/docs/server/ai-transport-troubleshooting): Common AI Transport production issues and operator actions. - **Build** - Realtime Clients - [Realtime clients](/docs/clients): Choose and operate an official Sockudo realtime client for web, mobile, desktop, Python, and backend WebSocket consumers. - [JavaScript and TypeScript](/docs/clients/javascript): Use @sockudo/client in browsers, Node.js, workers, React, Vue, React Native, and NativeScript. - [Swift](/docs/clients/swift): Use SockudoSwift on iOS, macOS, tvOS, watchOS, and visionOS. - [Kotlin](/docs/clients/kotlin): Use sockudo-kotlin on Android and JVM with auth, recovery, rewind, filters, deltas, history proxies, and push registration. - [Flutter and Dart](/docs/clients/flutter): Use sockudo_flutter in Flutter apps and pure Dart runtimes. - [.NET realtime](/docs/clients/dotnet): Use Sockudo.Client for .NET realtime applications with Protocol V2, recovery, filters, deltas, and push proxy helpers. - [Python](/docs/clients/python): Use the async sockudo-python realtime client with Protocol V2, protected channels, recovery, filters, deltas, history, and encrypted payloads. - [Protocol V2](/docs/clients/protocol-v2): Use Sockudo-native realtime semantics for recovery, rewind, deltas, filters, history, annotations, and mutable messages. - [Filters and delta compression](/docs/clients/filters-delta): Reduce delivered traffic with Protocol V2 server-side tag filtering and delta reconstruction. - [Presence history](/docs/clients/presence-history): Read current presence, historical presence events, and reconstructed snapshots through trusted proxy endpoints. - Server SDKs - [Server SDKs](/docs/server-sdks): Use official Sockudo HTTP SDKs to publish, authenticate, inspect state, validate webhooks, manage history, and operate push notifications. - [Node.js](/docs/server-sdks/node): Publish events, sign auth responses, validate webhooks, read state, and manage push with the Node.js server SDK. - [Python](/docs/server-sdks/python): Use the Python sync or async SDK for publishing, auth, history, annotations, and push notifications. - [PHP](/docs/server-sdks/php): Use the PHP server SDK for Laravel-compatible publishing, auth, state, history, and push notifications. - [Ruby](/docs/server-sdks/ruby): Use the Ruby server SDK for Rails and Rack apps, including push notification workflows. - [Go](/docs/server-sdks/go): Use the Go server SDK for publishing, auth, state queries, and push notifications. - [Rust](/docs/server-sdks/rust): Use the Rust HTTP SDK to publish events, sign auth responses, manage history, annotations, and push. - [Java](/docs/server-sdks/java): Use the Java server SDK for synchronous or asynchronous publishing, auth, state queries, and push. - [.NET](/docs/server-sdks/dotnet): Use the .NET HTTP server SDK for publishing, auth, state queries, encrypted channels, and signed push requests. - [Swift](/docs/server-sdks/swift): Use the Swift HTTP server SDK to publish events, authenticate channels, validate state, and manage push. - **Reference** - Reference - [Protocol reference](/docs/reference/protocol): Compare Pusher-compatible Protocol V1 with Sockudo-native Protocol V2. - [HTTP endpoints](/docs/reference/http-endpoints): Complete Sockudo endpoint matrix for WebSocket upgrades, HTTP APIs, push notifications, health checks, stats, and metrics. - [Configuration reference](/docs/reference/configuration): Reference major Sockudo configuration sections and the deployment decisions they control. - [Environment variables](/docs/reference/environment-variables): Complete Sockudo runtime environment variable reference. - [Compatibility](/docs/reference/compatibility): Understand which Sockudo features are Pusher-compatible and which require Protocol V2 or Sockudo-native SDKs. - [Error codes](/docs/reference/errors): Interpret Sockudo HTTP, WebSocket, authentication, history, recovery, webhook, and push errors. - [Blog](/blog)