Two deployment modes
Both modes use the same image, the same workflow engine, and the same CLI. The only difference is where the server process lives.
Local
Runfabro server start on your machine. State persists under ~/.fabro/. The CLI talks to it over a Unix socket by default. This is the right mode for solo use and getting started — no deployment required.
When your laptop sleeps or shuts off, in-flight workflows pause until the laptop wakes again. For workflows that need to run 24/7 or for teams sharing a single instance, self-host.
See Server Operations for starting the server, the install wizard, authentication, and pointing the CLI at it.
Self-hosted
For team use, production workflows, or running 24/7, self-host the server as a Docker container. The recommended approach isdocker compose for a single host, or any cloud container service (ECS, Cloud Run, Kubernetes) using the same image with the same requirements.
Use a public reverse proxy such as Caddy when the server must be reachable from the public internet. Use Tailscale Services when the server should stay private to your tailnet; Fabro still serves plain HTTP locally, and Tailscale provides the HTTPS endpoint.
Self-host with Docker
Compose-first walkthrough, including Caddy and Tailscale Services options.
Deploy to Railway
One-click managed shortcut for the same Docker image.