A self-hosted client portal for agencies and freelancers.
Website | Documentation | GitHub Issues
Created by @ecotto123 -- Built out of frustration with the tools I was using to manage client work.
Most agencies juggle shared drives, spreadsheets, and scattered emails to keep clients in the loop. Atrium replaces all of that with a single branded portal your clients can log into -- no more "can you resend that file?" emails. Unlike managed SaaS platforms, you own the data and host it yourself.
- Project management -- Customizable status pipeline per organization
- File sharing -- Upload and deliver files via S3, MinIO, Cloudflare R2, or local storage
- White-label branding -- Custom colors and logo applied to the client portal
- Role-based access -- Owner/admin roles for your team, member role for clients
- Authentication -- Magic link and email/password auth via Better Auth
- Multi-tenant -- Each agency operates as its own isolated organization
| Layer | Technology |
|---|---|
| API | NestJS 11 |
| Frontend | Next.js 15, React 19 |
| Database | PostgreSQL 16, Prisma ORM |
| Auth | Better Auth |
| Styling | Tailwind CSS |
| Resend + React Email | |
| Monorepo | Turborepo + Bun |
Prerequisites: Bun (v1.0+) and Docker (for PostgreSQL).
git clone https://github.com/Vibra-Labs/Atrium.git
cd atrium
bun install
bun run setup
bun run devThis starts the web app at localhost:3000 and the API at localhost:3001. The setup script handles env files, database, and seed data automatically.
git clone https://github.com/Vibra-Labs/Atrium.git
cd atrium
docker compose up --buildFor production, override the defaults with your own secrets:
BETTER_AUTH_SECRET=$(openssl rand -base64 32) \
POSTGRES_PASSWORD=your-secure-password \
docker compose up --build -d- Open localhost:3000/signup and create your account
- Create projects, upload files, and manage statuses from the dashboard
- Invite clients by email -- they access the client portal at
/portal
Contributions are welcome! Here's how to get involved:
- Open an issue first -- Whether it's a bug report, feature idea, or improvement, start with a GitHub Issue so we can discuss before you write code.
- Keep PRs focused -- Small, single-purpose pull requests are easier to review and merge.
- Bug fixes and improvements welcome -- New features should be discussed in an issue first to make sure they align with the project direction.
- Bug reports & feature requests -- GitHub Issues
- Questions & discussions -- GitHub Discussions
If you find Atrium useful, consider giving it a star -- it helps others discover the project.
Atrium is source-available software licensed under the Elastic License 2.0 (ELv2). You are free to use, modify, and self-host Atrium. The license restricts offering it as a managed service to third parties.
