trailbaseio/trailbase: A blazingly fast, single-file, open-source application server with type-safe APIs, Auth, and Admin UI built on Rust+SQLite.
A blazingly fast,
open-source application server with type-safe APIs, built-in JS/ES6/TS
Runtime, Auth, and Admin UI built on Rust, SQLite & V8.
Simplify with fewer moving parts: an easy to self-host, single-file,
extensible backend for your mobile, web or desktop application.
Sub-millisecond latencies eliminate the need for dedicated caches, no more
stale or inconsistent data.
Try the demo online – Email: admin@localhost, password: secret.
For more context, documentation, and a live demo, check out the website:
trailbase.io.
Questions? Thoughts? – Take a look at the
FAQ or reach out.
If you like TrailBase or want to follow along, consider leaving a ⭐🙏.
This repository contains all components that make up TrailBase including client
libraries, tests, documentation and examples.
Only the benchmarks are
kept separately due to their external dependencies.
Pre-built static binaries are available as GitHub
releases for Linux an
MacOS.
Moreover, containers and client packages are available via:
You can run pre-built TrailBase either by downloading the latest
release and running
or using docker:
$ mkdir traildepot
$ alias trail="docker run -p 4000:4000 --mount type=bind,source=$PWD/traildepot,target=/app/traildepot trailbase/trailbase /app/trail"
$ trail run
. Run trail --help
to get a full list of commands. If you don’t want to rely
on pre-built binaries, TrailBase is easy to build yourself, see below.
If you have all the necessary dependencies (rust, nodejs, pnpm, …) installed,
you can build TrailBase simply by running:
$ git submodule update --init --recursive
$ cargo build --release
To build fully static binaries on Linux (et al):
$ RUSTFLAGS="-C target-feature=+crt-static" cargo build --target x86_64-unknown-linux-gnu --release
Alternatively, if you want a container or don’t have to deal with dependencies,
you can build using docker:
$ git submodule update --init --recursive
$ docker build . -t trailbase
Contributions are very much appreciated 🙏. For anything beyond bug fixes,
let’s quickly chat to see how a proposal fits into the overall roadmap and
avoid any surprises.
We’re not sure yet what the best setup or exact license is for compatibility
between OSL-3.0 and more popular licenses or use as a framework.
So we’d ask you to sign a simple CLA that retains your copyright, ensures that
TrailBase will continue to forever be freely available under an OSI-approved
copyleft license, while allowing for some flexibility and sub-licensing as
established by much larger, successful projects such as Grafana or Element.
TrailBase is free software under the terms of the OSL-3.0.
We chose this license over more popular, similar copyleft licenses such as
AGPLv3 due to its narrower definition of derivative work that only covers
modifications to TrailBase itself. This is similar to GPL’s classpath exception
or LGPL’s linkage exception allowing the use of TrailBase as a framework
without inflicting licensing requirements on original work layered on top.
That said, we ain’t lawyers. The author of the license provides a more
thorough explanation.
If you have any concerns or advice for us, please reach out.
If you require an
exception, reach out
to contact@trailbase.io.