January 29, 20224 yr This docker template was created based on an already available docker image GitHub: https://github.com/ekzhang/rustpad DockerHub: https://hub.docker.com/r/ekzhang/rustpad My Repository: https://github.com/SmartPhoneLover/unraid-docker-templates DESCRIPTION Rustpad is an efficient and minimal open-source collaborative text editor based on the operational transformation algorithm. It lets users collaborate in real time while writing code in their browser. Rustpad is completely self-hosted and no database is required. The server is written in Rust using the warp web server framework and the operational-transform library. We use wasm-bindgen to compile text operation logic to WebAssembly code, which runs in the browser. The frontend is written in TypeScript using React and interfaces with Monaco, the text editor that powers VS Code. Architecturally, client-side code communicates via WebSocket with a central server that stores in-memory data structures. This makes the editor very fast, allows us to avoid provisioning a database, and makes testing much easier. The tradeoff is that documents are transient and lost between server restarts, after 24 hours of inactivity or any other given time in days. Live demo: https://rustpad.io/ NOTES • If you want the data to be persistent in case of service restart, create the '/.../appdata/rustpad' dir, and place the DB file located on my GitHub repo: 'https://github.com/SmartPhoneLover/unraid-docker-templates/raw/main/templates/dependencies/rustpad/rustpad_db.zip', before building the container. Or, you can create your own SQLite DB file if you prefer (empty, no tables nor columns). • If you don't want the data to be persistent in case of service restart, just delete 'SQLITE_URI' and 'Storage (database)' settings from this template. • The container was and stills being originally designed to be non-persistent (data) after service restart or after a given time, so all information that the user could enter through its interface will be treated as volatile. But, it supports the use of SQLite DB to allow it to retain data in case of service restart (only). VERSION 1.0 (2022-01-29) If you are going to report a bug or request something to be added/modified, please, take into consideration that I will only be able to apply changes for the work I own only. For example, if I create a docker template for an already existing docker image (not created by me), I won't be able to do more for that image than forward your report or request to the owner of the project. If you like my work, please consider making a little donation. - DONATE - Thank you very much 🙂
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.