A multiplayer file system
71
stars
870
commits
JavaScript
primary language
Aug 8, 2026
updated
A multiplayer file system. All files synced realtime, offline-ready. Use apps for each file types. Make your own apps on the platform. Access control per-file.
git clone https://github.com/garden/tree
cd tree
mkdir -p admin/private; cp env.json admin/private/ # See admin/README.md
# For development:
make start
open http://[::1]:1234
# For production:
make install
tail -f admin/log/tree.log # to see errors.
sudo systemctl restart tree # when you need to restart the server.
PUT / (content is body)MKCOL /GET / (show in default browser app)GET /?app=data (raw, optional header Depth:3 for folder; TODO slice)GET /?app=metadata Content-Type:multipart/form-data (JSON)PUT /POST /?op=appendPATCH //?op=edit&app=text (TODO json, dir)PUT /?app=metadata Content-Type:application/json (TODO: PATCH /)POST /?op=append&content Content-Type:multipart/form-dataCOPY /from Destination:/to Overwrite:TMOVE /from Destination:/to Overwrite:FPOST /?op=shell&cmd=make&keep=a.out (stdin is body, stdout is result, unless websocket)DELETE /APP_AUTHThis project is covered by the GNU General Public License (version 2) and contains code from:
JavaScript
86.3%
Shell
7.3%
Makefile
4.9%
Dockerfile
1.6%
A multiplayer file system
71
stars
870
commits
JavaScript
primary language
Aug 8, 2026
updated
A multiplayer file system. All files synced realtime, offline-ready. Use apps for each file types. Make your own apps on the platform. Access control per-file.
git clone https://github.com/garden/tree
cd tree
mkdir -p admin/private; cp env.json admin/private/ # See admin/README.md
# For development:
make start
open http://[::1]:1234
# For production:
make install
tail -f admin/log/tree.log # to see errors.
sudo systemctl restart tree # when you need to restart the server.
PUT / (content is body)MKCOL /GET / (show in default browser app)GET /?app=data (raw, optional header Depth:3 for folder; TODO slice)GET /?app=metadata Content-Type:multipart/form-data (JSON)PUT /POST /?op=appendPATCH //?op=edit&app=text (TODO json, dir)PUT /?app=metadata Content-Type:application/json (TODO: PATCH /)POST /?op=append&content Content-Type:multipart/form-dataCOPY /from Destination:/to Overwrite:TMOVE /from Destination:/to Overwrite:FPOST /?op=shell&cmd=make&keep=a.out (stdin is body, stdout is result, unless websocket)DELETE /APP_AUTHThis project is covered by the GNU General Public License (version 2) and contains code from:
JavaScript
86.3%
Shell
7.3%
Makefile
4.9%
Dockerfile
1.6%