TachyonCMS docs
TachyonCMS is a headless CMS written in Rust. You run one binary next to one Postgres database, define your content types, and get a JSON API for them: documents you can create, read, update, delete, filter and link together, with sign-in, roles, API keys and access rules down to a single field.
These pages describe v0.1.0, the first release. For why it exists, what’s on the roadmap and how it compares, see tachyoncms.com.
Start here
Section titled “Start here”- Install TachyonCMS with Docker or a release binary, and create the first Admin.
- Read Concepts for the ideas everything else builds on.
- Define a content type and add documents to it.
Content and queries
Section titled “Content and queries”- Content types: collections, globals, and changing them without losing data.
- Fields: every field type, its options and how values are validated.
- Querying: filters, sorting, paging and choosing which fields come back.
- Relationships: links between documents, and getting them back populated.
- Joins and virtual fields: showing related documents without storing them twice.
- Schema files: keep content types in version control with
tachyon schema.
Users and access
Section titled “Users and access”- Sign-in: the first Admin, sessions, bearer tokens and passwords.
- Roles: Admin, Editor, Author and Viewer, and roles of your own.
- API keys: scoped keys for websites and servers.
- Access rules: which documents and fields each person can see and change.
Running it
Section titled “Running it”- Configuration: every setting, in
tachyon.tomlor the environment. - Deploy with Docker or as a binary.
- Security model: what TachyonCMS protects, and how.
- Get involved: report bugs, contribute, and report security issues privately.
About the examples
Section titled “About the examples”Every request on these pages was run against the v0.1.0 Docker image, and every response shown is the one it returned. Responses are pretty-printed, and long ones are trimmed where the page says so. IDs and timestamps will differ on your machine, and session tokens and API keys are cut short to tcs_… and tcy_….
The examples use curl -g, which stops curl reading the square brackets in query strings such as where[title][equals] as a pattern.