Installation
The Dial system is available as a docker image,
mbari/dialserv.
Installing and running Dial only involves a couple of settings captured in a compose.yml file
and using the docker compose tool.
The mbari/dialserv image includes the Dial server (and REST API), Dial UI,
and supporting components for
running Rerun Websocket server instances (RRWS),
and the lcm-logplayer executable for playing LCM log files.
The container is to be run on a Linux host, primarily because it uses
network_mode: host to facilitate exposing the
launched RRWS processes (which listen on random ports).
Note
- The Dial server listens on port 4010.
- The UID and GID of the user in the published image are those of
the
compasadmuser oncompaslabdev. These settings can be adjusted for other target machines, see below.
The Dial service entry in compose.yml requires the specification
of the following main elements:
-
A local directory to expose for selection of deployments, base images, mission scripts, 3D objects, LCM log files, etc.
-
The base URL of the Dial API as externally visible, which is indicated with an environment variable. This setting is transferred to the UI, so it connects to the appropriate URL address (e.g., depending on http proxy passes that might be in place).
-
As needed, via the
userentry, the UID:GID of the host user that should correspond to the user in the container. This is required for proper read-write access to the mounted volume.
As a compose.yml example,
based on the Dial instance1 at compaslabdev:
services:
dialserv:
container_name: dialserv
image: mbari/dialserv:1.4.0
volumes:
- '/compas:/compas'
environment:
- DIAL_API_ENDPOINT=http://compaslabdev.shore.mbari.org:4010
user: "1001:1001" # optional (this is not used in the compaslabdev instance)
network_mode: host
restart: unless-stopped
-
See
~compasadm/Dial-launchpad/compose.yml, which also includes a service for LWS. ↩