UNPKG

json-crdt-server

Version:

JSON CRDT server and syncing local-first browser client

61 lines (40 loc) 1.22 kB
# JSON CRDT Server Implementation of JSON CRDT HTTP/Websocket server with persistent on disk or in-memory storage. ## Configuration Environment variables: - `PORT` - port number to listen on, default is 9999. - `NODE_ENV` - environment, set it to "production" in production. - `JSON_CRDT_STORE` - storage backend, set it to "level" to use LevelDB. - `JSON_CRDT_STORE_PATH` - folder to store data on the disk, default is `./db`. ## Start the server Run the server without installation: ``` npx json-crdt-server ``` Specify the port number: ``` PORT=8080 npx json-crdt-server ``` Also, run in "production" mode and use "level" as the storage backend to persist content on disk: ``` NODE_ENV=production JSON_CRDT_STORE=level npx json-crdt-server ``` Or, if you git cloned the repository: ``` yarn build NODE_ENV=production \ PORT=8080 \ JSON_CRDT_STORE=level \ npx pm2 start lib/main.js \ --exp-backoff-restart-delay=100 ``` Test that server is running, execute JSON-RPC 2.0 request: ``` curl localhost:8080/rpc -H 'Content-Type: rpc.json2.verbose.json' -d '{"method": "util.ping", "id": 1}' ``` Or, execute equivalent JSON Reactive RPC request: ``` curl localhost:8080/rpc -d '[1,1,"util.ping"]' ```