The Moose CLI is designed to run a single instance of the Moose stack locally. Running multiple Moose projects simultaneously on the same machine leads to port conflicts, as each instance tries to bind to the same default ports. This issue doesn’t arise when using separate machines, virtual machines, or container orchestrators like Docker, Kubernetes, Amazon ECS, or EKS.
However, with a few adjustments, you can run multiple Moose projects locally—and even enable them to communicate with each other if needed.
Each project includes a moose.config.toml file, which defines port mappings for the Moose stack’s services. To avoid conflicts, simply modify these port assignments for each project instance.
For example, suppose the default config includes:
[http_server_config]
host = "localhost"
port = 4000
management_port = 5000
If you duplicate a Moose project into another folder, update its config to use a different port range—say, increment each port by 100:
[http_server_config]
host = "localhost"
port = 4100
management_port = 5100
Repeat this process for each additional project to ensure all ports are unique.