Docker and/or containers
As a company our systems are being replaced by containers instead of VMs. It gives us more control over our releases. We would like to run WHMCS from a container too. Building a container with all the WHMCS dependencies isn't difficult but there are a few points of interest that we struggle with.
This basically boils down to Composer support and a CLI that can interface with WHMCS.
- Installation. WHMCS, 3rd party modules and themes are not packaged (externally) with Composer. This makes it harder to manage the source code of your container and to manage new versions. You don't want to check in WHMCS in your local repo and combine them with all other plugins you need. We are used to Composer injecting PHP code into our container which comes down to almost only having composer.json in version control. We would also like to be able to do unattended WHMCS installations through a CLI as that helps during development.
- Updates. Similar as to what I described for the installation it would help if we could define versions in composer.json. This allows us to be specific about the version we would like to run for WHMCS and/or its plugins. As you may want to do unattended upgrades too (but definitely not always..) a system to detect upgrades and the ability to run them through a CLI would be a great addition too.
- Licensing. It would be great if you could specify the license with a CLI-call. I would also like to be able to run WHMCS on localhost no matter the license (I don't think it should be charged for at least). That way we can start up a development environment no matter where you are. This environment can of course be full of notifications about it not being a production system.
- Settings. A CLI call to manage settings allows us to define settings in source control.
These are the most important (and biggest) challenges for us.
We always open source our Docker base images with working examples on how to implement an application. We would be more than happy to do the same with WHMCS.