SlideShare a Scribd company logo
INTO THE BOX 2024
Web Hosting With
CommandBox
Daniel Garcia
SPEAKER ITB 2024
● Senior Developer at Ortus Solutions
● Help Co-Host the Modernize or Die podcast
● Been using ColdFusion since 1999 (version 4)
● Cinephile (loves movies)
● Regaler of useless knowledge (loves trivia)
● Smoker of Meats
● Part-time Radio DJ
● Part-time non-traditional grad student
○ New Mexico State University - Go Aggies!
○ Graduating December 2024!
INTO THE BOX 2024
Shameless Self-Promotion
ortussolutions.com
ortussolutions.com/podcast
INTO THE BOX 2024
Shameless Self-Promotion
Tune in Sunday nights at
masterzradio.com!
What is CommandBox?
CommandBox is a standalone, native tool for Windows, Mac, and Linux that will provide you with a
Command Line Interface (CLI) for developer productivity, tool interaction, package management, embedded
CFML server, application scaffolding, and some sweet ASCII art.
• Command Line for ColdFusion (CFML)
• Operating System integration for executing
commands
• Ability to create and execute commands
built using ColdFusion (CFML)
• ForgeBox integration for cloud package
management and installations
• ColdBox Platform, TestBox, and
ContentBox CMS Integrations
• Integrated servlet server with rewrite
capabilities
INTO THE BOX 2024
• Ability to create command recipes and
execution
• REPL (Read-Evaluate-Print-Loop) console
for immediate ColdFusion (CFML)
interaction
• Ability to interact with user via CLI and
create workflows and installers
• Ability to execute workflows and tasks
• Built-in Help system
INTO THE BOX 2024
Why use CommandBox for hosting?
• It's easy to start a site!
• Many configurations supported (standalone, reverse proxy, multisite, Docker)
• Open CommandBox, browse to the directory, and type start
• Can use Adobe ColdFusion, Lucee, or BoxLang (soon)
• Use Configuration as Code to streamline management
• Use environment variables for location specific settings and secrets
• Use cfconfig to configure the CF engine
• Store in version control to easily manage changes and share with others
INTO THE BOX 2024
Ways of using CommandBox for hosting
INTO THE BOX 2024
Standalone Reverse Proxy Multi-Site Docker
Standalone
• CommandBox serves the website itself
• Uses the Undertow web server
• Can use whatever CF engine and version you like
• Is very performant
• Supports SSL certs and rewrite rules
• Set your server ports
• Set your host name if needed
• Set your environment variables and cfconfig
INTO THE BOX 2024
Reverse Proxy
• A web server (like NGINX) sits in front and handles request
• SSL, server rules, etc can be handled by proxy
• Web server accepts request and proxies it to CommandBox
• CommandBox processes the request and returns the content
• Can support multiple sites running on standard ports (80/443)
• CommandBox is configured similarly to Standalone, except will
have unique ports per CommandBox site
• Each CommandBox site can use its own engine and version
• Can use any frontend proxy as long as it can communicate access
the CommandBox site
○ Example: Use CloudFlare load balancer in front of server
INTO THE BOX 2024
Multi-Site
• Conceptually similar to reverse proxy
○ A big difference is that CommandBox handles everything!
• Can support multiple sites within a single process
• Memory usage can be shared among all the sites
• All sites use the same engine and version
• SSL, server rules, etc are supported per site
• CommandBox accepts request and serves up appropriate site
based on host header
• Can support multiple sites running on standard ports (80/443)
• Entire configuration can be scripted and stored in version control
INTO THE BOX 2024
Docker
• Conceptually different than other options but configured similarly
• CommandBox serves the sites similar to other options
• Use containers for deployment
○ This is different than a traditional virtual server
• Can use whatever CF engine and version you like
• Entire configuration can be scripted and stored in version control
• Deployment can be automated with CI/CD
INTO THE BOX 2024
CommandBox Service Manager
• Create and manage services for your sites
• Support on Windows, Mac, and Linux
○ Not needed for Docker hosting
• Websites can start automatically on server startup
• Websites can be restarted to reload settings, etc.
○ Can be scripted at part of CI/CD
• Commercial product, is $59 per server
• No limit on services per server
• Each server using it needs its own license regardless
of use case (Production, Staging, Development, etc)
• Is included with CommandBox Pro!
INTO THE BOX 2024
CommandBox Pro
• Includes everything from open source version and more!
• Comes with Support and Business Level SLAs
• Includes CommandBox Service Manager
• Includes one ForgeBox Pro subscription per server
• Incudes one Cache extension license of choice per server license
○ Redis, Couchbase, MongoDB
• Licensed for either virtual servers or containers
○ CommandBox PRO Server License
■ $1699 CommandBox PRO per server license per year
■ Free for non-production
○ CommandBox Pro Container Pack
■ $699 - Unlimited cores
■ A 3-pack of container deployments burstable to 6
■ Free for non-production
INTO THE BOX 2024
CommandBox Best Practices
• Use environment variables to store site specific values
• Use environment variables to store secrets
○ Passwords, API Keys, authorization tokens, etc
• Use cfconfig to manage server configurations
• Do NOT hardcode server values in cfconfig or server.json unless
○ They are the same for all instances of the server
○ They do NOT contain sensitive information
■ No SECRETS!
• Use Server Profiles to secure sites
○ Development, Production, None
○ Will enable/disable things like
■ Directory Browsing
■ Block CF Admin
■ Block Sensitive Paths
■ Block Flash Remoting
INTO THE BOX 2024
INTO THE BOX 2024
INTO THE BOX 2024
Demo Files
https://github.com/garciadev/itb-2024-hosting-with-commandbox
INTO THE BOX 2024
INTO THE BOX 2024
Thanks!
INTO THE BOX 2024
Daniel Garcia
Senior Developer
Ortus Solutions, Corp
dgarcia@ortussolutions.com
linkedin.com/in/danieljgarcia
INTO THE BOX 2024
THANK YOU TO OUR
SPONSORS
INTO THE BOX 2024

More Related Content

Similar to Web Hosting with CommandBox and CommandBox Pro

Building Python Development Station
Building Python Development StationBuilding Python Development Station
Building Python Development Station
Basim Aly (JNCIP-SP, JNCIP-ENT)
 
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Ortus Solutions, Corp
 
Brad Wood 5 command box modules you should be using
Brad Wood   5 command box modules you should be usingBrad Wood   5 command box modules you should be using
Brad Wood 5 command box modules you should be using
Ortus Solutions, Corp
 
Meetup devops
Meetup devopsMeetup devops
Meetup devops
Leonard Moustacchis
 
Use Docker to Enhance Your Testing
Use Docker to Enhance Your TestingUse Docker to Enhance Your Testing
Use Docker to Enhance Your Testing
TechWell
 
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdfITB2024 - Keynote Day 1 - Ortus Solutions.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
Ortus Solutions, Corp
 
Linux Servers
Linux ServersLinux Servers
Linux Servers
Ranjith Siji
 
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with DockerSCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
Kenny Buntinx
 
CommandBox at CFCamp 2014
CommandBox at CFCamp 2014CommandBox at CFCamp 2014
CommandBox at CFCamp 2014
Ortus Solutions, Corp
 
You, and Me, and Docker Makes Three
You, and Me, and Docker Makes ThreeYou, and Me, and Docker Makes Three
You, and Me, and Docker Makes Three
Christopher Grayson
 
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Mickaël Rémond
 
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
John Heaton
 
Oracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackOracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attack
Bobby Curtis
 
HTTP - The Other Face Of Domino
HTTP - The Other Face Of DominoHTTP - The Other Face Of Domino
HTTP - The Other Face Of Domino
Gabriella Davis
 
Preparing your dockerised application for production deployment
Preparing your dockerised application for production deploymentPreparing your dockerised application for production deployment
Preparing your dockerised application for production deployment
Dave Ward
 
ITB2015 - Go Commando with CommandBox CLI
ITB2015 - Go Commando with CommandBox CLIITB2015 - Go Commando with CommandBox CLI
ITB2015 - Go Commando with CommandBox CLI
Ortus Solutions, Corp
 
Command box
Command boxCommand box
Command box
devObjective
 
Command box
Command boxCommand box
Docker introduction
Docker introductionDocker introduction
Docker introduction
Phuc Nguyen
 
Data Virtualization in the Cloud: Accelerating Data Virtualization Adoption
Data Virtualization in the Cloud: Accelerating Data Virtualization AdoptionData Virtualization in the Cloud: Accelerating Data Virtualization Adoption
Data Virtualization in the Cloud: Accelerating Data Virtualization Adoption
Denodo
 

Similar to Web Hosting with CommandBox and CommandBox Pro (20)

Building Python Development Station
Building Python Development StationBuilding Python Development Station
Building Python Development Station
 
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
 
Brad Wood 5 command box modules you should be using
Brad Wood   5 command box modules you should be usingBrad Wood   5 command box modules you should be using
Brad Wood 5 command box modules you should be using
 
Meetup devops
Meetup devopsMeetup devops
Meetup devops
 
Use Docker to Enhance Your Testing
Use Docker to Enhance Your TestingUse Docker to Enhance Your Testing
Use Docker to Enhance Your Testing
 
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdfITB2024 - Keynote Day 1 - Ortus Solutions.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
 
Linux Servers
Linux ServersLinux Servers
Linux Servers
 
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with DockerSCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
 
CommandBox at CFCamp 2014
CommandBox at CFCamp 2014CommandBox at CFCamp 2014
CommandBox at CFCamp 2014
 
You, and Me, and Docker Makes Three
You, and Me, and Docker Makes ThreeYou, and Me, and Docker Makes Three
You, and Me, and Docker Makes Three
 
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
 
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
 
Oracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackOracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attack
 
HTTP - The Other Face Of Domino
HTTP - The Other Face Of DominoHTTP - The Other Face Of Domino
HTTP - The Other Face Of Domino
 
Preparing your dockerised application for production deployment
Preparing your dockerised application for production deploymentPreparing your dockerised application for production deployment
Preparing your dockerised application for production deployment
 
ITB2015 - Go Commando with CommandBox CLI
ITB2015 - Go Commando with CommandBox CLIITB2015 - Go Commando with CommandBox CLI
ITB2015 - Go Commando with CommandBox CLI
 
Command box
Command boxCommand box
Command box
 
Command box
Command boxCommand box
Command box
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Data Virtualization in the Cloud: Accelerating Data Virtualization Adoption
Data Virtualization in the Cloud: Accelerating Data Virtualization AdoptionData Virtualization in the Cloud: Accelerating Data Virtualization Adoption
Data Virtualization in the Cloud: Accelerating Data Virtualization Adoption
 

More from Ortus Solutions, Corp

Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
Ortus Solutions, Corp
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
Ortus Solutions, Corp
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
Ortus Solutions, Corp
 
BoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and DebuggerBoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and Debugger
Ortus Solutions, Corp
 
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
Ortus Solutions, Corp
 
Revolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBoxRevolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBox
Ortus Solutions, Corp
 
Disk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFSDisk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFS
Ortus Solutions, Corp
 
How to Break Your App with Playwright Tests
How to Break Your App with Playwright TestsHow to Break Your App with Playwright Tests
How to Break Your App with Playwright Tests
Ortus Solutions, Corp
 
Securing Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecuritySecuring Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecurity
Ortus Solutions, Corp
 
Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?
Ortus Solutions, Corp
 
Design system: The basis for a consistent design
Design system: The basis for a consistent designDesign system: The basis for a consistent design
Design system: The basis for a consistent design
Ortus Solutions, Corp
 
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
Ortus Solutions, Corp
 
How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?
Ortus Solutions, Corp
 
What’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdfWhat’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdf
Ortus Solutions, Corp
 
cbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortuscbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortus
Ortus Solutions, Corp
 
Demonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and LuceeDemonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and Lucee
Ortus Solutions, Corp
 
Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!
Ortus Solutions, Corp
 
Build a Complex Web Form with RuleBox and TestBox
Build a Complex Web Form with RuleBox and TestBoxBuild a Complex Web Form with RuleBox and TestBox
Build a Complex Web Form with RuleBox and TestBox
Ortus Solutions, Corp
 
Reactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus SolutionsReactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus Solutions
Ortus Solutions, Corp
 
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Ortus Solutions, Corp
 

More from Ortus Solutions, Corp (20)

Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
 
BoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and DebuggerBoxLang Developer Tooling: VSCode Extension and Debugger
BoxLang Developer Tooling: VSCode Extension and Debugger
 
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
How to debug ColdFusion Applications using “ColdFusion Builder extension for ...
 
Revolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBoxRevolutionizing Task Scheduling in ColdBox
Revolutionizing Task Scheduling in ColdBox
 
Disk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFSDisk to Cloud: Abstract your File Operations with CBFS
Disk to Cloud: Abstract your File Operations with CBFS
 
How to Break Your App with Playwright Tests
How to Break Your App with Playwright TestsHow to Break Your App with Playwright Tests
How to Break Your App with Playwright Tests
 
Securing Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecuritySecuring Your Application with Passkeys and cbSecurity
Securing Your Application with Passkeys and cbSecurity
 
Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?Schrodinger’s Backup: Is Your Backup Really a Backup?
Schrodinger’s Backup: Is Your Backup Really a Backup?
 
Design system: The basis for a consistent design
Design system: The basis for a consistent designDesign system: The basis for a consistent design
Design system: The basis for a consistent design
 
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
ColdBox Debugger v4.2.0: Unveiling Advanced Debugging Techniques for ColdBox ...
 
How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?How to Make a Living as a (ColdFusion) Freelancer?
How to Make a Living as a (ColdFusion) Freelancer?
 
What’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdfWhat’s New in ContentBox 6 by Ortus Solutions.pdf
What’s New in ContentBox 6 by Ortus Solutions.pdf
 
cbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortuscbq - Jobs and Tasks in the Background by Ortus
cbq - Jobs and Tasks in the Background by Ortus
 
Demonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and LuceeDemonstrating Monitoring Solutions for CF and Lucee
Demonstrating Monitoring Solutions for CF and Lucee
 
Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!Ortus Solutions - Headless Content for the Win!
Ortus Solutions - Headless Content for the Win!
 
Build a Complex Web Form with RuleBox and TestBox
Build a Complex Web Form with RuleBox and TestBoxBuild a Complex Web Form with RuleBox and TestBox
Build a Complex Web Form with RuleBox and TestBox
 
Reactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus SolutionsReactive CFML with CBWIRE v4 by Ortus Solutions
Reactive CFML with CBWIRE v4 by Ortus Solutions
 
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
Building Scaleable Serverless Event-Driven Computing with AWS Lambda powered ...
 

Recently uploaded

CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
bhatinidhi2001
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
ThousandEyes
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
VishrutGoyani1
 
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Asher Sterkin
 
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
Roshan Dwivedi
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
miso_uam
 
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
SimonedeGijt
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
908dutch
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
karim wahed
 
Break data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud ConnectorsBreak data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud Connectors
confluent
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Estuary Flow
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
DNUG e.V.
 
active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
sudsdeep
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
onemonitarsoftware
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
sudsdeep
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
Mitchell Marsh
 
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Softwares
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
Mindfire Solution
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Sparity1
 

Recently uploaded (20)

CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
 
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
 
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
 
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
 
Break data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud ConnectorsBreak data silos with real-time connectivity using Confluent Cloud Connectors
Break data silos with real-time connectivity using Confluent Cloud Connectors
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
 
active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
 
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
 

Web Hosting with CommandBox and CommandBox Pro

  • 1. INTO THE BOX 2024 Web Hosting With CommandBox
  • 2. Daniel Garcia SPEAKER ITB 2024 ● Senior Developer at Ortus Solutions ● Help Co-Host the Modernize or Die podcast ● Been using ColdFusion since 1999 (version 4) ● Cinephile (loves movies) ● Regaler of useless knowledge (loves trivia) ● Smoker of Meats ● Part-time Radio DJ ● Part-time non-traditional grad student ○ New Mexico State University - Go Aggies! ○ Graduating December 2024!
  • 3. INTO THE BOX 2024 Shameless Self-Promotion ortussolutions.com ortussolutions.com/podcast
  • 4. INTO THE BOX 2024 Shameless Self-Promotion Tune in Sunday nights at masterzradio.com!
  • 5. What is CommandBox? CommandBox is a standalone, native tool for Windows, Mac, and Linux that will provide you with a Command Line Interface (CLI) for developer productivity, tool interaction, package management, embedded CFML server, application scaffolding, and some sweet ASCII art. • Command Line for ColdFusion (CFML) • Operating System integration for executing commands • Ability to create and execute commands built using ColdFusion (CFML) • ForgeBox integration for cloud package management and installations • ColdBox Platform, TestBox, and ContentBox CMS Integrations • Integrated servlet server with rewrite capabilities INTO THE BOX 2024 • Ability to create command recipes and execution • REPL (Read-Evaluate-Print-Loop) console for immediate ColdFusion (CFML) interaction • Ability to interact with user via CLI and create workflows and installers • Ability to execute workflows and tasks • Built-in Help system
  • 7. Why use CommandBox for hosting? • It's easy to start a site! • Many configurations supported (standalone, reverse proxy, multisite, Docker) • Open CommandBox, browse to the directory, and type start • Can use Adobe ColdFusion, Lucee, or BoxLang (soon) • Use Configuration as Code to streamline management • Use environment variables for location specific settings and secrets • Use cfconfig to configure the CF engine • Store in version control to easily manage changes and share with others INTO THE BOX 2024
  • 8. Ways of using CommandBox for hosting INTO THE BOX 2024 Standalone Reverse Proxy Multi-Site Docker
  • 9. Standalone • CommandBox serves the website itself • Uses the Undertow web server • Can use whatever CF engine and version you like • Is very performant • Supports SSL certs and rewrite rules • Set your server ports • Set your host name if needed • Set your environment variables and cfconfig INTO THE BOX 2024
  • 10. Reverse Proxy • A web server (like NGINX) sits in front and handles request • SSL, server rules, etc can be handled by proxy • Web server accepts request and proxies it to CommandBox • CommandBox processes the request and returns the content • Can support multiple sites running on standard ports (80/443) • CommandBox is configured similarly to Standalone, except will have unique ports per CommandBox site • Each CommandBox site can use its own engine and version • Can use any frontend proxy as long as it can communicate access the CommandBox site ○ Example: Use CloudFlare load balancer in front of server INTO THE BOX 2024
  • 11. Multi-Site • Conceptually similar to reverse proxy ○ A big difference is that CommandBox handles everything! • Can support multiple sites within a single process • Memory usage can be shared among all the sites • All sites use the same engine and version • SSL, server rules, etc are supported per site • CommandBox accepts request and serves up appropriate site based on host header • Can support multiple sites running on standard ports (80/443) • Entire configuration can be scripted and stored in version control INTO THE BOX 2024
  • 12. Docker • Conceptually different than other options but configured similarly • CommandBox serves the sites similar to other options • Use containers for deployment ○ This is different than a traditional virtual server • Can use whatever CF engine and version you like • Entire configuration can be scripted and stored in version control • Deployment can be automated with CI/CD INTO THE BOX 2024
  • 13. CommandBox Service Manager • Create and manage services for your sites • Support on Windows, Mac, and Linux ○ Not needed for Docker hosting • Websites can start automatically on server startup • Websites can be restarted to reload settings, etc. ○ Can be scripted at part of CI/CD • Commercial product, is $59 per server • No limit on services per server • Each server using it needs its own license regardless of use case (Production, Staging, Development, etc) • Is included with CommandBox Pro! INTO THE BOX 2024
  • 14. CommandBox Pro • Includes everything from open source version and more! • Comes with Support and Business Level SLAs • Includes CommandBox Service Manager • Includes one ForgeBox Pro subscription per server • Incudes one Cache extension license of choice per server license ○ Redis, Couchbase, MongoDB • Licensed for either virtual servers or containers ○ CommandBox PRO Server License ■ $1699 CommandBox PRO per server license per year ■ Free for non-production ○ CommandBox Pro Container Pack ■ $699 - Unlimited cores ■ A 3-pack of container deployments burstable to 6 ■ Free for non-production INTO THE BOX 2024
  • 15. CommandBox Best Practices • Use environment variables to store site specific values • Use environment variables to store secrets ○ Passwords, API Keys, authorization tokens, etc • Use cfconfig to manage server configurations • Do NOT hardcode server values in cfconfig or server.json unless ○ They are the same for all instances of the server ○ They do NOT contain sensitive information ■ No SECRETS! • Use Server Profiles to secure sites ○ Development, Production, None ○ Will enable/disable things like ■ Directory Browsing ■ Block CF Admin ■ Block Sensitive Paths ■ Block Flash Remoting INTO THE BOX 2024
  • 16. INTO THE BOX 2024
  • 17. INTO THE BOX 2024 Demo Files https://github.com/garciadev/itb-2024-hosting-with-commandbox
  • 18. INTO THE BOX 2024
  • 19. INTO THE BOX 2024 Thanks!
  • 20. INTO THE BOX 2024 Daniel Garcia Senior Developer Ortus Solutions, Corp dgarcia@ortussolutions.com linkedin.com/in/danieljgarcia
  • 21. INTO THE BOX 2024 THANK YOU TO OUR SPONSORS INTO THE BOX 2024