Patchies server is the server component for Patchies.app.
What does the server do?
- Stores sandboxes
- Uses SQLite database to store patches
- Allows use of RFC 6902 JSON Patch to update patches
- Facilitates live collaboration and real-time edits
- perform conflict resolution for multiplayer usage
- provides WebSocket endpoints
- or act as a STUN, TURN or PartyKit server
- Execute code remotely, safely and securely.
- e.g. WebAssembly, sandboxed Python.
- Act as a proxy to talk to external servers
- Execute subgraphs remotely
- given a patchies sub-patch, it should be able to execute
- similar to N8N
Design Goals
- Fully optional and opt-in.
- Patchies will run in offline singleplayer mode if the server endpoint is not specified.
- Very easy to self-host.
- Should be dependency-free.
- Ideally a single binary that uses SQLite as a database, e.g.
./patchies-server
. - Should contain a single Docker command to self-host it.
Technologies