Atrium
A self-hosted client portal for agencies and freelancers. Manage projects, share files, and give clients a branded portal to track progress
Install / Use
/learn @Vibra-Labs/AtriumREADME
Website | Documentation | GitHub Issues
Created by @edgarjc -- Built out of frustration with the tools I was using to manage client work.

Why Atrium?
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.

Features
- Project management -- Customizable status pipeline per organization
- File sharing -- Upload and deliver files via S3, MinIO, Cloudflare R2, or local storage
- Invoicing -- Create and send invoices to clients with draft/send workflow
- Client payments -- Clients pay invoices directly via Stripe Checkout (Direct Keys or Connect)
- Global search -- Full-text search across projects, files, clients, and updates
- White-label branding -- Custom colors, logo, and branded login page for your client portal
- Custom domains -- Point your own domain (e.g.
portal.yourcompany.com) to the client portal with automatic SSL - 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
- Optional telemetry -- Self-hosters can opt in to share anonymous crash reports to help improve Atrium (see Telemetry)
Tech Stack
| Layer | Technology | |-----------|-----------------------------| | API | NestJS 11 | | Frontend | Next.js 15, React 19 | | Database | PostgreSQL 16, Prisma ORM | | Auth | Better Auth | | Styling | Tailwind CSS | | Email | Resend + React Email | | Monorepo | Turborepo + Bun |
Getting Started
Local Development
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 dev
This starts the web app at localhost:3000 and the API at localhost:3001. The setup script handles env files, database, and seed data automatically.
Docker (Production)
A pre-built image is available on Docker Hub:
docker pull vibralabs/atrium:latest
The quickest way to run Atrium with PostgreSQL:
curl -O https://raw.githubusercontent.com/Vibra-Labs/Atrium/main/docker-compose.yml
BETTER_AUTH_SECRET=$(openssl rand -base64 32) \
POSTGRES_PASSWORD=your-secure-password \
docker compose up -d
Or build from source:
git clone https://github.com/Vibra-Labs/Atrium.git
cd atrium
docker compose up --build -d
The unified image (vibralabs/atrium) bundles the API, web app, and a Caddy reverse proxy into a single container on port 8080. It works with any container platform — Docker Compose, Coolify, Portainer, Unraid, etc.
First Use
- 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
Documentation
- Docker Deployment
- Configuration & Environment Variables
- Stripe Payments Setup
- Development Guide & Scripts
- Security
Roadmap
SAML/SSO, contracts & e-signatures, client approval workflows, calendar view, and more. See the full Roadmap.
Contributing
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.
Community & Support
- 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.
License
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.
Related Skills
trello
351.2kManage Trello boards, lists, and cards via the Trello REST API.
mcporter
351.2kUse the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.
FastGPT
27.6kFastGPT is a knowledge-based platform built on the LLMs, offers a comprehensive suite of out-of-the-box capabilities such as data processing, RAG retrieval, and visual AI workflow orchestration, letting you easily develop and deploy complex question-answering systems without the need for extensive setup or configuration.
webiny-js
8.0kOpen-source, self-hosted CMS platform on AWS serverless (Lambda, DynamoDB, S3). TypeScript framework with multi-tenancy, lifecycle hooks, GraphQL API, and AI-assisted development via MCP server. Built for developers at large organizations.
