Alga PSA is a professional services automation platform built for Managed Service Providers. It brings client records, service tickets, time tracking, contracts, billing, invoicing, documents, assets, reporting, and automation into one MSP-focused system.
It is designed for teams that want more control over their PSA stack: self-hostable Community Edition code, a modern TypeScript/PostgreSQL architecture, and an Enterprise Edition path for commercially licensed modules and larger deployments.
MSP operations break down when tickets, contracts, time, and invoices live in separate tools. Teams lose billable time, service managers chase updates, and owners have a harder time seeing whether client work is profitable.
Alga PSA is built around the way MSPs operate with clients:
- Tickets tied to clients, contacts, assets, and service history so the team has context before work starts.
- Time and approvals connected to billing so billable work can move toward invoices with less duplicate entry.
- Contracts, sales quotes, recurring services, tax, and invoice workflows for the financial side of service delivery.
- Client portal and document workflows so clients have a clearer place to submit requests, view information, and follow progress.
- Workflow automation for turning repeatable ticket, billing, notification, and approval steps into managed processes with Event Catalog triggers and scheduled runs.
- Open-source core with self-hosting support so MSPs and technical teams can keep control over deployment, data, and code review.
Community Edition is the self-hostable AGPL core. Enterprise Edition covers commercially licensed modules and larger deployment needs. See Editions and licensing for details.
- Support ticketing for client requests, incidents, and follow-up work
- Client, contact, and company management
- Multilingual client portal support for separate MSP and client-facing access
- Email notifications for tickets, invoices, and project updates
- Document management with version control
- Asset management for client equipment, maintenance schedules, and relationships
- Project and task management for longer-running client work
- Scheduling and dispatch views for planned work and technician coordination
- Time tracking with approval workflows and utilization reporting
- Automatic interval tracking for ticket work, stored in the browser with IndexedDB
- Conversion of tracked intervals into time entries
- Flexible billing cycles by company, including weekly, bi-weekly, monthly, and quarterly billing
- Billing-period support for proration and unapproved time rollover
- Contract purchase order support with PO numbers and advisory PO limits
- Sales quotes for pricing proposals, optional line items, approvals, client portal acceptance, and conversion to contracts or invoices
- Graphical invoice and quote designer for branded PDF layouts, data-bound fields, line-item tables, preview, and per-document template overrides
- International tax support with composite rates, thresholds, tax holidays, and reverse charge scenarios
- Workflow Automation with an Event Catalog for ticket, billing, scheduling, email, project, CRM, asset, document, and integration triggers
- Visual workflow designer for event-driven, one-time scheduled, recurring scheduled, and manual runs, with versioning and run history
- Redis-backed event processing for asynchronous work and system events
- Reporting and analytics for operational visibility
- Role-based access control (RBAC) and attribute-based access control (ABAC)
- Multi-portal authentication for MSP users and client portal users
- API, OpenAPI registry material, and extension SDK support for integrations and custom workflows
Feature availability varies by edition, deployment configuration, and enabled feature flags. See the setup and architecture docs for implementation details.
These images link directly to screenshots from the Alga PSA feature tour, Workflow Automation docs, and Invoice Designer docs.
For a full installation, use the Complete Setup Guide. It covers release selection, secrets, environment configuration, Docker Compose, initial login credentials, persistence, backups, and production notes.
The current CE prebuilt Docker Compose path is below. Before running these commands, follow the setup guide to create the required secrets/ directory and server/.env file.
The stack boots PostgreSQL, the Next.js application server, and the workflow worker. On first start, the server creates a seeded workspace admin account; tail the logs below to retrieve the credentials.
git clone https://github.com/nine-minds/alga-psa.git
cd alga-psa
./scripts/set-image-tag.sh
docker compose -f docker-compose.prebuilt.base.yaml -f docker-compose.prebuilt.ce.yaml \
--env-file server/.env --env-file .env.image up -dThe prebuilt stack creates named volumes for PostgreSQL data and uploaded files so data survives container restarts and upgrades. See the setup guide for backup and restore procedures.
After the first successful boot, the server logs print a seeded workspace admin account. Tail the logs and update the password before using the system in production.
docker compose -f docker-compose.prebuilt.base.yaml -f docker-compose.prebuilt.ce.yaml \
--env-file server/.env --env-file .env.image logs -f- Docker Engine 24.0.0 or later
- Docker Compose v2.20.0 or later
- Git
- Node.js
>=20 <25for source development
For Windows-specific setup, see the Windows Setup Guide.
The following details are for teams evaluating the technical stack. For deployment requirements, see Quick start.
Alga PSA is a TypeScript monorepo with a Next.js application, shared domain packages, worker services, and Docker-based deployment paths.
| Area | Implementation |
|---|---|
| Frontend | Next.js application with React, Tailwind, Radix-based components, and shared UI packages |
| Backend | Next.js API routes running on Node.js, shared domain packages, and a dedicated workflow worker service |
| Database | PostgreSQL with row-level security for tenant isolation |
| Event processing | Redis-backed event bus with Zod schema validation for asynchronous system events |
| Workflow execution | Temporal-backed workflow runtime and worker services for event-triggered, scheduled, and manual workflow runs |
| Real-time collaboration | Hocuspocus/Yjs for collaborative document editing |
| Authentication | NextAuth.js with separate MSP and client portal access surfaces |
| Packages | npm workspaces and Nx-managed @alga-psa/* packages for billing, clients, tickets, documents, scheduling, reporting, integrations, and shared infrastructure |
| Deployment | Docker Compose for CE/EE stacks, named volumes for PostgreSQL and files, Docker secrets, PgBouncer, and Helm assets for Kubernetes-oriented deployments |
| Extensions and API | Extension SDK, client SDK docs, API docs, and OpenAPI registry material for integrations and custom workflows |
Useful technical docs:
- Architecture Overview
- Package Build System
- Docker Compose Structure
- Secrets Management
- API Overview
- OpenAPI Registry Integration
- Client SDK
- Inbound Email
- Testing Standards
- Billing System
- Invoice Templates
- Quoting System
- International Tax Support
- Asset Management
- SLA Management
- Time Entry Guide
- Workflow Automation for MSPs
- Choosing Workflow Triggers
- Building Your First MSP Workflow
- Publishing and Monitoring Workflows
alga-psa/
├── server/ # Next.js application server
│ ├── src/app/ # App routes and API routes
│ ├── src/components/ # React components
│ └── src/lib/ # Core application logic
├── packages/ # Shared @alga-psa/* packages
│ ├── billing/ # Billing, invoicing, tax
│ ├── clients/ # Client management
│ ├── tickets/ # Ticketing domain code
│ ├── db/ # Database connection and tenant context
│ ├── event-schemas/ # Event contracts and validation
│ ├── ui/ # Shared UI component library
│ └── ... # Domain and infrastructure packages
├── ee/ # Enterprise Edition code and licensed modules
├── services/ # Background services, including workflow-worker
├── hocuspocus/ # Real-time collaboration server
├── sdk/ # Extension SDK and samples
├── extensions/ # Extension examples and supporting code
├── helm/ # Kubernetes deployment assets
├── redis/ # Redis configuration
├── pgbouncer/ # PostgreSQL connection pooling configuration
├── setup/ # Bootstrap and installation scripts
├── scripts/ # Build, release, and utility scripts
├── tools/ # Developer and automation tooling
└── docs/ # Product, setup, architecture, and developer docs
Install dependencies and run tests from the repository root. Source development requires Node.js >=20 <25.
npm install
npm run test:local
# Run specific tests
npm run test:local -- path/to/test/file.test.tsFor development workflow details, package build behavior, and test conventions, see:
Alga PSA uses multiple licenses:
- Documentation (
docs/): Creative Commons Attribution 4.0 International License (CC BY 4.0) - Enterprise Edition (
ee/): Seeee/LICENSE - All other content: GNU Affero General Public License Version 3 (AGPL-3.0)
See LICENSE.md for details. If your deployment model requires commercial terms or a license outside the AGPL core, visit algapsa.com for Enterprise Edition and hosted deployment information.
Contributions are welcome. Start with the Contributing Guide for development setup, coding expectations, pull request guidance, and module conventions.
Copyright (c) 2026 Nine Minds LLC