cloudimg ElectricSQL Sync on Ubuntu 24.04
بواسطة cloudimg
ElectricSQL streams live, filtered Postgres table replicas to any client over plain HTTP.
Real-time sync for Postgres, with the database already configured
ElectricSQL is a sync engine for Postgres. Rather than have clients poll, it reads the database's own logical replication stream and serves each client a shape: a filtered, column-scoped slice of a table, described by a query. A client subscribes once, receives the current snapshot, then holds an ordinary long-lived HTTP request that delivers every subsequent insert, update and delete as it is committed, each tagged with the write-ahead log position it happened at.
Because the interface is plain HTTP with real caching semantics, shapes travel through ordinary proxies and CDNs, and anything that can make a request can consume one. That is what makes it the engine underneath local-first and real-time applications: the client keeps a working copy of exactly the data it needs, without bespoke websocket plumbing or a hand-written change feed.
Electric is a sync engine, not a database, and is inert without a Postgres configured for logical replication. This image therefore bundles PostgreSQL 16 on the same VM, already set up for logical replication, with replication slots and a least-privilege role prepared. The appliance syncs the moment it boots, with nothing else to stand up.
Secure by default, because the sync API serves your data
An unauthenticated Electric is an open database, so this image never ships one. Two independent secrets are generated on your own VM at first boot, before anything is listening: an HTTP Basic credential on the reverse proxy that is the single public entry point, and Electric's own API secret, which it checks on every shape request. Both are required on every call. Nothing is baked into the image, so no two customers share either.
The engine is published to loopback only, and Postgres listens on loopback plus a host-local bridge, so neither is reachable on the VM's routable address. The image contains no database at all: the cluster is built at first boot with per-instance passwords, so the upstream default credential is never created rather than created and then rotated. Electric's own service will not start until first boot has finished writing its secrets.
What you get
- ElectricSQL sync service 1.7.8, the official upstream release pinned by digest and version-checked at runtime
- PostgreSQL 16 from the Ubuntu main package set, so the bundled database keeps receiving security updates
- A dedicated data volume holding both the database cluster and the shape storage
- A reverse proxy terminating TLS with a per-VM certificate and a per-VM credential
- A paired deployment guide and 24/7 cloudimg support
Licensing - Apache-2.0, free. ElectricSQL is Apache-2.0, and every package in its dependency lock is Apache-2.0, MIT or BSD. There is no per-shape, per-row or per-seat fee. The cloudimg charge covers packaging, security patching, image maintenance and support.
cloudimg is not affiliated with, endorsed by, or sponsored by ElectricSQL. PostgreSQL is a trademark of the PostgreSQL Community Association.