v1 · GPL-3.0 · Self-hosted

Customer support
that lives on your server.

Andrea is an open-source helpdesk built with PHP, MySQL, and a little affection. Tickets, email threading, SLAs, a knowledge base, and a customer portal — all without the per-agent tax.

$0
per agent, per month. Forever.
tickets, agents, customers.
LAMP
deploys where PHP runs.
hi, I'm Andrea
New ticket · #AH-0042
"Can we please self-host this?"
paul@infra
resolved
  • Self-hosted
  • No per-agent fees
  • GPL-3.0
  • PHP 8.1 · MySQL 8
  • Email + IMAP + SLAs
  • Magic-link customer portal
The dashboard

Every ticket, exactly where you left it.

Counters on top, a smart search beside the big "new ticket" button, and a live table of overdue, assigned, and recently-updated items. No SaaS clutter, no upsell cards, no surprise paywalls.

helpdesk.yourcompany.com
Andrea Helpdesk dashboard showing live ticket counters, unified search, and a list of recently updated tickets.
Light + dark themes Keyboard shortcuts Bulk actions Tags · CCs · Internal notes Per-agent signatures
What's inside

Full-fat helpdesk,
without the SaaS fat.

Six deeply finished modules. No "Pro tier" paywalls. No asterisks. Everything you'd expect from a grown-up helpdesk, shipped as a single PHP application.

01

Ticket management that feels alive

Parent/child links, tags, CC participants, private internal notes, bulk actions. Everything an agent needs, one keystroke away.

  • Priority-based SLA escalation
  • Auto status transitions
  • Reopen on new reply
02

Email that threads the way it should

IMAP polling for multiple accounts, RFC 5322-compliant threading, automatic quote stripping, inline image handling, per-tag from-addresses.

  • Multi-account IMAP
  • Inline image support
  • Clean quote handling
03

A knowledge base that ships

A full rich-text KB wired into the ticket search bar, so agents and customers find the same answers from the same place.

  • Quill 2 rich editor
  • Unified search
  • Customer-facing articles
04

Customer portal with magic links

No passwords, no friction. Customers click a link from their inbox, land in their own portal, submit and reply to tickets.

  • Passwordless sign-in
  • Ticket submission
  • Email reply threading
05

SLAs that actually work

Per-priority SLA timers, escalation rules, and a dashboard that makes the oldest overdue ticket impossible to miss.

  • Escalation rules
  • Overdue surfacing
  • Monthly reports
06

Notifications, your way

Slack webhooks, browser notifications, @mentions that actually ping people. Choose what matters; mute what doesn't.

  • Slack integration
  • Browser push
  • @mention agents
Why self-host

Three very good reasons.

01

Own your data.

Tickets contain your most sensitive customer conversations. Andrea keeps them on your server, in your database, under your backup policy — never on someone else's servers, never sold, never 'analysed'.

02

Pay once, scale free.

Zendesk, Freshdesk and friends tax you per agent, per month, forever. Andrea is GPL-3.0. Hire a tenth agent, a hundredth, a thousandth — the number on the invoice stays the same.

03

Bend it to fit.

A single PHP codebase, documented endpoints, a clean database schema. Add a field. Wire in Slack. Patch a bug. Ship a plugin. Your helpdesk, your rules.

Install in minutes

Four steps. One coffee.
A working helpdesk.

Runs on any LAMP-ish stack — PHP 8.1+, MySQL 8+, Apache with mod_rewrite or Nginx. Shared hosting? There's a web installer for that too.

  1. 01
    Clone and configure
    Grab the repo, copy the example env, and point it at your MySQL.
  2. 02
    Install dependencies
    Composer handles the PHP side. Assets are fetched during setup.
  3. 03
    Migrate + seed
    The shipped Makefile runs migrations and seeds a starter admin.
  4. 04
    Install the cron
    IMAP polling and SLA escalation both run on cron. One make target.
~/your-server
git clone https://github.com/TerminalAddict/andrea-helpdesk.git
cd andrea-helpdesk
composer install --no-dev --optimize-autoloader
cp .env.example .env && \
  $EDITOR .env

make db-migrate
make db-seed
make fetch-assets
make cron-install-production
Works on shared hosting via the bundled web installer too.
Ready when you are

Stop paying per agent.
Start today.

Clone the repo, follow the four-step guide, and have a working helpdesk by lunchtime. It's really that quick.