Deploy the Console
This article is about deploying the console as a single-page application (SPA) embedded in the controller's API running in a container.
- Configure the controller - The console's - zacbinding must be on the same web listener as the controller's management API, i.e., the- edge-managementbinding.- - binding: zac
 options:
 location: /ziti-console
 indexFile: index.html- locationis the filesystem path to the static files of the console. In the controller container, the usual path is- /ziti-console.
- indexFileproperty is the entry point to the console.
 
- To apply the changes, the controller must be restarted. 
- Visit the console at - /zac/on the controller's address.- The console is now available at - https://<fqdn>:<port>/zac/.
- Log in to the console. - The only available authentication method for the console SPA is username and password. 
- Console certificate option - The console is served from the controller's API and can be used with the default API certificate. The controller can be configured to present a different certificate for the console when the API is accessed by a distinct URL for the console. For more information about using alternative server certs with the controller, see: the configuration reference for the - identityproperty.
Upgrade
You can mount a different version of the console on the controller container if you don't want to use the version that comes with it.
- On the Docker host, download the latest release of the console from GitHub. You can use any console version >= 3.0.0. - wget https://github.com/openziti/ziti-console/releases/latest/download/ziti-console.zip
- Unzip the static files and set read and list permission. - unzip -d ./ziti-console ./ziti-console.zip
 chmod -R a+rX ./ziti-console
- Mount the console directory on the controller container. - services:
 ziti-controller:
 volumes:
 - ./ziti-console:/ziti-console
- Restart the controller service to apply the changes. - docker compose up ziti-controller --force-recreate