Holster is a real-time data synchronisation service that seamlessly connects devices using Node.js, Deno, Bun or the browser. Built with modern ES modules, it features end-to-end encryption, intelligent conflict resolution, and cross-platform compatibility.
✨ Real-time sync across all connected devices
🔐 Built-in encryption with user authentication
⚡ Zero configuration with smart performance optimisation
🌐 Universal compatibility - works everywhere JavaScript runs
Try it out at holster.haza.website!
A build version of Holster is also provided using esbuild, to run in production.
Check out the Github Wiki for how to get started using the API, and for more information.
- Clone this repo
- Run
docker build -t holster .to build the image - Run
docker run -p 3000:3000 -p 8765:8765 holsterto start the server
- Run
npm install - Run the server with
node src/index.js
- Open
http://localhost:3000/examples/index.htmlin the browser. - You will then also have access to the Holster API via the
holsterobject in the console
- When modifying src files run:
npx prettier src --write && npm run build - When modifying tests run:
npx prettier test --write - To run the tests use:
npm run test