GonoPBX – Modern Open-Source Web GUI for Asterisk (Docker, React, FastAPI)

Hi everyone,

I’d like to share a project I’ve been working on: GonoPBX – a modern, lightweight web GUI for managing Asterisk.

Why I built it: I’ve been running Asterisk for a while and wanted a simple, clean management interface without the overhead of larger solutions. Something I could deploy in minutes with Docker and that covers the day-to-day administration tasks well.

What it does:

  • Extension Management – Create and manage PJSIP extensions with live registration status

  • SIP Trunk Configuration – Registration and IP-based auth, with provider templates (currently Plusnet IPfonie Basic/Extended/Connect)

  • DID Routing – Assign incoming numbers to extensions, number block management per trunk

  • Call Forwarding – CFU, CFB, CFNR per extension with one-click toggle

  • Voicemail – Per-extension with PIN, email notification, and web-based audio player

  • CDR – Full call detail records with filtering (source, destination, status) and statistics

  • Live Dashboard – Real-time Asterisk status via WebSocket: registered endpoints, active channels, recent calls

  • Multi-User – Admin and user roles with JWT authentication

Tech stack:

  • Asterisk 20 (PJSIP)

  • FastAPI (Python) backend

  • React + TypeScript frontend (Vite, Tailwind CSS)

  • PostgreSQL

  • Docker Compose (full stack)

Getting started:

git clone https://github.com/ankaios76/gonopbx.git
cd gonopbx
chmod +x install.sh
./install.sh

The installer auto-detects your server IP, generates secure passwords, configures Asterisk, and starts everything via Docker Compose. Let’s Encrypt SSL is supported.

Links:

This is an actively developed hobby project and I’m very open to feedback from the Asterisk community. I’d especially like to hear:

  • Which SIP provider templates would be useful to add?

  • What features are most important to you in a web GUI?

  • Any feedback on the PJSIP configuration approach?

Thanks for checking it out!

1 Like

Looking forward to contribute but now require support first:
docker logs -f pbx_asterisk gives me:
ALSA lib confmisc.c:855:(parse_card) cannot find card ‘0’
ALSA lib conf.c:5205:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory

ALSA lib conf.c:5728:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM dmix
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

and nothing more - a show stopper probably not happening on your build :innocent: