FOOD FOR THOUGHT Is there a dockerized IncrediblePBX (on the horizon)?

Halea

Well-Known Member
Joined
Aug 12, 2016
Messages
1,130
Reaction score
874
When I was updating an unrelated Docker container on DockerHub I accidentally stumbled on "wardmundy/incrediblepbx2020" which seems to be a defunct container from 2 years ago (posted by @wardmundy ). That intrigued me, so I searched for any asterisk/freepbx based pbx containers, and I found a few, but none really sufficiently complete or recent. That made me wonder why the ideal way of running IncrediblePBX wouldn't be a Docker container?
Any thoughts or experience?
 
Thanks @Tonyclewis
Interesting reading.

Update:
For those who are interested in exploring the subject, this docker collection seems to be the most recent and complete.
I'll drop it on a host and try it out for the fun of it.

Update 2:
After reading and re-reading the thread above (and an additional couple of similar ones on other forums) I grew even more curious about any progress that the Italian fellow made since he posted the original thread a couple of years ago.
Interestingly, he kept updating his docker containers regularly with the last iteration made only last month.
His material is quite well documented. So, dropping it on a Xubuntu+Docker VPS over at RackNerd was a breeze. Quite literally it took me under 5 minutes to get it running.
After quickly setting up a couple of extensions to play with and a IAX2 bridge to one of my production PBXs to get outside lines I was able to make and receive calls.
When I looked a bit deeper into the available functionality, I noticed that many basic modules (like ring groups, intercom, etc.) were not installed. But, I was able to quickly install them through Module Admin and they are now fully operational. Module Admin was also able to update those bits and pieces which had updates available.
As I was a bit uneasy about its networking configuration (bare, direct to net) I quickly attached it to a basic NAT+firewall container of my own and the whole thing is currently humming on a dual core, 2GB bare bones KVM VPS.
Obviously, security is a major concern at this point. So, this won't go any further except for exploration and to satisfy my curiosity about how this guy has been able to make it thus far against all the odds.
Maybe there is something to learn from it.

Update 3:
My basic configuration has been working well so far. When I wanted to add a sip trunk, I noticed that chan_sip driver was not available. Therefore, I did it with pjsip and it worked fine. But, although obsolete, I still like having chan_sip around.
There are a couple of things that I particularly like about the docker approach - in the practical sense.
First, this thing is lightweight. So lightweight that I was worried some processes were actually stopped. Firing up my process monitoring tool evidenced and reassured me that everything is in working order.
Second, running additional instances of the PBX on separate containers while working off the same database is possible although it requires changing Docker's networking scheme.
The compatible networking scheme unfortunately broke my NAT+Firewall container, but I am hopeful that I can make them coexist and work together again. But that is not an issue if the Docker host is on a LAN behind a well configured Router/firewall.
So, I will probably take my test setup off a naked VPS and bring it to Proxmox in my lab.
One more thing; I was also able to run unrelated Docker containers (including my favorite email server container) alongside without a hitch (until I changed the networking scheme on Docker and messed up my networking container that is)

Update 4 & probably final:
After dicing and slicing the izpbx containers I think a discovered a series of weaknesses which probably explain the unstable nature of the implementation, although I have to say Ugo Viti, the guy who put this thing together has done a great job. My conclusion at this point is that it is possible to cherry pick the modules and get a dockerized FreePbx work reliably, but that would also fall short of the minimum functionality one would expect from it.
Some modules make the whole thing become very unstable and unpredictable.
Where I was most flabbergasted was the ease by which Docker's networking schemes can be broken down - pretty much all of them.
 
Last edited:
It's hard to drop this thing!
As I was troubleshooting unrelated containers that we deployed a few days ago I thought one more in the mix wouldn't hurt. So I went back into the izpbx material and resumed from where I had left off last time.
What I ended up with is a more robust version with more stable networking.
The following screen shot depicts the main console of the VPS (RackNerd triple core, 2.5GB RAM) where I have been running it. Thus, this is a Docker container on an Ubuntu 20.04 server running Xfce on-demand.
The same VPS is also running Citadel Mail server (standard install - not Dockerized) and a WordPress site on an Apache web engine.
To further test stability I placed 7 calls simultaneously before the picture was taken and let them run for over 20 minutes. Each line had crystal clear sound, no crackling, etc.
1651517002910.png
Who knows, a couple more rounds of troubleshooting and this little container might be ready for live action.
 
The 5-minute install time caught my attention. Take a look at our Rocky 8 and Debian 10 images of Incredible PBX at CrownCloud. $25 a year, and it's typically only a couple minute install with a preconfigured (and stable) KVM platform for Asterisk 18 with FreePBX 15 with all the bells and whistles. The 2021 Debian platform even includes free fax support out of the box.

P.S. CrownCloud in Atlanta should be back in stock later this week. They're adding new servers.
 
It's definitely faster than 5mn. My original install time included Docker too.
I can get the container up and running within seconds. But that's besides the point.
This container is nowhere near being as robust and polished as IncrediblePBX (any version of it).
Although the guy who made it seems to use it as the foundation of his customized product offering in Italy, I doubt that it is this version. He probably has a better version, or already moved to Kubernetes or LXC.
But it's a terrific toy for those who like looking under the hood.
Its CPU cycle requirements are one or two magnitude lower than a fully virtualized similar environment. To me that's the attraction.
 
@hecatae : I'm glad my post was of some use. I also wanted to update it regarding this particular docker implementation but also in general terms.
First, the implementation. I think the implementation logic remains very good, and probably the best in order to accommodate asterisk and freepbx. Compared to many other attempts this one stands out. Although it is really fast it is not production quality. When I say fast, I don't mean at human scale. But in terms of CPU cycles and I/O, this thing is 10 to 100 times faster than the closest VM implementation (kvm, virtualbox hyper-whatever ...). But its robustness is debatable.
As for the docker vulnerabilities ... well there are ... way too many to my taste ... although some of them are labeled as "revolutionary features"! (And I am really not interested to get into debates. I've done one too many.)
Thus if you are after learning new tricks about high speed virtualization by all means play with it. It is definitely worth the time and the effort. But if your end goal is to go for production quality deployment not only this particular implementation is not ready for it yet, I actually doubt that any Docker implementation will ever be able to do it safely.
 
Last edited:
Where I stand on Virtualization, currently lots of DO/Vultr/whatever things takes all that angst away, when I did it locally then I found Proxmox a great fit, Docker is a networking pain, LXD/LXC was more workable but in any case you really need a reverse proxy in front for control and you can only subdivide RTP ranges so much.
 

Members online

Forum statistics

Threads
26,706
Messages
174,531
Members
20,273
Latest member
rhys96999
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Back
Top