Latest release · 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, internal chat, PWA push notifications, a knowledge base, and a customer portal — all without the per-agent tax.

$0
per agent, per month. Forever.
tickets, agents, customers.
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.x · 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 Installable PWA Internal chat Bulk actions Tags · CCs · Internal notes Per-agent notifications
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.

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

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

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

Agent chat inside the helpdesk

Channel chat, direct messages, read cursors, safe links, @handles, and PWA/browser alerts for the conversations that should not become tickets.

  • Channel + direct chat
  • @handle mentions
  • WebSocket recovery

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

Notifications, your way

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

  • Slack integration
  • PWA push
  • Per-agent preferences
Why self-host

Three very good reasons.

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

Pay NEVER, scale whenever.

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.

Use or use not, there is no pay.

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

Two steps. One sip of coffee.
A working helpdesk.

Create the database, run one installer command, answer a few prompts, and you're up. Runs on any LAMP-ish stack with PHP 8.x and MySQL 8+.

  1. 1
    Create the database
    Run one MySQL command to create the database and app user with its own password.
  2. 2
    Run the installer
    Pipe the installer straight from andreahelpdesk.com and let it do the rest.
~/fresh-server
# Step 1: create the database
mysql \
  -u db_admin_uuser \
  -p \
  -e "
    CREATE DATABASE \`andrea-helpdesk\`;
    GRANT ALL PRIVILEGES
      ON \`andrea-helpdesk\`.*
      TO 'andrea-helpdesk-user'@'localhost'
      IDENTIFIED BY 'andrea-helpdesk-pass';
    FLUSH PRIVILEGES;
  "

# Step 2: run the installer
wget -qO - https://www.andreahelpdesk.com/installer/ | bash
Use real database usernames and passwords here, not the example ones.
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.

Full product tour

Explore all the features.

Tickets, portal, IMAP, reports, automation, knowledge base, and the small details that make the app practical to run.