No description
  • TypeScript 95.6%
  • Shell 2.7%
  • CSS 0.9%
  • JavaScript 0.4%
  • Dockerfile 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-09 23:10:23 +02:00
public Add Hanasand chrome to mail UI 2026-10-05 22:58:55 +02:00
scripts Keep mail repository focused on webmail 2026-10-09 23:10:23 +02:00
src Restore shared mail dashboard chrome 2026-10-06 12:20:10 +02:00
tests Create standalone Hanasand mail app 2026-10-04 21:05:18 +02:00
.dockerignore Create standalone Hanasand mail app 2026-10-04 21:05:18 +02:00
.env.example Create standalone Hanasand mail app 2026-10-04 21:05:18 +02:00
.gitignore Create standalone Hanasand mail app 2026-10-04 21:05:18 +02:00
bun.lock Create standalone Hanasand mail app 2026-10-04 21:05:18 +02:00
bunfig.toml Create standalone Hanasand mail app 2026-10-04 21:05:18 +02:00
Dockerfile Add Docker health check to mail UI 2026-10-05 23:15:30 +02:00
next-env.d.ts Track Next.js type references 2026-10-04 21:05:28 +02:00
next.config.js Add Hanasand chrome to mail UI 2026-10-05 22:58:55 +02:00
package.json Create standalone Hanasand mail app 2026-10-04 21:05:18 +02:00
playwright.config.ts Create standalone Hanasand mail app 2026-10-04 21:05:18 +02:00
postcss.config.mjs Create standalone Hanasand mail app 2026-10-04 21:05:18 +02:00
README.md Keep mail repository focused on webmail 2026-10-09 23:10:23 +02:00
tsconfig.json Create standalone Hanasand mail app 2026-10-04 21:05:18 +02:00

Hanasand Mail

Standalone webmail client for Hanasand. Mailbox data and actions stay in the Hanasand API; the client forwards the signed-in Hanasand session to that API.

Development

bun install
bun run dev

The app uses the shared Hanasand id, access_token, and theme cookies. To sign in, it hands unauthenticated visitors to https://hanasand.com/dashboard/mail, which returns here after Hanasand login.

Deploy

Push main to the mail repository, fast-forward the server checkout, then run scripts/deploy.sh there. This deploys only the web app and switches the mail hostname's OpenResty web route after the new app passes its health check.

The Stalwart server and SMTP relay have their own Stalwart repository and Compose deployment.