Looking for guides/tutorials on using CommandBox to run Lucee in production

I’ve been using Lucee 6 and 7, installing Lucee with the Windows Installer and using IIS as a reverse proxy with the BonCode Connector in various capacities for a while now.

Aside from possibly using CommandBox in production for a many-IIS website set up to a single-site Lucee 7 instance, we might run another instance of Lucee for some long running tasks that work with our Python code running via cfexecute related to some AI Engineering we are doing.

We like Python for our AI Engineering work, don’t want to use any other language but Python for that. Eventually, we will run that Python code in a microservice or something and not use cfexecute in remote components.

As a result of possibly needing a second Lucee instance, I’ve looked into CommandBox. Running a Lucee server looks simple for development, but working through all the settings for production with server.json, running multiple Lucee instances on a single server, and using IIS as a reverse proxy with Lucee is a little more involved.

Are there some good instructions aside from the links I provided that are a little more detailed and focus for using CommandBox in a multi-Lucee instance in a production capacity for Windows? I’m reading the ortusbooks site and trying out things in my homelab, but digesting this information is a little more work than I’d like. Any good videos, tutorials, etc, would be appreciated.

https://docs.lucee.org/guides/getting-started/commandbox.html

https://commandbox.ortusbooks.com/embedded-server

I did get BoxLang working with CommandBox and running IIS as a reverse proxy for BoxLang using Brad Wood’s youtube video a while back (see below). I’m sure this will translate to Lucee as well.

https://www.youtube.com/watch?v=8q7sSZ7gK3E

It took a lot of work to absorb the setup, configuration, and maintenance process of running production-ready Lucee via the Windows installer. Just feeling a little underwhelmed at the documentation I’m finding online for using CommandBox in a similar capacity and not looking forward to all the work it will entail to feel comfortable running that in a production capacity as well.

What’s making you lean towards commandbox rather than a setup with Docker? I know the Ortus folks are great at advocating their stack, but the configs for running Lucee in Docker containers, separated out is pretty straight forward.

Unfortunately, this is going on a bare metal Windows Server. Docker really isn’t an option in this scenario. I realize that there numerous cloud and container options for Lucee available, those just won’t work for me in this scenario.

Most likely I will make some notes as I work through this config and run it for a while. Maybe I’ll share those if they end up being worth sharing.

I’m with quetwo on this.

CommandBox is fine for development, but consider using Docker for production. It has become the industry standard, even Brad Wood would agree.

This is especially true if you are running apps with various runtimes. Such as Python and CFML. They can easily share the same host if resources allow.

While Docker can be installed on Windows, using Linux makes much more sense.

If you want to use a Windows box, your best bet is to install Lucee and configure it to work with IIS. I don’t recommend this because it’s not immutable and you’ll be stuck with what you’re willing to do for maintenance. I’ve managed many of these types of installs and it’s no fun.

My understanding is that running a Lucee app with Commandbox is meant to be a developer recipe and I don’t think you’re going to want to use it for production. Maybe @Brad_Wood might have more to say on this since he’s the main Commandbox developer.

If I were you, I would seriously look into running Lucee on a Linux box with nginx as your web server, which will be cheaper than Windows. Perhaps this is not feasible, but I believe it’s the best production environment for Lucee. You can quite easily use Ai to build a immutable instances using Terraform, and then your server is built with code and you can destroy it and create a new one (with tweaks) as many times as you want.

As with many topics, this is one about which there are a variety of opinions. And if Brad or anyone at Ortus had seen this, they’d certainly welcome the chance to prop you up on your desire run Commandbox in production. :slight_smile:

Can you? Of course. Many do.

Do you need to integrate with iis? Well, no. They would explain how the undertow web server built into Commandbox should suffice even for prod needs. Still, some simply favor using IIS or feel compelled to due to existing configuration, etc.

Anyway, you were asking for resources (videos, tutorials) to help set it up/deal with Commandbox in prod, and while I still suspect someone at Ortus may point out a better one for your specific interests, here are a few to consider in the meantime, different from what you’d listed. Each presents a slightly different perspective on your question:

Let us know of any of those pique your interest or grease the skids.

Finally, rather than wait and hope for a response from Ortus here, this might have been better raised on their community instead: https://community.ortussolutions.com

If you do that, it may help to leave a link to that thread here, as a breadcrumb for future (or current) readers who may be interested in more on the topic. I realize some may disdain such cross posting, but it’s approaching 3 days for you already.