Skip to content

A self-hosted client portal for agencies and freelancers. Manage projects, share files, and give clients a branded portal to track progress

License

Notifications You must be signed in to change notification settings

Vibra-Labs/Atrium

Repository files navigation

Atrium

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.

License: ELv2

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.

alt text

Features

  • 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

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)

git clone https://github.com/Vibra-Labs/Atrium.git
cd atrium
docker compose up --build

For 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

First Use

  1. Open localhost:3000/signup and create your account
  2. Create projects, upload files, and manage statuses from the dashboard
  3. Invite clients by email -- they access the client portal at /portal

Documentation

Contributing

Contributions are welcome! Here's how to get involved:

  1. 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.
  2. Keep PRs focused -- Small, single-purpose pull requests are easier to review and merge.
  3. 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

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.

About

A self-hosted client portal for agencies and freelancers. Manage projects, share files, and give clients a branded portal to track progress

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages