Skip to content

Nine-Minds/alga-psa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17,911 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alga PSA: Open-Source MSP Professional Services Automation

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.

Alga PSA overview dashboard

See the Alga PSA feature tour

Why MSPs look at Alga PSA

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.

Features at a glance

Service desk and client operations

  • 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, contracts, billing, and invoicing

  • 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

Automation, reporting, and controls

  • 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.

Product screenshots

These images link directly to screenshots from the Alga PSA feature tour, Workflow Automation docs, and Invoice Designer docs.

Core workflow Business operations
Alga PSA ticketing screen Alga PSA billing dashboard
Ticketing views for client requests, assignment, attachments, and follow-up. Contracts, billing, and invoice-related workflows in one billing area.
Alga PSA multilingual client portal Alga PSA time approval screen
Multilingual client portal views for client-facing requests and updates. Time entry views for recording and reviewing work before billing.
Alga PSA schedule view Alga PSA invoice and quote designer workspace
Schedule views for dispatch and calendar-based work planning. Drag-and-drop invoice and quote layout designer for branded PDFs.
Alga PSA visual workflow designer Alga PSA asset workspace overview
Visual workflow designer for ticket triage, notifications, approvals, and other repeatable processes. Asset views for client equipment and service context.

Quick start

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 -d

The 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

Requirements

  • Docker Engine 24.0.0 or later
  • Docker Compose v2.20.0 or later
  • Git
  • Node.js >=20 <25 for source development

For Windows-specific setup, see the Windows Setup Guide.

Technical architecture

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:

Documentation

Setup and configuration

MSP feature areas

Development and contribution

Project structure

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

Development and testing

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.ts

For development workflow details, package build behavior, and test conventions, see:

Editions and licensing

Alga PSA uses multiple licenses:

  • Documentation (docs/): Creative Commons Attribution 4.0 International License (CC BY 4.0)
  • Enterprise Edition (ee/): See ee/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.

Contributing

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