# custompbx
**Repository Path**: YeLangTu/custompbx
## Basic Information
- **Project Name**: custompbx
- **Description**: No description available
- **Primary Language**: Go
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-12-26
- **Last Updated**: 2026-05-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

CustomPBX
**CustomPBX** is an API server and Web GUI for [FreeSwitch](https://github.com/signalwire/freeswitch), offering a pure FreeSWITCH experience. It can be installed on existing systems, allowing for the import of existing configurations. The system is encapsulated within a single [binary file](https://github.com/custompbx/custompbx/releases).
Please note that this project is still in development, has not undergone extensive testing.
The **Backend** is developed using Golang v.1.24 and is located in the ``src/custompbx`` directory.
The **Frontend**, built with Angular v.21, can be found in the ``src/cweb-app`` directory.
---
System Requirements:
* Linux OS (amd64)
* FreeSWITCH
* Postgres Database
---
### Build Process
Install **make** first (apt example):
```
sodo apt install -y make
```
To install golang, node, all dependencies and initiate the build process, execute the following command:
```
make install
```
For rebuilding after resolving dependencies, use:
```
make build
```
To locally run the frontend, perform the following steps: build and test the project, set the backend websocket URL using the command ``export WS_BACKEND_OVERRIDE=wss://HOST:PORT/ws``, and finally execute:
```
make front-serve
```
Additional options can be found in the Makefile.
- install-golang
- install-node
- install-dep (install dependencies for back and front)
- dep-front
- dep-back
The compiled binary file is located in the ``bin/`` directory and can be used as outlined in the [Documentation](https://github.com/custompbx/custompbx/wiki).
Alternatively, you can utilize the precompiled binary available on the **[Releases Page](https://github.com/custompbx/custompbx/releases)**.
---
#### Build with Docker (TEST ONLY)
A Docker version of the project is also available, currently intended for testing purposes only.
You can start Docker with PostgresDB + Freeswitch + Custompbx by using the command:
```
docker compose up -d
```
After start of the containers open ``https://127.0.0.1:8080/cweb`` (or your Docker host), making sure to allow self-signed certificates.
---
#### Pull Docker image from **[Packages Page](https://github.com/custompbx/custompbx/pkgs/container/custompbx)**
For latest:
```
docker pull ghcr.io/custompbx/custompbx:latest
```
---
### Documentation
For detailed instructions on **Installation** and **Configuration**, please refer to the project's **[Wiki Page](https://github.com/custompbx/custompbx/wiki)**.
If you have any questions or feedback, don't hesitate to get in touch through the **[discussions](https://github.com/custompbx/custompbx/discussions)** or by opening an **[issue](https://github.com/custompbx/custompbx/issues)**!

---
### GUI Demo
GIF

---

---

---

---

---

---

---

---

---

---

---

---

---

---
