Introduction
Running Local Development Servers
Running Local Development Servers
Section titled “Running Local Development Servers”Wheels uses a Docker-based development environment that provides consistent, containerized development with support for multiple CFML engines and databases.
Prerequisites
Section titled “Prerequisites”- Docker: Install Docker Desktop from docker.com
- Wheels CLI: Install the Wheels CommandBox module:
Terminal window box install wheels-cli
Setting up Docker Development Environment
Section titled “Setting up Docker Development Environment”Ensure you are in the application root directory.
Initialize your Docker development environment:
wheels docker init cfengine=adobe cfversion=2018 db=mysqlCommand Options
Section titled “Command Options”cfengine options:
lucee- Lucee CFML engineadobe- Adobe ColdFusionboxlang- BoxLang CFML engine
cfversion options:
- Major versions for Adobe ColdFusion:
2018,2021,2023,2025 - Major versions for Lucee:
5,6,7 - Major versions for BoxLang:
1
db options:
mysql- MySQL databasepostgres- PostgreSQL databasemssql- Microsoft SQL Serverh2- H2 embedded databaseoracle- Oracle databasesqlite- SQLite embedded database
Generated Files
Section titled “Generated Files”The wheels docker init command creates several files in your project:
.dockerignore- Specifies files to exclude from Docker build contextDockerfile- Container definition for your chosen CFML enginedocker-compose.yml- Multi-container application definitionCFConfig.json- CFML engine configuration with datasource setup
Starting Your Development Environment
Section titled “Starting Your Development Environment”After running the init command, start your containers:
docker-compose up -dThe containers will take a few minutes to start the first time as Docker downloads the necessary images. Once started, your application will be available at:
- Default:
http://localhost:8080 - Custom port: Check your
server.jsonfile for the configured port
Managing Your Docker Environment
Section titled “Managing Your Docker Environment”# Stop the containersdocker-compose down
# View running containersdocker-compose ps
# View container logsdocker-compose logs
# Rebuild and restartdocker-compose up -d --buildAdditional Configuration
Section titled “Additional Configuration”Custom Ports
Section titled “Custom Ports”The default port is 8080, but you can customize this by modifying the server.json:
{ "name":"wheels", "web":{ "host":"localhost", "http":{ "port":3000 }, "webroot":"public", "rewrites":{ "enable":true, "config":"public/urlrewrite.xml" } }}Database Configuration
Section titled “Database Configuration”The generated CFConfig.json file automatically configures a datasource for your chosen database. The configuration includes:
- Connection settings for your selected database type
- Default datasource named
wheels-dev - Appropriate drivers for the database engine
Development Workflow
Section titled “Development Workflow”- Make code changes in your directory
- Changes are reflected immediately due to Docker volume mounting
- Database changes persist between container restarts
- Use standard Wheels commands like migrations, generators, etc.
Troubleshooting
Section titled “Troubleshooting”Containers won’t start:
# Check if ports are in usedocker-compose psnetstat -an | grep 8080
# Force recreate containersdocker-compose downdocker-compose up -d --force-recreateDatabase connection issues:
# Check database container logsdocker-compose logs db
# Restart just the databasedocker-compose restart dbPerformance issues:
- Ensure Docker Desktop has adequate memory allocated (4GB+ recommended)
- On Windows/Mac, enable file sharing for your project directory
{% hint style=“info” %}
CFIDE / Lucee administrators
Section titled “CFIDE / Lucee administrators”The default username and password for all administrators is admin & commandbox
{% endhint %}