Skip to content

Welcome to Truss

A self-hosted BaaS that wraps Postgres, Authentication, Authorization, and S3 Storage into a single dashboard with a client API.

What is Truss?

Truss is an open-source Backend-as-a-Service (BaaS) for self-hosters. Think Supabase or Firebase, but you own everything — your server, your data, your auth stack.

It provides a unified dashboard and client API for:

  • PostgreSQL — SQL workbench, schema browser, ERD visualizer, pgvector, full-text search, cron jobs
  • Authentication — Email/password and social login (powered by Ory Kratos)
  • Authorization — Relation-based access control / ReBAC (powered by Ory Keto)
  • Storage — S3-compatible file storage with presigned URLs (powered by MinIO)
  • Realtime — WebSocket subscriptions via PostgreSQL LISTEN/NOTIFY
  • Webhooks — HTTP callbacks on database changes with HMAC signing

Client API

Every feature is accessible through a REST API on port 8787. Two API layers:

  • Data API (/v1/db/:table, /v1/sql) — CRUD your tables, run SQL, call functions
  • Management API (/v1/status, /v1/projects, etc.) — Platform management for CLI, bots, and LLMs

All client API endpoints require an API key passed via the apikey header.

Quickstart

Get Truss running locally in 5 minutes. Start here.

Database

SQL-over-HTTP, Auto-REST, pgvector, full-text search. Database guide.

API Reference

Full endpoint reference for the client API. REST API docs.