{"id":22033913,"url":"https://github.com/trailbaseio/trailbase","last_synced_at":"2026-01-29T12:11:53.468Z","repository":{"id":260100738,"uuid":"880192912","full_name":"trailbaseio/trailbase","owner":"trailbaseio","description":"A blazingly fast, open-source application server with type-safe APIs, built-in JS/ES6/TS runtime, realtime, auth, and admin UI built on Rust, SQLite \u0026 V8. ","archived":false,"fork":false,"pushed_at":"2025-07-22T21:53:44.000Z","size":7569,"stargazers_count":2701,"open_issues_count":11,"forks_count":66,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-07-22T23:21:32.301Z","etag":null,"topics":["authentication","database","rest-api","rust"],"latest_commit_sha":null,"homepage":"https://trailbase.io","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"osl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trailbaseio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-29T09:39:33.000Z","updated_at":"2025-07-22T15:05:59.000Z","dependencies_parsed_at":"2024-11-13T10:25:19.532Z","dependency_job_id":"42e88ceb-0baf-4764-a4df-75294225250c","html_url":"https://github.com/trailbaseio/trailbase","commit_stats":null,"previous_names":["trailbaseio/trailbase"],"tags_count":78,"template":false,"template_full_name":null,"purl":"pkg:github/trailbaseio/trailbase","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailbaseio%2Ftrailbase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailbaseio%2Ftrailbase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailbaseio%2Ftrailbase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailbaseio%2Ftrailbase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trailbaseio","download_url":"https://codeload.github.com/trailbaseio/trailbase/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailbaseio%2Ftrailbase/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266589181,"owners_count":23952708,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","database","rest-api","rust"],"created_at":"2024-11-30T09:01:46.123Z","updated_at":"2026-01-29T12:11:53.450Z","avatar_url":"https://github.com/trailbaseio.png","language":"Rust","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://trailbase.io\" target=\"_blank\"\u003e\n    \u003cpicture\u003e\n      \u003cimg alt=\"TrailBase logo\" width=\"150\" src=\"assets/logo.svg\" /\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  An open, \u003ca href=\"https://trailbase.io/reference/benchmarks/\"\u003esub-millisecond\u003c/a\u003e, single-executable Firebase alternative with type-safe REST APIs, realtime subscriptions, built-in WebAssembly runtime, SSR, auth and admin UI built on Rust, SQLite \u0026 Wasmtime.\n\u003cp\u003e\n\n\u003cp align=\"center\"\u003e\n  Simplify with fewer moving parts: an easy to self-host, single-executable,\n  extensible backend for your mobile, web or desktop application.\n  Sub-millisecond latencies eliminate the need for dedicated caches, no more\n  stale or inconsistent data.\n\u003cp\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/trailbaseio/trailbase/stargazers/\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/trailbaseio/trailbase?style=social\u0026label=Star\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/trailbaseio/trailbase/actions?query=branch%3Amain\"\u003e\n    \u003cimg src=\"https://github.com/trailbaseio/trailbase/actions/workflows/test.yml/badge.svg?branch=main\" alt=\"Build Status\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/trailbaseio/trailbase/blob/main/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-OSL_3.0-blue\" alt=\"License - OSL 3.0\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://trailbase.io/reference/roadmap/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/status-alpha-orange\" alt=\"Status - Alpha\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# TrailBase\n\n\u003cp align=\"center\"\u003e\n  \u003ca\n    href=\"https://demo.trailbase.io/_/admin?loginMessage=E-mail:%20admin@localhost%20%E2%80%A2%20Password:%20secret\"\n    target=\"_blank\"\n  \u003e\n    \u003cpicture\u003e\n      \u003cimg alt=\"Admin UI\" width=\"600\" src=\"docs/src/assets/shelve.webp\" /\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003e\n    Try the\n    \u003ca href=\"https://demo.trailbase.io/_/admin?loginMessage=E-mail:%20admin@localhost%20%E2%80%A2%20Password:%20secret\" target=\"_blank\"\u003edemo\u003c/a\u003e online\n  \u003c/strong\u003e\n  \u003cbr/\u003eEmail: \u003cem\u003eadmin@localhost\u003c/em\u003e\n  \u003cbr/\u003epassword: \u003cem\u003esecret\u003c/em\u003e\n\u003c/p\u003e\n\nFor more context, documentation, and a live demo, check out the website:\n[trailbase.io](https://trailbase.io).\nQuestions? Thoughts? - Take a look at the\n[FAQ](https://trailbase.io/reference/faq/) or reach out.\nIf you like TrailBase or want to follow along, consider leaving a ⭐🙏.\n\n## Project Structure \u0026 Releases\n\nThis repository contains all components that make up TrailBase including the\nserver, client libraries, tests, documentation and examples.\nOnly the [benchmarks](https://github.com/trailbaseio/trailbase-benchmark) are\nkept separately due to their external dependencies.\n\nPre-built binaries are available as\n[GitHub releases](https://github.com/trailbaseio/trailbase/releases/) for\nLinux, MacOS and Windows or [Docker images](https://hub.docker.com/r/trailbase/trailbase).\n\nClient packages for various languages are available via:\n\n- [JavaScript/TypeScript](https://www.npmjs.com/package/trailbase)\n- [Dart/Flutter](https://pub.dev/packages/trailbase)\n- [Rust](https://crates.io/crates/trailbase-client)\n- [C#/.Net](https://www.nuget.org/packages/TrailBase/)\n- [Swift](https://github.com/trailbaseio/trailbase/tree/main/client/swift/trailbase)\n- [Kotlin](https://mvnrepository.com/artifact/io.trailbase/trailbase-client)\n- [Go](https://github.com/trailbaseio/trailbase/tree/main/client/go/trailbase)\n- [Python](https://pypi.org/project/trailbase/)\n\n## Getting Started\n\nTrailBase is a **single executable** and therefore very easy to\n[deploy](https://trailbase.io/getting-started/install/).\nYou can simply download the appropriate pre-built\n[GitHub release](https://github.com/trailbaseio/trailbase/releases/) bundle for\nyour system (MacOS, Linux or Windows), unpack and run the executable w/o having\nto worry about dependencies or shared-library skew.\n\nIf you want to get started even quicker, install TrailBase with the following\ncommand:\n\n```sh\n# Linux \u0026 MacOS\ncurl -sSL https://trailbase.io/install.sh | bash\n\n# Windows\niwr https://trailbase.io/install.ps1 | iex\n```\n\nAlternatively, run TrailBase using the Docker image:\n\n```sh\nalias trail='\n  mkdir -p traildepot \u0026\u0026 \\\n  docker run \\\n      -p 4000:4000 \\\n      -e ADDRESS=0.0.0.0:4000 \\\n      --mount type=bind,source=\"$PWD\"/traildepot,target=/app/traildepot \\\n      trailbase/trailbase /app/trail'\n```\n\nThen execute `trail help` to check that it is properly installed and list all\navailable command line options.\n\nTo bring up the server on `localhost:4000`, run:\n\n```sh\ntrail run\n```\n\nOn first start, a `./traildepot` folder will be bootstrapped, an admin user\ncreated and their credentials printed to the terminal.\nAfterwards open [http://localhost:4000/\\_/admin/](http://localhost:4000/_/admin/)\nin your browser and use the credentials to log into the admin dashboard.\n\nIf you want to install the auth UI, you can simply run:\n\n```sh\ntrail components add trailbase/auth_ui\n```\n\n, which will add a WASM component in `./traildepot/wasm` exposing additional UI\nendpoints, e.g.\n[http://localhost:4000/\\_/auth/login](http://localhost:4000/_/auth/login).\n\n## Building\n\nIf you have all the necessary build dependencies (Rust, protobuf, node.js,\npnpm) installed, you can build TrailBase by running:\n\n```sh\n# Windows only: make sure to enable symlinks (w/o `mklink` permissions for your\n# user, git will fall back to copies).\ngit config core.symlinks true \u0026\u0026 git reset --hard\n\n# Download necessary git sub-modules.\ngit submodule update --init --recursive\n\n# Install Javascript dependencies first. Required for the next step.\npnpm install\n\n# Build the executable. Adding `--release` will yield a more optimized binary\n# but slow builds significantly.\ncargo build --bin trail\n```\n\nAlternatively, if you want to build a Docker image or don't want to deal with\nbuild dependencies, you can simply run:\n\n```sh\n# Download necessary git sub-modules.\ngit submodule update --init --recursive\n\n# Build the container as defined in `Dockerfile`.\ndocker build . -t trailbase\n```\n\n## Contributing\n\nContributions are very much appreciated 🙏. For anything beyond bug fixes,\nlet's briefly chat to see how a proposal fits into the overall roadmap and\navoid any surprises.\n\nWe're not sure yet what the best setup or exact license is for compatibility\nbetween OSL-3.0 and more popular licenses or use as a framework.\nSo we'd ask you to sign a simple CLA that retains your copyright, ensures that\nTrailBase will continue to forever be freely available under an OSI-approved\ncopyleft license, while allowing for some flexibility and sub-licensing as\nestablished by much larger, successful projects such as Grafana or Element.\n\n## License\n\nTrailBase is free software under the terms of the [Open Software License 3.0\n(OSL-3.0)](https://opensource.org/licenses/OSL-3.0).\nIts client libraries are dual licensed under the permissive\n[Apache-2.0](https://opensource.org/license/apache-2-0).\n\nWe chose OSL-3.0 over other, better known copyleft licenses due to its\nnarrower definition of \"derivative work\" that **only** covers modifications to\nTrailBase itself.\nThis means that your application's original code is **not** subject to the\nOSL-3.0's copyleft provisions. This is true whether you connect over the\nnetwork (e.g. web, mobile, other services, etc.), you're serving static assets,\nusing the runtime to write custom server-side logic or using TrailBase as a\nframework.\n\nThis limited scope is similar to the GPL's classpath or the LGPL's [linking\nexception](https://en.wikipedia.org/wiki/GPL_linking_exception).\nThe goal is to allow building on top and around of TrailBase without any\nprovisions rubbing off onto your original work, while making sure that fixes\nand improvements find their way back to the community.\nThese are our intentions - we felt the need to spell them out explicitly\nbecause licensing is tricky and we ain't lawyers.\nGraciously, the license's author provides some more\n[explanations](https://rosenlaw.com/OSL3.0-explained.htm).\nIf you have any concerns, please reach out.\n\nIf you require an\n[exception](https://www.gnu.org/philosophy/selling-exceptions.html), reach out\nto contact@trailbase.io.\n","funding_links":[],"categories":["Rust","Applications","Recently Updated","Developer Tools"],"sub_categories":["Database","[Nov 28, 2024](/content/2024/11/28/README.md)","Databases"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrailbaseio%2Ftrailbase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrailbaseio%2Ftrailbase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrailbaseio%2Ftrailbase/lists"}