Running CodeFusion with Docker

CodeFusion is available as a Docker image, providing an easy way to run the application without installing the software. The Docker image includes the Web UI mode and automatically starts on container launch.

Prerequisites

Docker Image Architecture

The CodeFusion Docker image supports multiple architectures:

  • linux/amd64 (x86_64) - for most Intel/AMD processors
  • linux/arm64 (ARM64) - for Apple Silicon, Raspberry Pi, and other ARM based computers

Docker automatically selects the correct architecture for your system.

Basic Usage

Running CodeFusion

To run CodeFusion with Docker, you need to:

  1. Map port 8384 so you can access the Web UI
  2. Mount a local folder to /app/CodeFusionFiles for file access
  3. Use --rm to automatically remove the container when it exits

Basic command:

docker run --rm -p 8384:8384 -v "/path/to/your/files:/app/CodeFusionFiles" whoicd/codefusion

Windows example:

docker run --rm -p 8384:8384 -v "C:/Users/YourName/Documents/CodeFusionFiles:/app/CodeFusionFiles" whoicd/codefusion

macOS/Linux example:

docker run --rm -p 8384:8384 -v "$HOME/CodeFusionFiles:/app/CodeFusionFiles" whoicd/codefusion

Accessing the Web UI

Once the container starts, access the Web UI at:

http://localhost:8384

The browser will show the CodeFusion interface where you can:

  • Browse and select files from your mounted folder
  • Configure processing parameters
  • Start and monitor processing tasks

Volume Mounting

The Docker container needs access to your input files. Use the -v flag to mount a local directory:

The Web UI file browser will show files from this directory.

The same folder is used by the system to save some additional files under the cache subfolder to speed up its work. We suggest keeping these files in this folder for better performance of the tool.

File Permissions

Linux/macOS: Ensure the mounted directory has appropriate read/write permissions:

chmod -R 755 /path/to/your/files

Windows: Docker Desktop handles permissions automatically.

Advanced Configuration

Custom Parameters

By default running CodeFusion in Docker will run it in UI mode so that you can access the configuration from the localhost:8384 web page. However, if you want you may run the docker version with a parameters file placed in the mounted folder

Placing a parameters file like the following would run CodeFusion in Docker with the settings provided in it

  "ui": false,
  "inputFile": "/app/CodeFusionFiles/sample.xlsx",
  "exitWhenFinished":true,
  "version":"2026"

This will run the CodeFusion with a file name sample.xlsx placed at the mounted folder

Custom Port

If port 8384 is already in use, map to a different port:

docker run --rm -p 9000:8384 -v "/path/to/your/files:/app/CodeFusionFiles" whoicd/codefusion

Access the UI at http://localhost:9000

Memory Limits

For large files, you may need to increase memory allocation:

docker run --rm -p 8384:8384 -m 4g -v "/path/to/your/files:/app/CodeFusionFiles" whoicd/codefusion

This limits the container to 4GB of RAM.

Idle Timeout

The Docker container includes an automatic idle timeout feature:

  • The application will shut down after 10 minutes of inactivity
  • The container will exit when idle timeout occurs
  • To restart, simply run the container again

This helps conserve resources when the container is left running unattended.

Troubleshooting

Cannot Access Web UI

  • Verify the container is running: docker ps
  • Ensure firewall allows connections on port 8384

Best Practices

  1. Always mount a volume - Without volume mounting, you won't be able to access files
  2. Use --rm flag - Automatically clean up containers after processing completes