This document provides a comprehensive reference for all environment variables that can be used to configure Zato Docker containers.
These variables control the network ports that Zato components listen on. You can override these to avoid port conflicts or to match your infrastructure requirements.
| Variable | Default | Description |
|---|---|---|
Zato_Port_Dashboard | 8183 | Port for the Zato web dashboard. Access the admin interface at http://localhost:8183 |
Zato_Port_Server | 17010 | Port for the Zato server HTTP endpoint. This is where your services are exposed |
Zato_Port_Load_Balancer | 11223 | Port for the HAProxy load balancer frontend |
Zato_Port_SSH | 22 | SSH port for accessing the container. Change this if port 22 is already in use on your host |
Zato uses PostgreSQL for storing operational data and pub/sub messages. These variables configure the database connections.
| Variable | Default | Description |
|---|---|---|
Zato_DB_Main | zato_db_main1 | Name of the main operational database (ODB) |
Zato_DB_Pubsub | zato_db_pubsub1 | Name of the pub/sub database for message storage |
Zato_DB_Username_Main | zato_user_main1 | Database username for the main operational database |
Zato_DB_Username_Pubsub | zato_user_pubsub1 | Database username for the pub/sub database |
Zato_PostgreSQL_Version | 16 | PostgreSQL version to use (build-time argument) |
These variables configure the connection to RabbitMQ, which Zato uses as a message broker for pub/sub functionality.
| Variable | Default | Description |
|---|---|---|
Zato_Broker_Protocol | amqp | Protocol for broker connection. Use amqp for standard connections |
Zato_Broker_Address | 127.0.0.1:5672 | Address and port of the RabbitMQ broker |
Zato_Broker_Virtual_Host | /zato.internal | RabbitMQ virtual host for Zato's internal use |
Zato_Broker_Username | zato | Username for connecting to RabbitMQ |
Zato_Broker_Internal_Password | (generated) | Password for the Zato broker user. Auto-generated if not provided |
Zato_Broker_User_Password | (generated) | Password for the admin user in RabbitMQ management interface |
Zato_Broker_Management_Port | 15672 | Port for RabbitMQ management interface |
Zato_RabbitMQ_Version | 4.1.4 | RabbitMQ version to install (build-time argument) |
Zato_RabbitMQ_Disable_Management_Plugin | False | Set to True to disable RabbitMQ management statistics for better performance |
These variables set passwords for various Zato components. If not provided, secure random passwords are generated automatically.
| Variable | Default | Description |
|---|---|---|
Zato_Password | (generated) | Global password that sets all other passwords to the same value. Useful for development |
Zato_Dashboard_Password | (generated) | Password for the admin user in the Zato web dashboard |
Zato_IDE_Password | (generated) | Password for the ide_publisher user for IDE integration |
Zato_SSH_Password | (generated) | SSH password for the zato user inside the container |
Zato_ODB_Password | (generated) | Password for database users. Sets both main and pub/sub database passwords |
These variables configure Prometheus, Grafana, and metrics collection for monitoring Zato environments.
| Variable | Default | Description |
|---|---|---|
Zato_Server_Metrics_Password | (generated) | Password for Prometheus to scrape metrics from Zato server |
Zato_Broker_Metrics_Password | (generated) | Password for Prometheus to scrape metrics from pub/sub components |
Zato_Grafana_Password | (generated) | Password for the admin user in Grafana dashboard |
Zato_Prometheus_Password | (generated) | Password for accessing Prometheus interface |
Zato_Node_Exporter_Version | 1.9.1 | Version of Prometheus Node Exporter to install (build-time argument) |
These variables define the Zato environment structure and cluster settings.
| Variable | Default | Description |
|---|---|---|
Zato_Version | 4.1 | Zato version number |
Zato_Env_Path | /opt/zato/env/qs-1 | Path to the Zato environment directory inside the container |
Zato_Cluster_Name | cluster1 | Name of the Zato cluster |
Zato_Env_Name | (empty) | Custom name for your environment, displayed during startup |
Zato_Is_Quickstart | True | Indicates this is a quickstart environment |
These variables control how services and configuration are deployed to the Zato server.
| Variable | Default | Description |
|---|---|---|
Zato_Hot_Deploy_Dir | /opt/hot-deploy/services | Directory where services are hot-deployed from |
Zato_User_Conf_Dir | /opt/hot-deploy/user-conf:/tmp/zato-user-conf | Colon-separated paths for user configuration files |
Zato_Python_Reqs_Opt | /opt/hot-deploy/python-reqs/requirements.txt | Path to Python requirements file for additional packages |
Zato_Python_Reqs_Tmp | /tmp/zato-user-reqs/requirements.txt | Alternative path for Python requirements |
Zato_Hot_Deploy_Prefer_Snapshots | True | Whether to prefer snapshot versions when hot-deploying |
These variables control what components start and how the container behaves during startup.
| Variable | Default | Description |
|---|---|---|
Zato_Start_Pubsub | True | Whether to start pub/sub components (publisher and pull consumer) |
Zato_Start_Load_Balancer | True | Whether to start the HAProxy load balancer |
Zato_Should_Import_Dev_PubSub | False | Whether to import development pub/sub configuration on startup |
Zato_Log_Env_Details | False | Set to True to log environment details (passwords, ports) to files on startup |
Zato_Suppress_Output | (empty) | Set to True to suppress verbose output during container startup |
Zato_Verbose | (empty) | Set to True to enable verbose logging during startup |
Zato_Build_Verbosity | (empty) | Controls verbosity level during build operations |
These variables configure the Python environment and build process.
| Variable | Default | Description |
|---|---|---|
Zato_Python_Version | 3.12 | Python version to use (build-time argument) |
Zato_TLS_Verify | True | Whether to verify TLS certificates in connections |
These variables configure the Zato web dashboard behavior.
| Variable | Default | Description |
|---|---|---|
Zato_Dashboard_CSRF_Trusted_Origins | (empty) | Comma-separated list of trusted origins for CSRF protection |
These variables configure HTTP/HTTPS proxy settings for the container.
| Variable | Default | Description |
|---|---|---|
HTTP_PROXY | (empty) | HTTP proxy URL for outgoing connections |
HTTPS_PROXY | (empty) | HTTPS proxy URL for outgoing connections |
http_proxy | (empty) | Lowercase variant of HTTP proxy URL |
https_proxy | (empty) | Lowercase variant of HTTPS proxy URL |
NO_PROXY | (empty) | Comma-separated list of hosts to exclude from proxy |
no_proxy | (empty) | Lowercase variant of NO_PROXY |
These variables are set automatically by the container and indicate the runtime environment.
| Variable | Default | Description |
|---|---|---|
Zato_Is_Docker | True | Indicates the environment is running in Docker |
docker run -it --rm \
-p 8183:8183 \
-p 17010:17010 \
-e Zato_Password=mypassword \
-e Zato_Log_Env_Details=True \
ghcr.io/zatosource/zato-4.1:latest
docker run -it --rm \
-p 9000:9000 \
-p 18000:18000 \
-e Zato_Port_Dashboard=9000 \
-e Zato_Port_Server=18000 \
-e Zato_Password=mypassword \
ghcr.io/zatosource/zato-4.1:latest
docker run -it --rm \
-p 8183:8183 \
-p 17010:17010 \
-e Zato_Broker_Address=rabbitmq.example.com:5672 \
-e Zato_Broker_Username=zato_prod \
-e Zato_Broker_Internal_Password=secure_password \
-e Zato_Dashboard_Password=admin_password \
-e Zato_Env_Name=Production \
ghcr.io/zatosource/zato-4.1:latest
docker run -it --rm \
-p 8183:8183 \
-p 17010:17010 \
-e Zato_RabbitMQ_Disable_Management_Plugin=True \
-e Zato_Password=mypassword \
ghcr.io/zatosource/zato-4.1:latest
Zato_Password variable is a convenience setting that overrides all other password variables/opt/zato/env/details/ inside the containerZato_Log_Env_Details=True, all credentials are saved to /opt/zato/env/details/all-zato-env-details.json and .txt files-p flagZato_RabbitMQ_Version, Zato_Python_Version, etc.) must be set during docker build, not docker run