FreePBX Open-source-only option #1325

Closed
opened 2026-02-05 00:22:21 +03:00 by OVERLORD · 11 comments
Owner

Originally created by @devbyaccident on GitHub (Jul 23, 2025).

🌟 Briefly describe the feature

Add support for install flag during install

📝 Detailed description

FreePBX install script has an option for --opensourceonly, which installs it without all of the Sangoma plugins/ads/bloatware.

465a1b25fe/sng_freepbx_debian_install.sh (L63-L66)

💡 Why is this useful?

Would be nice to have the option to install freepbx without needing to go through 20 pages of sangoma ads and prompts.

Originally created by @devbyaccident on GitHub (Jul 23, 2025). ### 🌟 Briefly describe the feature Add support for install flag during install ### 📝 Detailed description FreePBX install script has an option for `--opensourceonly`, which installs it without all of the Sangoma plugins/ads/bloatware. https://github.com/FreePBX/sng_freepbx_debian_install/blob/465a1b25fe850b21fe9e3465d0689a89e13c9488/sng_freepbx_debian_install.sh#L63-L66 ### 💡 Why is this useful? Would be nice to have the option to install freepbx without needing to go through 20 pages of sangoma ads and prompts.
OVERLORD added the enhancement label 2026-02-05 00:22:21 +03:00
Author
Owner

@vsc55 commented on GitHub (Jul 24, 2025):

Hi @devbyaccident,

I was implementing this and I saw that the installer fails if you enable this option:

2025-07-24 20:54:31 - freepbx17 installed successfully....
2025-07-24 20:54:31 - Removing commercial modules
2025-07-24 20:54:59 - Installation failed at step Removing commercial modules. Please check log /var/log/pbx/freepbx17-install-2025.07.24-20.44.55.log for details.
2025-07-24 20:54:59 - Error at line: 1188 exiting with code 123 (last command was: xargs -I {} fwconsole ma -f remove {} >> "$log")
2025-07-24 20:54:59 - Exiting script

I'm going to report to freepbx.

Update:
I didn't have to report it, it was already reported.
https://github.com/FreePBX/sng_freepbx_debian_install/issues/183

@vsc55 commented on GitHub (Jul 24, 2025): Hi @devbyaccident, I was implementing this and I saw that the installer fails if you enable this option: ```bash 2025-07-24 20:54:31 - freepbx17 installed successfully.... 2025-07-24 20:54:31 - Removing commercial modules 2025-07-24 20:54:59 - Installation failed at step Removing commercial modules. Please check log /var/log/pbx/freepbx17-install-2025.07.24-20.44.55.log for details. 2025-07-24 20:54:59 - Error at line: 1188 exiting with code 123 (last command was: xargs -I {} fwconsole ma -f remove {} >> "$log") 2025-07-24 20:54:59 - Exiting script ``` I'm going to report to freepbx. **Update:** I didn't have to report it, it was already reported. https://github.com/FreePBX/sng_freepbx_debian_install/issues/183
Author
Owner

@vsc55 commented on GitHub (Jul 25, 2025):

Hi,
After thoroughly reviewing the freepbx installer, it's still not a good idea to use -opensourceonly as it uninstalls several components such as sysadmin17 or ioncube-loader.
The main problem is that uninstalling sysadmin17 means we can no longer use the freepbx firewall module as it uses dependencies on that module.
Furthermore, uninstalling ioncube-loader means we lose the option to install commercial modules such as sysadmin in the future.
To solve this, I'm creating an update that performs the standard installation and then uninstalls the commercial modules.

@vsc55 commented on GitHub (Jul 25, 2025): Hi, After thoroughly reviewing the freepbx installer, it's still not a good idea to use `-opensourceonly` as it uninstalls several components such as `sysadmin17` or `ioncube-loader`. The main problem is that uninstalling `sysadmin17` means we can no longer use the freepbx firewall module as it uses dependencies on that module. Furthermore, uninstalling `ioncube-loader` means we lose the option to install commercial modules such as sysadmin in the future. To solve this, I'm creating an update that performs the standard installation and then uninstalls the commercial modules.
Author
Owner

@devbyaccident commented on GitHub (Jul 26, 2025):

@vsc55 That sounds good, thanks!

@devbyaccident commented on GitHub (Jul 26, 2025): @vsc55 That sounds good, thanks!
Author
Owner

@vsc55 commented on GitHub (Aug 19, 2025):

Hi,
The PR for the non-commercial modules release has been merged into the developer branch.
https://community-scripts.github.io/ProxmoxVED/scripts?id=freepbx
If you want to try to see if everything works without problems, that would be perfect.

@vsc55 commented on GitHub (Aug 19, 2025): Hi, The PR for the non-commercial modules release has been merged into the developer branch. https://community-scripts.github.io/ProxmoxVED/scripts?id=freepbx If you want to try to see if everything works without problems, that would be perfect.
Author
Owner

@devbyaccident commented on GitHub (Aug 19, 2025):

Thanks! Will check on this tonight.

@devbyaccident commented on GitHub (Aug 19, 2025): Thanks! Will check on this tonight.
Author
Owner

@devbyaccident commented on GitHub (Aug 20, 2025):

Created with the default settings, remove commercial modules yes, remove firewall no.

Hit one warning, but it seemed to resolve.

⠇ Customizing LXC Containerdebconf: delaying package configuration, since apt-utils is not installed
⠋ Customizing LXC ContainerEnumerating objects: 1645, done.
Counting objects: 100% (1645/1645), done.
Delta compression using up to 2 threads
Compressing objects: 100% (1042/1042), done.
Writing objects: 100% (1645/1645), done.ts:  73% (1201/1645)
Total 1645 (delta 66), reused 1638 (delta 63), pack-reused 0

Also hit one php config file issue, was prompted for this part-way through. Hit the same for sshd_config soon after.

php.ini: A new version (/usr/lib/php/8.2/php.ini-production.cli) of configuration file /etc/php/8.2/cli/php.ini is available, but the version  │      
      │ installed currently has been locally modified. 

Kept the current file for all of them, but once it booted to turnkey and I set the initial pw, it came up with a 500 error.

Unparseable output from getservices - ["Exception: Asterisk is not connected in file \/var\/www\/html\/admin\/libraries\/php-asmanager.php on line 249","Stack trace:","  1. Exception->() \/var\/www\/html\>
@devbyaccident commented on GitHub (Aug 20, 2025): Created with the default settings, remove commercial modules yes, remove firewall no. Hit one warning, but it seemed to resolve. ``` ⠇ Customizing LXC Containerdebconf: delaying package configuration, since apt-utils is not installed ⠋ Customizing LXC ContainerEnumerating objects: 1645, done. Counting objects: 100% (1645/1645), done. Delta compression using up to 2 threads Compressing objects: 100% (1042/1042), done. Writing objects: 100% (1645/1645), done.ts: 73% (1201/1645) Total 1645 (delta 66), reused 1638 (delta 63), pack-reused 0 ``` Also hit one php config file issue, was prompted for this part-way through. Hit the same for sshd_config soon after. ``` php.ini: A new version (/usr/lib/php/8.2/php.ini-production.cli) of configuration file /etc/php/8.2/cli/php.ini is available, but the version │ │ installed currently has been locally modified. ``` Kept the current file for all of them, but once it booted to turnkey and I set the initial pw, it came up with a 500 error. ``` Unparseable output from getservices - ["Exception: Asterisk is not connected in file \/var\/www\/html\/admin\/libraries\/php-asmanager.php on line 249","Stack trace:"," 1. Exception->() \/var\/www\/html\> ```
Author
Owner

@vsc55 commented on GitHub (Aug 20, 2025):

Created with the default settings, remove commercial modules yes, remove firewall no.

Hit one warning, but it seemed to resolve.

⠇ Customizing LXC Containerdebconf: delaying package configuration, since apt-utils is not installed
⠋ Customizing LXC ContainerEnumerating objects: 1645, done.
Counting objects: 100% (1645/1645), done.
Delta compression using up to 2 threads
Compressing objects: 100% (1042/1042), done.
Writing objects: 100% (1645/1645), done.ts:  73% (1201/1645)
Total 1645 (delta 66), reused 1638 (delta 63), pack-reused 0

Also hit one php config file issue, was prompted for this part-way through. Hit the same for sshd_config soon after.

php.ini: A new version (/usr/lib/php/8.2/php.ini-production.cli) of configuration file /etc/php/8.2/cli/php.ini is available, but the version  │      
      │ installed currently has been locally modified. 

Kept the current file for all of them, but once it booted to turnkey and I set the initial pw, it came up with a 500 error.

Unparseable output from getservices - ["Exception: Asterisk is not connected in file \/var\/www\/html\/admin\/libraries\/php-asmanager.php on line 249","Stack trace:","  1. Exception->() \/var\/www\/html\>

Yes, by default I have left the firewall module installed, but the installer asks if you want to keep it or remove it.
I think the developer repository installer isn't very good, it's doing things that the normal version doesn't do.

Can you see which Debian template is being installed? I've launched it and it's using "template debian-12-standard_12.7-1_amd64.tar.zst [local]" for me.

  / ____/_______  ___  / __ \/ __ ) |/ /
  / /_  / ___/ _ \/ _ \/ /_/ / __  |   /
 / __/ / /  /  __/  __/ ____/ /_/ /   |
/_/   /_/   \___/\___/_/   /_____/_/|_|

  ⚙️  Using Default Settings on node pve01
  🆔  Container ID: 160
  🖥️  Operating System: debian (12)
  📦  Container Type: Unprivileged
  💾  Disk Size: 10 GB
  🧠  CPU Cores: 2
  🛠️  RAM Size: 2048 MiB
  🚀  Creating a FreePBX LXC using the above default settings

  ✔️   Storage nfs (Free: 3.6TB  Used: 6.8TB) [Template]
  ✔️   Storage nfs (Free: 4.9TB  Used: 25.9TB) [Container]
  ✔️   Cluster is quorate
  ✔️   Template debian-12-standard_12.7-1_amd64.tar.zst [local]
⠧ Creating LXC Container
@vsc55 commented on GitHub (Aug 20, 2025): > Created with the default settings, remove commercial modules yes, remove firewall no. > > Hit one warning, but it seemed to resolve. > > ``` > ⠇ Customizing LXC Containerdebconf: delaying package configuration, since apt-utils is not installed > ⠋ Customizing LXC ContainerEnumerating objects: 1645, done. > Counting objects: 100% (1645/1645), done. > Delta compression using up to 2 threads > Compressing objects: 100% (1042/1042), done. > Writing objects: 100% (1645/1645), done.ts: 73% (1201/1645) > Total 1645 (delta 66), reused 1638 (delta 63), pack-reused 0 > ``` > > Also hit one php config file issue, was prompted for this part-way through. Hit the same for sshd_config soon after. > > ``` > php.ini: A new version (/usr/lib/php/8.2/php.ini-production.cli) of configuration file /etc/php/8.2/cli/php.ini is available, but the version │ > │ installed currently has been locally modified. > ``` > > Kept the current file for all of them, but once it booted to turnkey and I set the initial pw, it came up with a 500 error. > > ``` > Unparseable output from getservices - ["Exception: Asterisk is not connected in file \/var\/www\/html\/admin\/libraries\/php-asmanager.php on line 249","Stack trace:"," 1. Exception->() \/var\/www\/html\> > ``` Yes, by default I have left the firewall module installed, but the installer asks if you want to keep it or remove it. I think the developer repository installer isn't very good, it's doing things that the normal version doesn't do. Can you see which Debian template is being installed? I've launched it and it's using "template debian-12-standard_12.7-1_amd64.tar.zst [local]" for me. ```bash / ____/_______ ___ / __ \/ __ ) |/ / / /_ / ___/ _ \/ _ \/ /_/ / __ | / / __/ / / / __/ __/ ____/ /_/ / | /_/ /_/ \___/\___/_/ /_____/_/|_| ⚙️ Using Default Settings on node pve01 🆔 Container ID: 160 🖥️ Operating System: debian (12) 📦 Container Type: Unprivileged 💾 Disk Size: 10 GB 🧠 CPU Cores: 2 🛠️ RAM Size: 2048 MiB 🚀 Creating a FreePBX LXC using the above default settings ✔️ Storage nfs (Free: 3.6TB Used: 6.8TB) [Template] ✔️ Storage nfs (Free: 4.9TB Used: 25.9TB) [Container] ✔️ Cluster is quorate ✔️ Template debian-12-standard_12.7-1_amd64.tar.zst [local] ⠧ Creating LXC Container ```
Author
Owner

@MickLesk commented on GitHub (Aug 20, 2025):

The Dev do the Same Like live, only with more supressed Logs ^^

@MickLesk commented on GitHub (Aug 20, 2025): The Dev do the Same Like live, only with more supressed Logs ^^
Author
Owner

@vsc55 commented on GitHub (Aug 20, 2025):

I just tried it and everything is ok:

pve-manager/9.0.5/9c5600b249dbfd2f (running kernel: 6.14.8-2-pve)

   / ____/_______  ___  / __ \/ __ ) |/ /
  / /_  / ___/ _ \/ _ \/ /_/ / __  |   /
 / __/ / /  /  __/  __/ ____/ /_/ /   |
/_/   /_/   \___/\___/_/   /_____/_/|_|

  ⚙️  Using Default Settings on node pve01
  🆔  Container ID: 160
  🖥️  Operating System: debian (12)
  📦  Container Type: Unprivileged
  💾  Disk Size: 10 GB
  🧠  CPU Cores: 2
  🛠️  RAM Size: 2048 MiB
  🚀  Creating a FreePBX LXC using the above default settings

  ✔️   Storage nfs (Free: 3.6TB  Used: 6.8TB) [Template]
  ✔️   Storage nfs (Free: 4.9TB  Used: 25.9TB) [Container]
  ✔️   Cluster is quorate
  ✔️   Template debian-12-standard_12.7-1_amd64.tar.zst [local]
  ✔️   LXC Container 160 was successfully created.
  ✔️   Startted LXC Container
   💡   No network yet in LXC (try 1/10) – waiting...
  ✔️   Network in LXC is reachable
  ✔️   Customized LXC Container
  ✔️   Set up Container OS
  ✔️   Network Connected: 192.168.X.X
  ✔️   IPv4 Internet Connected
   ✖️   IPv6 Internet Not Connected
  ✔️   Git DNS: github.com:(✔️ ) raw.githubusercontent.com:(✔️ ) api.github.com:(✔️ ) git.community-scripts.org:(✔️ )
  ✔️   Updated Container OS
  ✔️   Remove Commercial modules is set to: yes
  ✔️   Remove Firewall module is set to: no
  ✔️   Download completed successfully
  ✔️   Module adv_recovery removed successfully
  ✔️   Module areminder removed successfully
  ✔️   Module broadcast removed successfully
  ✔️   Module callaccounting removed successfully
  ✔️   Module callerid removed successfully
  ✔️   Module calllimit removed successfully
  ✔️   Module cdrpro removed successfully
  ✔️   Module conferencespro removed successfully
  ✔️   Module cos removed successfully
  ✔️   Module endpoint removed successfully
  ✔️   Module extensionroutes removed successfully
  ✔️   Module faxpro removed successfully
   ✖️   Module oracle_connector could not be removed - error code 2
  ✔️   Module pagingpro removed successfully
  ✔️   Module parkpro removed successfully
  ✔️   Module pbxmfa removed successfully
  ✔️   Module pinsetspro removed successfully
  ✔️   Module pms removed successfully
  ✔️   Module queuestats removed successfully
  ✔️   Module qxact_reports removed successfully
  ✔️   Module recording_report removed successfully
  ✔️   Module restapps removed successfully
  ✔️   Module sangomaconnect removed successfully
  ✔️   Module sangomacrm removed successfully
  ✔️   Module sangomartapi removed successfully
  ✔️   Module scribe removed successfully
  ✔️   Module sipstation removed successfully
  ✔️   Module sms removed successfully
  ✔️   Module smsplus removed successfully
   💡   Skipping sysadmin module removal, it is required for Firewall!
  ✔️   Module vmnotify removed successfully
  ✔️   Module voicemail_report removed successfully
  ✔️   Module voipinnovations removed successfully
  ✔️   Module vqplus removed successfully
  ✔️   Module webcallback removed successfully
   💡   Not all commercial modules could be removed, retrying (attempt 1 of 5)...
  ✔️   Module oracle_connector removed successfully
   💡   Skipping sysadmin module removal, it is required for Firewall!
  ✔️   Only sysadmin module left, which is required for Firewall, skipping removal
  ✔️   FreePBX reloaded completely
  ✔️   Installed FreePBX finished
  ✔️   Customized Container
  ✔️   Cleaned
  ✔️   Completed Successfully!

  🚀  FreePBX setup has been successfully initialized!
  💡   Access it using the following URL:
    🌐  http://192.168.X.X
Image Image
@vsc55 commented on GitHub (Aug 20, 2025): I just tried it and everything is ok: **pve-manager/9.0.5/9c5600b249dbfd2f (running kernel: 6.14.8-2-pve)** ```bash / ____/_______ ___ / __ \/ __ ) |/ / / /_ / ___/ _ \/ _ \/ /_/ / __ | / / __/ / / / __/ __/ ____/ /_/ / | /_/ /_/ \___/\___/_/ /_____/_/|_| ⚙️ Using Default Settings on node pve01 🆔 Container ID: 160 🖥️ Operating System: debian (12) 📦 Container Type: Unprivileged 💾 Disk Size: 10 GB 🧠 CPU Cores: 2 🛠️ RAM Size: 2048 MiB 🚀 Creating a FreePBX LXC using the above default settings ✔️ Storage nfs (Free: 3.6TB Used: 6.8TB) [Template] ✔️ Storage nfs (Free: 4.9TB Used: 25.9TB) [Container] ✔️ Cluster is quorate ✔️ Template debian-12-standard_12.7-1_amd64.tar.zst [local] ✔️ LXC Container 160 was successfully created. ✔️ Startted LXC Container 💡 No network yet in LXC (try 1/10) – waiting... ✔️ Network in LXC is reachable ✔️ Customized LXC Container ✔️ Set up Container OS ✔️ Network Connected: 192.168.X.X ✔️ IPv4 Internet Connected ✖️ IPv6 Internet Not Connected ✔️ Git DNS: github.com:(✔️ ) raw.githubusercontent.com:(✔️ ) api.github.com:(✔️ ) git.community-scripts.org:(✔️ ) ✔️ Updated Container OS ✔️ Remove Commercial modules is set to: yes ✔️ Remove Firewall module is set to: no ✔️ Download completed successfully ✔️ Module adv_recovery removed successfully ✔️ Module areminder removed successfully ✔️ Module broadcast removed successfully ✔️ Module callaccounting removed successfully ✔️ Module callerid removed successfully ✔️ Module calllimit removed successfully ✔️ Module cdrpro removed successfully ✔️ Module conferencespro removed successfully ✔️ Module cos removed successfully ✔️ Module endpoint removed successfully ✔️ Module extensionroutes removed successfully ✔️ Module faxpro removed successfully ✖️ Module oracle_connector could not be removed - error code 2 ✔️ Module pagingpro removed successfully ✔️ Module parkpro removed successfully ✔️ Module pbxmfa removed successfully ✔️ Module pinsetspro removed successfully ✔️ Module pms removed successfully ✔️ Module queuestats removed successfully ✔️ Module qxact_reports removed successfully ✔️ Module recording_report removed successfully ✔️ Module restapps removed successfully ✔️ Module sangomaconnect removed successfully ✔️ Module sangomacrm removed successfully ✔️ Module sangomartapi removed successfully ✔️ Module scribe removed successfully ✔️ Module sipstation removed successfully ✔️ Module sms removed successfully ✔️ Module smsplus removed successfully 💡 Skipping sysadmin module removal, it is required for Firewall! ✔️ Module vmnotify removed successfully ✔️ Module voicemail_report removed successfully ✔️ Module voipinnovations removed successfully ✔️ Module vqplus removed successfully ✔️ Module webcallback removed successfully 💡 Not all commercial modules could be removed, retrying (attempt 1 of 5)... ✔️ Module oracle_connector removed successfully 💡 Skipping sysadmin module removal, it is required for Firewall! ✔️ Only sysadmin module left, which is required for Firewall, skipping removal ✔️ FreePBX reloaded completely ✔️ Installed FreePBX finished ✔️ Customized Container ✔️ Cleaned ✔️ Completed Successfully! 🚀 FreePBX setup has been successfully initialized! 💡 Access it using the following URL: 🌐 http://192.168.X.X ``` <img width="1904" height="878" alt="Image" src="https://github.com/user-attachments/assets/4ea56df5-3070-4b05-8441-9ae08cb3f102" /> <img width="1903" height="2790" alt="Image" src="https://github.com/user-attachments/assets/4560e7e7-470d-4d7e-a533-fed825abbe75" />
Author
Owner

@vsc55 commented on GitHub (Aug 20, 2025):

The Dev do the Same Like live, only with more supressed Logs ^^

Hi @MickLesk,
That's what I mean, they are not the same and there are some things that the normal version doesn't do, such as when selecting pool templates, the text "checking template storage" appears on the menu, damaging it, this via SSH.
Image

Only with the template menu, the storage menu will work correctly.

@vsc55 commented on GitHub (Aug 20, 2025): > The Dev do the Same Like live, only with more supressed Logs ^^ Hi @MickLesk, That's what I mean, they are not the same and there are some things that the normal version doesn't do, such as when selecting pool templates, the text "checking template storage" appears on the menu, damaging it, this via SSH. <img width="1366" height="873" alt="Image" src="https://github.com/user-attachments/assets/09536fd3-299d-4cc5-b944-63cc667c6afa" /> Only with the template menu, the storage menu will work correctly.
Author
Owner

@vsc55 commented on GitHub (Aug 20, 2025):

Ok, I see that the firewall module is not being removed even when you do a full uninstall.
I review it.

@vsc55 commented on GitHub (Aug 20, 2025): Ok, I see that the firewall module is not being removed even when you do a full uninstall. I review it.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#1325