Compare

Foony vs Soketi

Soketi made self-hosted Pusher hosting cheap. Its stalled maintenance is the real story this comparison has to tell.

Soketi is an open source Pusher-protocol server on uWebSockets.js, and at its peak it was the best answer for self-hosting Pusher workloads. The protocol overlap with Foony makes switching trivial in either direction. The honest headline in 2026 is maintenance: Soketi’s last release shipped in March 2024 and it still requires an old Node.

When Foony fits

  • A maintained platform. Soketi’s last release was March 2024, the pull request adding Node 20 support has been open since January 2024, and its own issue tracker hosts an unanswered "Is Soketi maintained?" thread.
  • No Node 16 pin: Soketi’s bundled uWebSockets.js build keeps it on end-of-life Node versions.
  • History, ordering, and exactly once semantics via the native SDKs, beyond what the Pusher protocol offers.
  • No AGPL conversation with your legal team.

When Soketi fits

  • Strict self-hosting or data residency requirements, at the cost of adopting a dormant dependency (or one of its community rewrites).
  • Pusher webhooks and encrypted channels: Soketi implements both, Foony’s Pusher layer implements neither yet.
  • Per-app rate limits and multi-tenancy with SQL-backed app management.

Platform

FoonySoketi
MaintenanceActively developed, hostedLast release March 2024, Node 20 PR open since January 2024
RuntimeNothing to runNode LTS 14/16 process, Supervisor, Redis or NATS to scale
LicenseHosted serviceAGPL-3.0
Pusher webhooksNot yetYes, including filtering and Lambda targets
Message size64 KB free, up to 1 MB on paid plans100 KB default, configurable
History and guaranteesAvailable via the native SDKsNot part of the protocol

Cost

FoonySoketi
SoftwareFree tier, then plans from $19/monthFree (AGPL)
What you pay forMessagesA VPS and the ops time, cheap while it stays small

Competitor numbers last checked July 2026. If something has drifted, tell us and we will fix it.

Moving over

Soketi and Foony speak the same protocol, so moving is credentials and a host name. The same Echo or pusher-js config that pointed at your Soketi box points at Foony:

PUSHER_HOST=realtime.foony.io
PUSHER_PORT=443
PUSHER_SCHEME=https
PUSHER_APP_ID=your-app-slug
PUSHER_APP_KEY=kid_yourkeyid
PUSHER_APP_SECRET=your-key-secret

Try it on the free tier

9M messages a month, presence, history, and the Pusher-compatible API are all on the free plan. No card required.