Run it.
One binary with the app built in. It starts a server, prints a URL, and waits for you to open it.
Try it now
Open the live demo A real goofi in demo mode, in its own tab. goofi-demo.kairos-hive.org →It opens in its own tab, because goofi refuses to be embedded in another page. Everyone shares that one patch, so you may find someone else's nodes already in it, and they will see yours. A restart clears it.
On your own machine
You need rustup, Node.js and uv. Everything else it fetches
itself, including the compiler, pinned at 1.97.1.
git clone https://github.com/dav0dea/goofi-pipe && cd goofi-pipe
git checkout rust-rewrite
cargo run -p goofi-init # once per clone
cargo run # prints the URLgoofi-init builds the two Python interpreters and installs what the shipped
nodes import. cargo run builds the app and starts the server, with all
67 node types already in the palette. The full install guide →
In a container
The repository has a Dockerfile at its root. Build from there, because the
binary looks for its interpreters where the build left them.
docker build -t goofi .
docker run --rm -p 8000:8000 goofiPutting one online
An ordinary goofi trusts whoever can reach it. There is no login, and /term is a real shell, so a public URL would hand every visitor the machine
it runs on.
A public goofi runs in demo mode instead, which is what the demo above is. Demo mode removes the terminal, the agents, filesystem access, and save and load. It is still not a sandbox: a parameter can hold a Python expression, so a visitor runs code by design, and everyone shares the single patch.
Hosting one takes a few decisions about cost and abuse. The deployment notes →