It is the simplest way to install DBeaver Team Edition.
All you need is a Linux machine with docker.
- System requirements
- Configuring and starting Team Edition cluster
- Using external DB
- Team Edition manager
- Version update procedure
- Custom image source
- Service scaling
- Prerequisites for Podman
- Prerequisites for RedHat
- Minimum 16GB RAM
- Minimum 50GB storage, > 100GB recommended
- Ubuntu is recommended, but it also works on other Linux distributions, macOS, and Windows
- Docker installed. Make sure you have chosen the right OS distro.
- docker-compose binary installed and added to your PATH variable. Supported versions 2.10 and above
- If you install
docker-compose-plugin
, you must use thedocker compose
command instead ofdocker-compose
.
- If you install
Ensure all TCP ports from the below list are available in your network stack.
- 80/tcp
- 443/tcp (for HTTPS access)
Note:
- For deployment with Podman please ensure made the following steps before configuring the Team Edition cluster.
- If you want to deploy Team Edition on RedHat, please ensure made the following steps before configuring the cluster.
- Clone Git repository to your local machine by running the following command in your terminal:
git clone https://github.com/dbeaver/team-edition-deploy.git
- Open configuration file:
- Navigate to
team-edition-deploy/compose/cbte
- Copy
.env.example
to.env
- Edit
.env
file to set configuration properties
- Navigate to
- Configure domain name (optional):
- You may skip this step. In this case, the cluster will be configured for
localhost
. - Set the
CLOUDBEAVER_DOMAIN
property to the desired domain name. - Create DNS records for
CLOUDBEAVER_DOMAIN
.
- You may skip this step. In this case, the cluster will be configured for
- Configure SSL
- Start the cluster:
docker-compose up -d
ordocker compose up -d
- https://CLOUDBEAVER_DOMAIN - web interface. It will open the admin panel on the first start
- https://CLOUDBEAVER_DOMAIN/dc - endpoint for desktop applications
docker-compose down
After running docker compose up -d
, Encryption keys for internal services will be generated and put in the team-edition-deploy/compose/cbte/cert
.
Important: Encryption keys are used to decrypt user data. If you lose them, all data in your cluster will be unavailable. Please backup them and keep in a secure storage.
To ensure the safety and integrity of your data, it is recommended to create a backup. Please follow these steps:
- Create an archive of the following directory:
team-edition-deploy/compose/cbte/cert
. - Copy the archived directory from your Team Edition server to your private environment.
By default, Team Edition stores all data in an internal PostgreSQL database. If you want to use it, skip this step.
If you want to use another database on your side, you can do it according to these instructions.
- Navigate to
team-edition-deploy/compose/cbte
folder, and open.env.example
file. - Change
USE_EXTERNAL_DB
totrue
value. - Change
CLOUDBEAVER_DB_DRIVER
to driver for a database you want to use, for example:postgres-jdbc
/mysql8
/oracle_thin
- Enter the authentication data for your database in the fields
CLOUDBEAVER_DB_URL
CLOUDBEAVER_DB_USER
CLOUDBEAVER_DB_PASSWORD
Connect to your Oracle database and run:
CREATE USER DC;
GRANT UNLIMITED TABLESPACE TO DC;
CREATE USER TM;
GRANT UNLIMITED TABLESPACE TO TM;
CREATE USER QM;
GRANT UNLIMITED TABLESPACE TO QM;
Connect to your Postgres database and run:
CREATE SCHEMA IF NOT EXISTS dc;
CREATE SCHEMA IF NOT EXISTS qm;
CREATE SCHEMA IF NOT EXISTS tm;
Connect to your MySQL database and run:
CREATE SCHEMA IF NOT EXISTS dc;
CREATE SCHEMA IF NOT EXISTS qm;
CREATE SCHEMA IF NOT EXISTS tm;
If you want to update the internal PostgreSQL to version 17, follow these steps:
- Navigate to
team-edition-deploy/compose/cbte
- Stop the cluster:
docker-compose down
ordocker compose down
- Run the update script:
./cloudbeaver-postgres-upgrade.sh
- Update the PostgreSQL version in your Docker Compose file to 17 as shown
${IMAGE_SOURCE:-dbeaver}/cloudbeaver-postgres:17
- Restart the cluster:
docker-compose up -d
ordocker compose up -d
This repository includes a script manager that facilitates managing various tasks when using the Team Edition cluster. This is optional, you can use the usual docker compose commands instead.
Manager installation:
- Navigate to the
team-edition-deploy/manager
directory. - Run the
./install-manager.sh
script.
Now you can use dbeaver-te
command to start manager.
For detailed instructions on how to use the script manager, refer to manager doucmentation.
- Navigate to
team-edition-deploy/compose/cbte
- Change value of
CLOUDBEAVER_VERSION_TAG
in.env
with a preferred version. Go to next step if taglatest
is set. - Pull new docker images:
docker-compose pull
ordocker compose pull
- Restart cluster:
docker-compose up -d
ordocker compose up -d
There are significant deployment changes in version 24.1.0.
So if you want to update Team Edition:
- from version 24.0.0 or early
- to version 24.1.0 or later
you have to follow these steps:
- If you deploy Team Edition with docker-compose:
- Navigate to
team-edition-deploy
- Run command
git checkout --force %version%
- Open the
.env
file located atteam-edition-deploy/compose/cbte/
- Navigate to
- If you use for deployment preconfigured AMI, simply run this command:
dbeaver-te configure
REPLICA_COUNT_TE=1
REPLICA_COUNT_TM=1
REPLICA_COUNT_QM=1
REPLICA_COUNT_RM=1
IMAGE_SOURCE=dbeaver
and change version tag to
CLOUDBEAVER_VERSION_TAG=24.2.0
- Stop your cluster:
- run
dbeaver-te stop
if you use script manager - or navigate to the directory
team-edition-deploy/compose/cbte
and rundocker-compose down
- Start your cluster:
- run
dbeaver-te start
if you use script manager - or navigate to the directory
team-edition-deploy/compose/cbte
and rundocker-compose up -d
If you experience errors when updating your cluster, like that:
Error response from daemon: Could not find the file /etc/nginx/product-base in container temporary
Follow the next steps:
- Stop your cluster:
- run
dbeaver-te stop
if you use script manager - or navigate to the directory
team-edition-deploy/compose/cbte
and rundocker-compose down
- Remove nginx config volume:
docker volume rm cbte_nginx_conf_data
-
Make sure you have given enough permission to your certificates so that they can be read and copied.
-
Start your cluster:
- run
dbeaver-te start
if you use script manager - or navigate to the directory
team-edition-deploy/compose/cbte
and rundocker-compose up -d
To configure the image source into which you cloned our images for the cluster, follow these steps:
- Open the
.env
file located atteam-edition-deploy/compose/cbte/
or use the commanddbeaver-te configure
- Change the value of the
IMAGE_SOURCE
variable to the address of your registry. By default, it is set todbeaver
, which points to our DockerHub.
IMAGE_SOURCE=dbeaver
To scale your service within the cluster, follow these steps:
- Open the
.env
file located atteam-edition-deploy/compose/cbte/
or use commanddbeaver-te configure
- Modify the following environment variables to set the desired number of instances for each service:
REPLICA_COUNT_TE=1
REPLICA_COUNT_TM=1
REPLICA_COUNT_QM=1
REPLICA_COUNT_RM=1
Adjust the values as needed to scale each service accordingly.
To configure Team Edition with Podman, follow these steps:
- Run the following commands as user
root
before Configuring and starting Team Edition cluster:
loginctl enable-linger 1000
echo 'net.ipv4.ip_unprivileged_port_start=80' >> /etc/sysctl.conf
sysctl -p
-
On the step 3 and 4 of Configuring and starting Team Edition cluster use
podman-compose
tool instead ofdocker-compose
-
On step 4 define compose file name:
podman-compose -f podman-compose.yml up -d
or replace docker-compose.yml
with podman-compose.yml
and use podman-compose
without compose project definition.
To configure Team Edition on RedHat, run these commands as user root
before Configuring and starting Team Edition cluster:
loginctl enable-linger 1000
echo 'net.ipv4.ip_unprivileged_port_start=80' >> /etc/sysctl.conf
sysctl -p
setsebool -P httpd_can_network_relay 1
setsebool -P httpd_can_network_connect 1
semanage permissive -a httpd_t