Skip to content

Docker compose

Note

This deployment method is available in the Enterprise edition only.

Overview

CloudBeaver Enterprise can be easily deployed using Docker Compose. This guide provides step-by-step instructions for setting up CloudBeaver Enterprise on Ubuntu, macOS, and Windows.

Note

CloudBeaver Enterprise's Docker Compose setup includes a pre-configured web service.

For advanced configurations, such as system requirements, ssl configuration, or podman requirements, refer to the Advanced settings guide.

Required network access

To ensure that CloudBeaver can be deployed and updated successfully, make sure the server has outbound access to specific websites. These domains are required for downloading Docker images, validating licenses, updating components, and resolving database drivers.

Required domains

Add the following domains to your firewall or proxy allowlist:

Warning

If access to any of these sites is restricted, you may see errors when updating, downloading components, or validating the license.

Domain Purpose
hub.docker.com Pull Docker images from Docker Hub
Docker image mirrors Content delivery domains used for image layers. See the full allowlist.
dbeaver.com License validation
databases.team Let's Encrypt certificates for custom domains. Learn more on Domain Manager
Maven Central and repositories Required to download some JDBC drivers we don’t bundle with the product (see Maven Central)

Important

The cloudbeaver container must have outbound access to all required domains.

Check access from the command line

Before starting the containers, make sure your environment can access essential external services:

ping hub.docker.com
curl -I https://dbeaver.com

If you already have CloudBeaver running, you can also verify network access from inside a container.

If you're using Docker:

# List containers
docker ps

# Open a shell in the cloudbeaver container
docker exec -it <cloudbeaver_container_id> bash

# Test connectivity inside the container
ping hub.docker.com
curl -I https://dbeaver.com

# Check HTTPS certificate retrieval (useful if using a Domain Manager.
openssl s_client -connect <your-domain>:443 -servername <your-domain>

Tip

If you're having trouble resolving hostnames inside containers, review Docker network settings. DNS issues can prevent access to required domains even if outbound connectivity is available.

If you're using Kubernetes:

# List pods
kubectl get pods

# Open a shell in the cloudbeaver pod
kubectl exec --stdin --tty <cloudbeaver_pod_name> -- /bin/bash

# Test connectivity inside the pod
ping hub.docker.com
curl -I https://dbeaver.com

# Check HTTPS certificate retrieval (useful if using a Domain Manager)
openssl s_client -connect <your-domain>:443 -servername <your-domain>

If DNS resolution fails inside a pod, check your Kubernetes DNS configuration. Misconfigured DNS can block access even when the network itself is available.

Important

Docker and Kubernetes environments require access to several domains for authentication, image pulls, and updates. Make sure all required domains are accessible from inside your containers or pods. You can test any domain from the allowlist using:

curl -I https://<domain>

Deploying with host networking

By default, CloudBeaver Enterprise runs using docker-compose.yml, which uses Docker's bridge network. If you need containers to run directly on the host network (for example, to bind CloudBeaver to a specific network interface), use docker-compose-host.yml.

Installation on Ubuntu

Required tools setup

Configuring and starting CloudBeaver Enterprise

  1. Clone the deployment repository:

    git clone https://github.com/dbeaver/cloudbeaver-deploy
    

  2. Navigate to the CloudBeaver deploy directory:

    cd cloudbeaver-deploy
    

  3. Set up the .env file as described here.

    Important

    You must change the default password in the .env file before starting the cluster.

  4. Start the cluster:

    docker compose up -d
    

  5. Access CloudBeaver Enterprise at http://<server-ip>.

    Tip

    Replace <server-ip> with your server’s actual IP address. You can configure the domain during the initial setup. For more details, see Domain Manager.

Installation on macOS

Required tools setup

  • Install Docker Desktop for macOS from Docker website. Make sure Docker Desktop is running before proceeding.
  • Install Docker Compose if it’s not bundled with Docker Desktop:

    brew install docker-compose
    
  • Install Git if it’s not already installed:

    brew install git
    
  • Verify the installation:

    docker --version
    docker-compose --version
    git --version
    

Configuring and starting CloudBeaver Enterprise

  1. Clone the deployment repository:

    git clone https://github.com/dbeaver/cloudbeaver-deploy
    
  2. Navigate to the CloudBeaver deploy directory:

    cd cloudbeaver-deploy
    
  3. Set up the .env file as described here.

    Important

    You must change the default password in the .env file before starting the cluster.

  4. Start the cluster:

    docker-compose up -d
    
  5. Access CloudBeaver Enterprise at http://<server-ip>.

    Tip

    Replace <server-ip> with your server’s actual IP address. You can configure the domain during the initial setup. For more details, see Domain Manager.

Installation on Windows

Required tools setup

  • Install Docker Desktop.
  • Install Git.

Tip

Supported on Windows 10 and 11. Docker Desktop doesn’t work on Windows Server.

Configuring and starting CloudBeaver Enterprise

  1. Clone the deployment repository:

    git clone https://github.com/dbeaver/cloudbeaver-deploy
    
  2. Navigate to the deployment directory:

    cd cloudbeaver-deploy
    
  3. Set up the .env file as described here.

    Important

    You must change the default password in the .env file before starting the cluster.

  4. Start the cluster:

    docker-compose up -d
    
  5. Access CloudBeaver Enterprise at http://<server-ip>.

    Tip

    Replace <server-ip> with your server’s actual IP address. You can configure the domain during the initial setup. For more details, see Domain Manager.

Update CloudBeaver Enterprise

For detailed update instructions, see Update version.

Environment file configuration

The .env file provides configuration settings for CloudBeaver Enterprise. Below are key variables:

Docker Compose variables

Variable Description Default value
IMAGE_SOURCE Defines the primary source of the Docker image. dbeaver
PODMAN_IMAGE_SOURCE Sets the Podman image source. docker.io/dbeaver
COMPOSE_PROJECT_NAME Defines the project name for Docker Compose. dbeaver
CLOUDBEAVER_VERSION_TAG Specifies the CloudBeaver version to use. See Docker tags. 24.3.0
REPLICA_COUNT_EE Specifies the number of replicas for Enterprise Edition. See Docker Service Scale Documentation. 1
PROXY_TYPE Specifies the proxy server to use. Supported values: nginx, haproxy. For more details on configuring proxy server, see the Proxy configuration. nginx

CloudBeaver configuration variables

Variable Description Default value
CLOUDBEAVER_WEB_SERVER_PORT Configures the web server port for CloudBeaver. 8978
CLOUDBEAVER_DB_DRIVER Sets the database driver. See Server database for details. postgres-jdbc
CLOUDBEAVER_DB_URL Provides the database connection URL. jdbc:postgresql://postgres:5432/cloudbeaver
CLOUDBEAVER_DB_USER Sets the username for database authentication. postgres
CLOUDBEAVER_DB_PASSWORD Sets the password for database authentication. You must change the default password in the .env file before starting the cluster.
CLOUDBEAVER_DB_SCHEMA Defines the schema used in the CloudBeaver database. cb
CLOUDBEAVER_QM_DB_DRIVER Specifies the database driver for the Query Management (QM) system. ${CLOUDBEAVER_DB_DRIVER}
CLOUDBEAVER_QM_DB_URL Defines the connection URL for the QM database. ${CLOUDBEAVER_DB_URL}
CLOUDBEAVER_QM_DB_USER Sets the username for connecting to the QM database. ${CLOUDBEAVER_DB_USER}
CLOUDBEAVER_QM_DB_PASSWORD Sets the password for authenticating the QM database connection. ${CLOUDBEAVER_DB_PASSWORD}
CLOUDBEAVER_QM_DB_SCHEMA Defines the schema used in the QM database. qm
CLOUDBEAVER_DMSVC_URL Sets the URL of the Domain Manager service.
CLOUDBEAVER_RESTRICT_EXTERNAL_SERVICES_INVOCATION Blocks outbound calls to the License Manager. true
CLOUDBEAVER_QM_SAVE_TO_FILE_FOLDER Sets the folder where Query Manager saves query records as files. To use a custom folder, set this variable and create the folder manually. Make sure that Save records to a file is enabled in the Query Manager settings. /opt/workspace/.metadata
DBEAVER_LICENSE_CUSTOM_PATH Sets the full path to the license file. This allows installing a license without using the UI. For more details, see License management.

Info

For more details on Server configuration, see Server configuration.