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:
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:
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¶
- Ensure Docker and Docker Compose are installed by following the Docker installation guide for Linux.
- Install Docker Compose if itās not already installed.
- Install Git if itās not already installed.
Configuring and starting CloudBeaver Enterprise¶
-
Clone the deployment repository:
-
Navigate to the CloudBeaver deploy directory:
-
Set up the
.env
file as described here.Important
You must change the default password in the
.env
file before starting the cluster. -
Start the cluster:
-
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:
-
Install Git if itās not already installed:
-
Verify the installation:
Configuring and starting CloudBeaver Enterprise¶
-
Clone the deployment repository:
-
Navigate to the CloudBeaver deploy directory:
-
Set up the
.env
file as described here.Important
You must change the default password in the
.env
file before starting the cluster. -
Start the cluster:
-
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¶
-
Clone the deployment repository:
-
Navigate to the deployment directory:
-
Set up the
.env
file as described here.Important
You must change the default password in the
.env
file before starting the cluster. -
Start the cluster:
-
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.