Skip to content

mikopbx/Core

Translation status GitHub All Releases Latest Release GitHub last commit (branch) Code Quality GitHub

MikoPBX — Free Phone System for Small Business


88b           d88  88  88                     88888888ba   88888888ba  8b        d8
888b         d888  ""  88                     88      "8b  88      "8b  Y8,    ,8P
88`8b       d8'88      88                     88      ,8P  88      ,8P   `8b  d8'
88 `8b     d8' 88  88  88   ,d8   ,adPPYba,   88aaaaaa8P'  88aaaaaa8P'     Y88P
88  `8b   d8'  88  88  88 ,a8"   a8"     "8a  88""""""'    88""""""8b,     d88b
88   `8b d8'   88  88  8888[     8b       d8  88           88      `8b   ,8P  Y8,
88    `888'    88  88  88`"Yba,  "8a,   ,a8"  88           88      a8P  d8'    `8b
88     `8'     88  88  88   `Y8a  `"YbbdP"'   88           88888888P"  8P        Y8


🇷🇺 Русская версия

What's MikoPBX?

MikoPBX is an open-source PBX system with a modern web interface for managing Asterisk. It ships as a compact Linux distribution with all necessary services pre-configured — Asterisk, Nginx, PHP-FPM, Redis, Fail2Ban, and more. You can write any module you can think of and distribute it to your users through the built-in marketplace.

Install MikoPBX on premise, in a virtual machine, in a Docker or LXC container, or on any major cloud provider (AWS, Google Cloud, Azure, etc.)

The system has an easy and convenient web interface with call recording, conference calls, voicemail, call transfers and pickup, call queues, IVR menus, inbound and outbound call rules, holidays and night-time call switcher, custom call-flow programming, and a marketplace with paid and free extensions. All core business functionality is free forever!

Getting Started

Installation Methods

MikoPBX can be deployed in multiple ways depending on your environment:

Standalone / Bare Metal

Virtual Machine

Download the latest ISO and boot from it in your hypervisor:

Hypervisor Guide
VMware ESXi Installation guide
VMware Workstation Pro Installation guide
VMware Fusion (Mac) Installation guide
VirtualBox Installation guide
Hyper-V Installation guide
Proxmox (VM) Installation guide
Proxmox (LXC container) Installation guide
UTM (Apple Silicon) Installation guide

Docker Container

Cloud Providers

Provider Guide
AWS EC2 Deployment guideAWS Marketplace
Google Cloud Deployment guideGCP Marketplace
Microsoft Azure Deployment guide
DigitalOcean Deployment guide
Vultr Deployment guide
Alibaba Cloud Deployment guide
Hetzner Cloud Deployment guide

First Steps After Installation

Open the web interface and log in with default credentials — username: admin, password: admin. Then follow the Quick Start guide to configure your system.

Features

  • Compact Linux distribution — boots in seconds.
  • Easy to install, easy to set up.
  • Multilingual interface (26 languages) with community translation via Weblate.
  • x86_64 and ARM64 architectures.
  • Latest PJSIP stack and Asterisk 22 LTS.
  • Dual-stack IPv4/IPv6 networking.
  • Fail2Ban, iptables firewall, WebAuthn/Passkey authentication.
  • Modular architecture with a plugins marketplace.
  • PHP 8.4, Phalcon Framework, Nginx, Redis.
  • REST API with 259+ endpoints and JWT authentication.
  • Cloud auto-provisioning (AWS, GCP, Azure, DigitalOcean, Vultr, Yandex Cloud, VK Cloud, Alibaba Cloud).
  • Modern codebase written according to PSR standards and Airbnb JS style.

Requirements

Concurrent Calls CPU RAM Storage
5–10 1 GHz x86-64 or ARM64, 1–2 cores 2 GB 1 GB system + 50 GB recordings
Up to 25 3 GHz x86-64 or ARM64 2 GB 1 GB system + 50 GB recordings
25+ Dual CPU 3 GHz x86-64 4 GB+ 1 GB system + 50 GB recordings

See the full system requirements.

How to Modify Your System

For easy customisations, use the dialplan application editor. It supports PHP-AGI or Asterisk Dialplan language.

Or use direct system file customisation on the web interface.

MikoPBX usually loads from a read-only offload partition. If you want to change something in the core, remount the partition to write mode with the SSH command: remount-offload

If you want to add new functionality, we strongly advise you look at the ModuleTemplate repository.

Architecture

MikoPBX is a self-contained Linux distribution built on T2 SDE. Key components:

Component Version Purpose
Asterisk 22 PBX engine with PJSIP stack
PHP 8.4 Application runtime
Phalcon 5 High-performance PHP framework
Nginx 1.29 Web server with WebSocket support (nchan)
Redis 7 Cache, sessions, and API queue
Beanstalkd 1.12 Background job processing
Fail2Ban 1 Intrusion prevention
SQLite Main database and CDR storage

Source Structure

src/
├── AdminCabinet/     # Web UI (MVC + Volt templates + Semantic UI)
├── Common/           # Models, translations, DI providers
├── Core/             # Asterisk configs, system utilities, workers
├── Modules/          # Module framework
├── PBXCoreREST/      # REST API (49 controllers, 259+ endpoints)
└── Service/          # Service layer

Interface and Documentation Translation

The web interface has been translated into 26 languages with the help of our community:

If you find any mistakes, you are welcome to fix them on the Weblate translation service.

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Community & Support

Sponsors

Become a sponsor and get your logo on our README on GitHub with a link to your site. Become a sponsor

License

MikoPBX© — free phone system for small business Copyright © 2017–2026 Alexey Portnov and Nikolay Beketov

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.