CommandBox
Power your mission-critical and enterprise applications with CommandBox
Last updated
Power your mission-critical and enterprise applications with CommandBox
Last updated
CommandBox is a standalone, native tool for Windows, Mac, and Linux that provides a Command-Line Interface (CLI) for developer productivity, tool interaction, package management, embedded JEE server, application scaffolding, and sweet ASCII art.
CommandBox seamlessly integrates to work with any of Ortus Solutions *Box products, but it is also open to extensibility for any BoxLang or CFML project. We have created a special servlet runtime for CommandBox so you can leverage it to deploy mission-critical and high-traffic web applications. We go even further with CommandBox PRO as part of our BoxLang subscriptions to give you tons of features like JDK management, Multi-site support, Multi-SSL support, Operating System service manager, SNI support, CAC Support, and so much more.
Find out about CommandBox Pro https://www.ortussolutions.com/products/commandbox-pro
You can find out more about getting started with CommandBox or CommandBox Pro in our CommandBox documentation.
Once installed, CommandBox needs (for the moment) the commandbox-boxlang
module to start BoxLang servers. So let's go ahead and install it:
This will add the right file types and handlers to CommandBox for BoxLang.
This will no longer be needed on CommandBox 6.1+
This guide is short and sweet. The hard part has been done. Now, you can start a BoxLang server like any other CommandBox server. So go to the webroot of your choosing and run:
Enjoy your server!
Like any other CommandBox server, the servers will be stored in your setup's CommandBox Home. The boxlang.json
, class folders, and modules will all be installed here.
Just like with any server, you can also install modules into the BoxLang server.
That's it. CommandBox knows where to put them and manage them.
You can also make your CommandBox BoxLang server portable with a server.json
file:
The servlet/CommandBox runtime uses the same env variables as the core OS. You can find them here.
Running BoxLangThe runtime source code can be found here: https://github.com/ortus-boxlang/boxlang-servlet
We welcome any pull requests, testing, docs, etc.
You can use your own custom boxlang.json
file to startup the engine by using the app.engineConfigFile
setting in your server.json
You can set the runtime into debug mode via a few approaches:
--debug
flag via the server start
commandenv.BOXLANG_DEBUG
env variableSet env.BOXLANG_DEBUG
in your server.json
file:
BOXLANG_DEBUG
in a .env fileSet BOXLANG_DEBUG=true
in a .env file
.cfconfig.json
debugMode
settingOr set debuggingEnabled
in your .cfconfig.json
server configuration file:
boxlang.json
fileUse the app.engineConfigFile
to seed a custom boxlang.json
file into the engine and use the normal settings in the boxlang.json
.