Governed on top, not moved.
Atlas indexes, describes and traces what already lives in your buckets — status, business metadata, links between documents, legal retention — without copying a byte, without a migration, and without ever becoming the only way in or out of your data.
In 2024, AWS shipped S3 Metadata — a first-party admission that the raw S3 API was never built to filter, join, or answer relational questions, and needed a queryable layer beside it. Atlas applies the same idea, simplified: self-hosted, on any S3-compatible store, not only AWS — and with a real governance layer on top, not just metadata. See the full comparison, MinIO Console included, on thealternatives page.
Nothing moves. Everything becomes legible.
Three layers kept deliberately independent, so each can live without the other two. MetaObject is fully reconstructible from S3 at any time — a scan just rebuilds it. Document is the business layer your teams actually drive. See the full model inDefinition.
Read live on every request — the physical reality of the bucket.
A reconstructible, queryable cache of every object version.
Status, properties, links — frozen the moment it's declared.
Six pieces that fit on top of the model above — each documented with how it works, why it's built that way, and how to configure it.
A documented, OpenAPI-standard REST API to query and act on your data whenever you want — script it, pipe it into a workflow, or generate a client in any language. No proprietary SDK to learn.
Sign in your way — SSO via OIDC, password login, or long-lived API keys for scripts. Pick what fits your setup, wire nothing else up.
Different roles, granted to a person or a whole OIDC group, checked fresh on every request — no permission is ever left stale.
Every governance event can trigger a signed call to your own pipeline the moment it lands — no polling loop, no queue to babysit.
A record of who changed what, queryable on demand, plus a Prometheus endpoint that's never more than one scrape stale.
A typed client generated straight from the API's own OpenAPI schema — it literally cannot drift from what the API accepts.
GET /api/v1/documents?workspace=finance&q=report&state=SUCCESS
Authorization: Bearer atlas_...
{ "items": [ ... ], "next_cursor": "MDFhMDI0..." }128
Documents indexed
312
Objects stored
4
Stale
Atlas doesn't reinvent a single protocol. It assembles open, proven pieces — each one replaceable on its own.
S3
Storage — AWS or any compatible target
OIDC
SSO, any identity provider
TUS
Resumable uploads
HTTP / REST
A documented, versioned API
PostgreSQL
Known, standard, easy to back up
OpenAPI
Client generated straight from the schema
MCProadmap
AI agent integration
Docker / Podman
OCI image
Kubernetesroadmap
Helm chart
See how Atlas compares to a bucket console like MinIO's, and to fuller platforms like Pydio or Nextcloud.
Starts Postgres, MinIO (S3-compatible storage), Keycloak (OIDC, for local testing) and tusd (resumable uploads). SeeConfiguration for what everyATLAS_* variable does.
# clone and configure
git clone git@gitlab.com:timothee.bn/atlas.git && cd atlas
cp api/.env.example api/.env # fill in ATLAS_AUTH_JWT_SECRET at least
# bring the whole stack up
docker compose up -d