kernoid

kernoid documentation

kernoid is one sovereign core for email, identity and storage: a single application in Rust, in which a mailbox, a login and the owner of files are the same account. It runs as a self-hosted service on PostgreSQL and S3-compatible object storage and is free software under the AGPL.

Status: early development, towards the alpha. The base and the identity part are built – instances and tenants, accounts, groups, roles, projects, sessions with second factors, OpenID Connect and the administration API – and so are mail, calendars and contacts, a first part of files and the web app (see the roadmap in the whitepaper). Nothing here is ready for production yet.

Page What it covers
Getting started run kernoid with Docker Compose, create the first instance, tenant and administrator
Concepts installation, instance, tenant; accounts, groups, projects, applications; events
Administration permissions and roles, roles of a tenant’s own, instance administrators, projects
Identity providers and SCIM logging in with Entra ID, Google, Okta, Keycloak, ADFS (OpenID Connect, SAML); provisioning with SCIM
Login and OpenID Connect sessions, second factors and policies; connecting an application
TypeScript SDK logging in to a web app with kernoid; building a login UI
Mail receiving and sending, JMAP, IMAP and POP3, sharing, quotas
Calendars and contacts CalDAV, CardDAV, JMAP, sharing, invitations
Files the file store, JMAP for files, quotas
Web app mail, calendar, contacts and files in the browser
API REST and GraphQL: authentication, errors, every operation
CLI reference every kernoid command
Configuration every setting, as TOML key and environment variable
Operations deployment, TLS and reverse proxies, migrations, keys
Contributing build, test and the rules of the repository

The design decisions are written down as RFCs in the repository – RFC 0001: data and event model. The reasons behind kernoid – why one core, why free software – are in the whitepaper.

kernoid is a project of falkOSS – Falcon Lake Open Source Software gUG (haftungsbeschränkt) i. G. Source code: kernoid/kernoid (AGPL-3.0-or-later).