Skip to main content
Skip table of contents

Installation

⚠️ The previously distributed standalone Dart-Services application has been deprecated. Please use the Docker Compose method described below.

A guide to installing and running the Dart-Services simulator and build modules using Docker Compose.

This guide is written for Docker Desktop and Rancher Desktop, but works with any environment that supports docker compose. (e.g., Podman Desktop, OrbStack, etc.)


Windows

1. Install Docker

Choose one of the following:

Docker Desktop (paid for commercial use)

POWERSHELL
winget install Docker.DockerDesktop

Rancher Desktop (free)

POWERSHELL
winget install suse.RancherDesktop
  • After installation, select dockerd (moby) as the container runtime → Settings guide

ℹ️ If winget is not available
winget is included by default on Windows 10 1709 and later. If not available, install App Installer from the Microsoft Store or download manually:

2. Download

POWERSHELL
curl.exe -L -o dart-services-compose.zip https://github.com/DoosanRobotics/dart-services-compose/archive/refs/heads/main.zip
Expand-Archive dart-services-compose.zip -DestinationPath .
cd dart-services-compose-main

To change the SDK version, robot model, or resource limits, edit the .env file before running.

CODE
# Simulator SDK version (sdk2 ~ sdk5)
SDK_VERSION=sdk5

# Robot model
# Options: M0609, M0617, M1013, M1509, A0509, A0912, H2017, H2515, E0509, P3020
ROBOT_MODEL=M1013

# Simulator resources
SIMULATOR_CPU=4
SIMULATOR_MEMORY=2g

3. Run

POWERSHELL
# Start simulator + build modules
docker compose --profile build up -d

# Start simulator only:
#docker compose up -d

Simulator data is automatically created at the following path relative to where docker compose up is executed:

CODE
data/
└── sdk5/
    └── M1013/

4. Stop

POWERSHELL
docker compose --profile build down

5. Update images

POWERSHELL
docker compose --profile build pull
docker compose --profile build up -d

Mac

1. Install Docker

Choose one of the following:

Docker Desktop (paid for commercial use)

BASH
brew install --cask docker

Rancher Desktop (free)

BASH
brew install --cask rancher
  • After installation, select dockerd (moby) as the container runtime → Settings guide

ℹ️ If Homebrew is not available

BASH
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Or download manually:

2. Download

BASH
# If using Rancher Desktop: set Docker socket path
# export DOCKER_HOST=unix://$HOME/.rd/docker.sock

curl -L -o dart-services-compose.zip https://github.com/DoosanRobotics/dart-services-compose/archive/refs/heads/main.zip
unzip dart-services-compose.zip
cd dart-services-compose-main

ℹ️ Permanent setting for Rancher Desktop
Instead of running export every time, add it to ~/.zshrc so it applies automatically when opening a terminal:

BASH
echo 'export DOCKER_HOST=unix://$HOME/.rd/docker.sock' >> ~/.zshrc
source ~/.zshrc

To change the SDK version, robot model, or resource limits, edit the .env file before running.

CODE
# Simulator SDK version (sdk2 ~ sdk5)
SDK_VERSION=sdk5

# Robot model
# Options: M0609, M0617, M1013, M1509, A0509, A0912, H2017, H2515, E0509, P3020
ROBOT_MODEL=M1013

# Simulator resources
SIMULATOR_CPU=4
SIMULATOR_MEMORY=2g

3. Run

BASH
# Start simulator + build modules
docker compose --profile build up -d

# Start simulator only:
#docker compose up -d

Simulator data is automatically created at the following path relative to where docker compose up is executed:

CODE
data/
└── sdk5/
    └── M1013/

4. Stop

BASH
docker compose --profile build down

5. Update images

BASH
docker compose --profile build pull
docker compose --profile build up -d

Robot models

  • sdk2 and above: M0609, M0617, M1013, M1509, A0509, A0912, H2017, H2515, E0509

  • sdk4 and above: P3020

Images


Troubleshooting

Troubleshooting

'docker compose' is not a docker command / unknown command

CODE
docker: 'compose' is not a docker command.

Check the following in order:

  1. Make sure Docker Desktop / Rancher Desktop is running

docker compose requires the app (daemon) to be running. Check the system tray to confirm Docker Desktop or Rancher Desktop is active.

  1. Open a new terminal after installation

After winget install, the PATH is not updated in the current session. Close PowerShell and open a new one.

Conflict. The container name "/simulator" is already in use

CODE
Error response from daemon: Conflict. The container name "/simulator" is already in use by container "...".
You have to remove (or rename) that container to be able to reuse that name.

This occurs when a previously running container remains in a stopped state. It can also happen when changing SDK versions.

Remove the existing containers and start again:

BASH
docker compose --profile build down
docker compose --profile build up -d


range of CPUs is from 0.01 to N.00

CODE
Error response from daemon: range of CPUs is from 0.01 to 2.00, as there are only 2 CPUs available

The SIMULATOR_CPU value in .env exceeds the number of CPUs allocated to Docker.

Option 1 — Reduce the CPU count in .env

CODE
SIMULATOR_CPU=2

Option 2 — Increase CPU allocation in Rancher Desktop VM (recommended)

Go to Rancher Desktop Preferences → Virtual Machine → Hardware and adjust the CPU count.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.