Evolu Server
Evolu Server provides sync and backup for Evolu clients. While it's technically possible to sync and backup Evolu devices among themselves (P2P), it's not practical because devices are often offline and geographically close. Backups should be stored in locations that are geographically distant from each other to ensure protection against localized disasters.
Evolu Server is a simple message buffer and storage generic (the same) for all Evolu apps. Only UserId, NodeId, and messages timestamps are visible. Everything else is encrypted.
Evolu server is open-sourced (opens in a new tab), and anyone can easily run their own. The core logic is a SQL database and web framework agnostic, so it's highly portable.
We provide a free evolu.world
server built on the Cloudflare Workers and D1
database for testing and personal usage. Our super secret master plan on how
to make money on that is simple: We will sell hardware.
Running the server
Currently the easiest solution to run Evolu server would be to use the docker image:
- Pull the docker image
docker pull evoluhq/evolu:main
- Create an empty sqlite file for mounting the database
touch db.sqlite
- startup the evolu server on
port
4000
andmount
database file on./db.sqlite
that we created previously
docker run --name evolu -p 4000:4000 -v $(pwd)/db.sqlite:/home/node/app/apps/server/db.sqlite -d evoluhq/evolu:main