Skip to main content
Atrium makes it easy to deliver files to clients without relying on email attachments or external drives. Files are uploaded to a project from the dashboard and become available for clients to download from the portal.

Uploading files

Only owners and admins can upload files from the dashboard.
1

Open a project

Navigate to Projects and open the project you want to attach a file to.
2

Go to the Files tab

Click the Files tab in the main content area.
3

Upload

Click Upload File and select a file from your computer. The file uploads immediately and appears in the file list.
Uploaded files are organized per project — a file belongs to exactly one project and is only visible to clients assigned to that project.
The default maximum file size is 50 MB. Your administrator can raise or lower this limit by setting the MAX_FILE_SIZE_MB environment variable. The upload form enforces the configured limit and shows an error if the file is too large.

Client uploads

Clients can also upload files from the Files tab in the portal. Client uploads follow the same per-project access rules — a client can only upload to projects they are assigned to.

Downloading files

Clients see all files attached to their projects in the Files tab of the portal. Each file shows the filename and file size, with a Download button that streams the file directly to their browser. Team members can download any file from the Files tab in the dashboard.

File size limits

The limit applies to all file uploads, including files attached to updates and uploaded invoices. The server rejects any upload that exceeds the configured limit before storing the file.

Storage backends

Atrium abstracts file storage behind a configurable provider. You can store files on the local filesystem (the default) or in a cloud object store. Configure the backend using environment variables before starting the server — changing the backend after you already have uploaded files requires manually migrating existing data.
Files are stored on the server’s local filesystem. This is the default and requires no additional configuration. Suitable for single-server deployments where the disk is persistent.
Executable file extensions (.exe, .sh, .bat, and others) are blocked regardless of the storage backend. The server returns an error if you attempt to upload a blocked file type.
For a complete list of environment variables and deployment guidance, see the Configuration reference.