Skip to main content
Star us on GitHub Star

Console Deployment

This article is about deploying the Ziti console as a standalone Node.js server application in a Docker container.

The Ziti console (ZAC) provides a web-based user interface for managing Ziti networks. The console can be built to run as a single-page application that communicates with the Ziti controller via REST requests originating in the browser, or as a standalone Node.js server that initiates REST requests to the Ziti controller on behalf of the user.

Alternatively to Docker, clone the Git repository and follow the steps to run the standalone Node.js web server.

Run the Console in Docker

docker run --name ziti-console --publish "1408:1408" openziti/zac

Settings

You may pre-populate the URL of the Ziti controller's management API by creating a settings.json file. The application looks for this file in the current working directory or a path relative to the working directory specified with the SETTINGS environment variable.

{
"edgeControllers": [
{
"default": true,
"name": "Mega Ziti",
"url": "https://megaziti.example.com:1280"
}
]
}

Link to settings template in the repository.

The Docker image's working directory is /usr/src/app, so the settings.json file may be mounted and referenced with the environment variable.

docker run \
--rm --name ziti-console --publish 1408:1408 \
--volume /tmp/ziti-console-settings.json:/usr/src/ziti/settings.json \
--env SETTINGS=../ziti \
openziti/zac
Output
Running: server.js node-api
{
edgeControllers: [
{
default: true,
name: 'Mega Ziti',
url: 'https://megaziti.example.com:1280'
}
]
}
Ziti Admin Console is now listening on port 1408

Server TLS

The console server can be configured to present a TLS server certificate on a configurable TCP port. TLS is enabled when the private key and certificate files exist with the expected filenames in the working directory.

  • ./server.key - private key
  • ./server.chain.pem - server certificate chain

Configure the TLS port in settings.json by setting portTLS (default: 8443).