INBUXA Admin
> [!NOTE]
> Development happens on [git.coffeylabs.org/inbuxa/inbuxa-admin](https://git.coffeylabs.org/inbuxa/inbuxa-admin); the copy on GitHub is a read-only mirror.
> Report issues at **[git.coffeylabs.org/inbuxa/inbuxa-admin/issues](https://git.coffeylabs.org/inbuxa/inbuxa-admin/issues)**, join discussions at **[community.coffeylabs.org](https://community.coffeylabs.org)**, or chat on **[Discord](https://discord.gg/nqcY4TKfAn)**.
The administration interface for the INBUXA mail server: every server setting,
first-boot setup, and recovery, in the browser.
It is schema-driven. After signing in it fetches the server's schema and
builds every form, list and menu from it, so it covers every setting the
server has without hardcoding any of them.
## Design
- **One edition.** Every feature the server has is available here, with
nothing held back. See the INBUXA server's `docs/spec/`.
- **Runs anywhere, not on the mail server.** INBUXA Admin is its own
deployment, never installed onto the mail server. It's pointed at the server
either at build time (`VITE_API_BASE_URL`) or at deploy time:
`` in
`index.html`. Hosted like that, it signs in as the OAuth client
`inbuxa-admin`, which the server registers when it's started with
`INBUXA_ADMIN_URL` set to INBUXA Admin's address (for development,
`http://localhost:5173`).
- **INBUXA's look:** the logo and ihasmail's palette.
- **Two-factor setup** names INBUXA as the issuer, and no longer makes
authenticator apps fetch a logo from a third-party site.
## Developing
```bash
npm ci
npm run dev # http://localhost:5173, against VITE_API_BASE_URL in .env.development
npm run typecheck && npx eslint src/ && npx vitest run
npm run build
```
## Upstream
INBUXA Admin was forked from upstream at v1.0.11 and no longer takes upstream's
changes. Later upstream releases include code under a proprietary license, so
nothing after v1.0.11 is merged or copied in. The console has diverged too far
to take anything from upstream, so its releases aren't followed either: new
features are this fork's own.
## Versions
INBUXA Admin is versioned with the rest of the suite (`inbuxa-version.json`):
a series and its patches (`27.1`, `27.1.3`), and release candidates before a
series ships (`27.1-rc.1`). Releases before 27.1 were dated (`2026.10.26.2`).
The weekly release cuts the next patch; a series and its release candidates
are cut by hand. `package.json`'s version is a leftover from the fork and
isn't shown anywhere.
## Source code
Every build carries its own source. The interface links to it (the user menu
and the sign-in page), and the build writes it next to the app as
`source.tar.gz`: the exact tree the running version was built from.
## License and credits
Free software under the [GNU Affero General Public License, version 3](./LICENSES/AGPL-3.0-only.txt).
INBUXA Admin is forked from the upstream AGPL-3.0 web administration codebase
originally developed by Stalwart Labs. Their copyright notices are kept on
every file inherited from it, and INBUXA's own notice is added to the files it
changes. Those files are offered upstream under the AGPL-3.0-only or a
proprietary license. INBUXA uses them under the AGPL-3.0 only. INBUXA isn't
affiliated with or endorsed by Stalwart Labs.
The base components in `src/components/ui` follow the structure of
[shadcn/ui](https://ui.shadcn.com), used under the [MIT license](./LICENSES/MIT.txt).
Each of those files says so in its header.