Sandbox and REST endpoint quickstart

Illustration on a dark street grid: a container with a gear in the middle, linked to tiles for Java, Python, C#, TypeScript and an API

This page lists the Docker commands for the JOpt sandboxes and for the JOpt.TourOptimizer REST endpoint: start the container you need, open its address in the browser and log in. A sandbox is a browser IDE (CodeServer) with the examples of one repository, and the REST client sandboxes need a running TourOptimizer REST endpoint. The feature guide JOpt Sandboxes describes the sandboxes in full.

To ask questions about JOpt and get code that follows the published examples, see JOpt AI Expert.

Before you start

Containers

ContainerImageBrowser addressPassword
Java SDK examples sandboxdnaevolutions/jopt_example_server:latesthttp://localhost:8042/jopt
Java REST client sandboxdnaevolutions/jopt_rest_example_server:latesthttp://localhost:8043/joptrest
Python REST client sandboxdnaevolutions/jopt_py_example_server:latesthttp://localhost:8033/jopt
C# REST client sandboxdnaevolutions/jopt_net_example_server:latesthttp://localhost:8023/joptrest
TourOptimizer REST endpointdnaevolutions/jopt_touroptimizer:latestSwagger UI at http://localhost:8081/swagger-ui/index.htmlnone

Start the Java SDK examples sandbox

docker run -it -d --name jopt-examples -p 127.0.0.1:8042:8080 -v "$PWD/:/home/coder/project" dnaevolutions/jopt_example_server:latest

Open http://localhost:8042/ and log in with jopt. The examples run the optimization in-process (SDK), so this sandbox needs no REST endpoint.

Start the Java REST client sandbox

docker run -it -d --name jopt-rest-examples -p 127.0.0.1:8043:8080 -v "$PWD/:/home/coder/project" dnaevolutions/jopt_rest_example_server:latest

Open http://localhost:8043/ and log in with joptrest. The examples need a TourOptimizer REST endpoint, self-hosted or hosted by DNA Evolutions (see the product pages).

Start the Python REST client sandbox

docker run -it -d --name jopt-py-rest-examples -p 127.0.0.1:8033:8080 -v "$PWD/:/home/coder/project" dnaevolutions/jopt_py_example_server:latest

Open http://localhost:8033/ and log in with jopt. The examples need a TourOptimizer REST endpoint; from inside the container, use http://host.docker.internal:8081.

Start the C# REST client sandbox

docker run -it -d --name jopt-net-rest-examples -p 127.0.0.1:8023:8080 -v "$PWD/:/home/coder/project" dnaevolutions/jopt_net_example_server:latest

Open http://localhost:8023/ and log in with joptrest. The first start takes one to two minutes while the plugins install, and OmniSharp installs after the first login. The examples need a TourOptimizer REST endpoint.

Start the TourOptimizer REST endpoint

docker run -d --rm --name jopt-touroptimizer -p 8081:8081 -e SPRING_PROFILES_ACTIVE=cors dnaevolutions/jopt_touroptimizer:latest

The Swagger UI answers at http://localhost:8081/swagger-ui/index.html. This container is not a sandbox: it is the backend that the REST clients call. The REST server page describes its settings, among them the port and the license.

Stop and remove the containers

Stop:

docker stop jopt-examples jopt-rest-examples jopt-py-rest-examples jopt-net-rest-examples jopt-touroptimizer

Remove, if a container was not started with --rm:

docker rm jopt-examples jopt-rest-examples jopt-py-rest-examples jopt-net-rest-examples jopt-touroptimizer

Reach the REST endpoint from inside a sandbox

If a REST client runs inside a CodeServer container and the TourOptimizer REST service runs on your host machine, use http://host.docker.internal:8081, not http://localhost:8081: inside the container, localhost refers to the container itself.

Source repositories


Added: 2026-02-27 (JOpt core 7.5.3-j17) | Last updated: 2026-10-21