Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
b46a62c
Dbeaver devops#2136 te version update procedure (#171)
ggxed Sep 16, 2025
aedee41
Dbeaver devops#2199 fix install dbeaver te script (#174)
ggxed Oct 20, 2025
08fdc66
dbeaver/dbeaver-devops#2173 Added a paragraph about the desktop appli…
ggxed Oct 28, 2025
2a6f81f
dbeaver/dbeaver-devops#2258 Moved kafka environment from deployments …
ggxed Nov 17, 2025
52addd6
dbeaver/dbeaver-devops#2284 Added configuration of image source for k…
ggxed Nov 20, 2025
9709391
dbeaver/dbeaver-devops#2304 Update devel (#181)
ggxed Dec 8, 2025
058c3d0
dbeaver/tech-docs#1294 te windows deploy (#182) (#183)
ggxed Dec 19, 2025
86f0bf2
dbeaver/dbeaver-devops#2354 Added Configure SQL Server database (#185)
ggxed Jan 15, 2026
eb8e8b1
dbeaver/dbeaver-devops#2329 Added JAVA_TOOL_OPTIONS in docker deploym…
ggxed Jan 20, 2026
73cc8fc
dbeaver/dbeaver-devops#1669 Avoid keeping password in example (#189)
ggxed Feb 12, 2026
8b21cd2
dbeaver/dbeaver-devops#2461 db isolated in compose projects (#191)
mayerro Feb 12, 2026
9c6d05c
dbeaver/dbeaver-devops#2459 Remove CLOUDBEAVER_PUBLIC_URL (#190)
ggxed Feb 13, 2026
bef9242
dbeaver/pro#6761 added host mode envs (#184)
Nexus6v2 Feb 13, 2026
2a10538
dbeaver/dbeaver-devops#2465 Added listen_addresses=localhost in postg…
ggxed Feb 26, 2026
7fa0f30
dbeaver/dbeaver-devops#2467 Fixed update with dbeaver-te (#192)
ggxed Mar 3, 2026
088b538
dbeaver/dbeaver-devops#2480 Fixed environment KAFKA_CFG_CONTROLLER_QU…
ggxed Mar 4, 2026
26b3be9
dbeaver/dbeaver-devops#2499 Added image_source in AWS ECS deployment …
ggxed Mar 5, 2026
2355db7
dbeaver/dbeaver-devops#2467 Added check for COMPOSE_FILE in env for a…
ggxed Mar 6, 2026
fb90a1b
dbeaver/dbeaver-devops#2512 Release 26.0.0
ggxed Mar 9, 2026
d3abdc3
dbeaver/dbeaver-devops#2512 Release 26.0.0
ggxed Mar 9, 2026
3f7cdb8
Merge branch 'main' into dbeaver-devops#2512-release-26-0-0
ggxed Mar 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions AWS/ecs-fargate/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ git clone https://github.com/dbeaver/team-edition-deploy.git
- Navigate to `team-edition-deploy/AWS/ecs-fargate`
- Copy `variables.tf.example` to `variables.tf`
- Open `variables.tf`.
- Update `variables.tf` file. Modify `POSTGRES_PASSWORD` field in `cloudbeaver-db-env` vatiables.
- Update `variables.tf` file. You must set `POSTGRES_PASSWORD` field in `cloudbeaver-db-env` variables. The password are empty by default and the service will not start without them.

- If you plan to use an RDS-based database:
**Note:** only [Amazon RDS for PostgreSQL](https://aws.amazon.com/rds/postgresql/) is supported.
Expand All @@ -43,7 +43,7 @@ git clone https://github.com/dbeaver/team-edition-deploy.git

![Region](images/region.png)

- Ensure that the `alb_certificate_Identifier` variable contains the ID from [AWS Certificate Manager](#importing-an-ssl-certificate-in-aws) corresponding to the domain name specified in the `CLOUDBEAVER_PUBLIC_URL` variable within `variables.tf`. The domain name in `CLOUDBEAVER_PUBLIC_URL` must match the domain for which the certificates have been issued.
- Ensure that the `alb_certificate_Identifier` variable contains the ID from [AWS Certificate Manager](#importing-an-ssl-certificate-in-aws) corresponding to your domain name. The domain name must match the domain for which the certificates have been issued.
- You can customize the deployment version by updating the `dbeaver_te_version` environment variable.

7. Run `terraform init` and then `terraform apply` in `ecs-fargate` directory to create the ECS cluster and complete the deployment.
Expand Down
25 changes: 17 additions & 8 deletions AWS/ecs-fargate/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ resource "aws_ecs_task_definition" "dbeaver_db" {
}
container_definitions = jsonencode([{
name = "${var.deployment_id}-postgres"
image = "dbeaver/cloudbeaver-postgres:16"
image = "${var.image_source}/cloudbeaver-postgres:16"
essential = true
environment = var.cloudbeaver-db-env
mountPoints = [{
Expand Down Expand Up @@ -306,9 +306,18 @@ resource "aws_ecs_task_definition" "kafka" {

container_definitions = jsonencode([{
name = "${var.deployment_id}-kafka"
image = "dbeaver/cloudbeaver-kafka:3.9"
image = "${var.image_source}/cloudbeaver-kafka:3.9"
essential = true
environment = var.cloudbeaver-kafka-env
environment = concat(var.cloudbeaver-kafka-env, [
{
name = "KAFKA_CFG_CONTROLLER_QUORUM_VOTERS"
value = "0@localhost:9093"
},
{
name = "KAFKA_CFG_ADVERTISED_LISTENERS"
value = "PLAINTEXT://${var.deployment_id}-kafka:9092"
}
])
logConfiguration = {
logDriver = "awslogs"
options = {
Expand Down Expand Up @@ -409,7 +418,7 @@ resource "aws_ecs_task_definition" "dbeaver_dc" {
}
container_definitions = jsonencode([{
name = "${var.deployment_id}-cloudbeaver-dc"
image = "dbeaver/cloudbeaver-dc:${var.dbeaver_te_version}"
image = "${var.image_source}/cloudbeaver-dc:${var.dbeaver_te_version}"
essential = true
environment = local.updated_cloudbeaver_dc_env
mountPoints = [{
Expand Down Expand Up @@ -526,7 +535,7 @@ resource "aws_ecs_task_definition" "dbeaver_rm" {

container_definitions = jsonencode([{
name = "${var.deployment_id}-cloudbeaver-rm"
image = "dbeaver/cloudbeaver-rm:${var.dbeaver_te_version}"
image = "${var.image_source}/cloudbeaver-rm:${var.dbeaver_te_version}"
essential = true
environment = local.cloudbeaver_shared_env_modified
mountPoints = [{
Expand Down Expand Up @@ -629,7 +638,7 @@ resource "aws_ecs_task_definition" "dbeaver_qm" {
}
container_definitions = jsonencode([{
name = "${var.deployment_id}-cloudbeaver-qm"
image = "dbeaver/cloudbeaver-qm:${var.dbeaver_te_version}"
image = "${var.image_source}/cloudbeaver-qm:${var.dbeaver_te_version}"
essential = true
environment = local.cloudbeaver_shared_env_modified
mountPoints = [
Expand Down Expand Up @@ -739,7 +748,7 @@ resource "aws_ecs_task_definition" "dbeaver_tm" {
}
container_definitions = jsonencode([{
name = "${var.deployment_id}-cloudbeaver-tm"
image = "dbeaver/cloudbeaver-tm:${var.dbeaver_te_version}"
image = "${var.image_source}/cloudbeaver-tm:${var.dbeaver_te_version}"
essential = true
environment = local.cloudbeaver_shared_env_modified
mountPoints = [{
Expand Down Expand Up @@ -845,7 +854,7 @@ resource "aws_ecs_task_definition" "dbeaver_te" {
}
container_definitions = jsonencode([{
name = "${var.deployment_id}-cloudbeaver-te"
image = "dbeaver/cloudbeaver-te:${var.dbeaver_te_version}"
image = "${var.image_source}/cloudbeaver-te:${var.dbeaver_te_version}"
essential = true
environment = local.cloudbeaver_shared_env_modified
mountPoints = [{
Expand Down
20 changes: 11 additions & 9 deletions AWS/ecs-fargate/variables.tf.example
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,13 @@ variable "aws_region" {
variable "dbeaver_te_version" {
description = "The version of the cluster you want to deploy"
type = string
default = "25.3.0"
default = "26.0.0"
}

variable "image_source" {
description = "Docker image source"
type = string
default = "dbeaver"
}

variable "alb_certificate_Identifier" {
Expand Down Expand Up @@ -64,7 +70,7 @@ variable "cloudbeaver-db-env" {
# type = map(string)
default = [
{ "name": "POSTGRES_PASSWORD",
"value": "postgres"},
"value": ""},
{ "name": "POSTGRES_USER",
"value": "postgres"},
{ "name": "POSTGRES_DB",
Expand Down Expand Up @@ -157,19 +163,15 @@ variable "cloudbeaver-dc-env" {
},
{
"name": "CLOUDBEAVER_DC_BACKEND_DB_PASSWORD",
"value": "DCpassword"
"value": ""
},
{
"name": "CLOUDBEAVER_TM_BACKEND_DB_PASSWORD",
"value": "TMpassword"
"value": ""
},
{
"name": "CLOUDBEAVER_QM_BACKEND_DB_PASSWORD",
"value": "QMpassword"
},
{
"name": "CLOUDBEAVER_PUBLIC_URL",
"value": "https://cloudbeaver.io"
"value": ""
},
{
"name": "CLOUDBEAVER_KAFKA_BROKERS",
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## DBeaver Team Edition

#### Version 25.3
#### Version 26.0

DBeaver Team Edition is a client-server application.
It requires server deployment. You can deploy it on a single host (e.g. your local computer)
Expand Down Expand Up @@ -38,7 +38,7 @@ DBeaver Team Edition works in conjunction with a desktop client application. Aft
- **Web interface** – accessible directly through your browser
- **Desktop client** – provides enhanced features and better performance

Download the desktop client for your platform: [**DBeaver Team Edition Desktop**](https://dbeaver.com/downloads-team/25.3.0/)
Download the desktop client for your platform: [**DBeaver Team Edition Desktop**](https://dbeaver.com/downloads-team/26.0.0/)

### Server version update
Version update is handled differently for different deployment methods. To update the Team Edition version, follow these instructions:
Expand All @@ -60,6 +60,7 @@ To change an internal PostgreSQL password use [this instruction](CHANGEPWD.md#ho
- [Early access](https://github.com/dbeaver/team-edition-deploy/tree/devel)

### Older versions:
- [25.3.0](https://github.com/dbeaver/team-edition-deploy/tree/25.3.0)
- [25.2.0](https://github.com/dbeaver/team-edition-deploy/tree/25.2.0)
- [25.1.0](https://github.com/dbeaver/team-edition-deploy/tree/25.1.0)
- [25.0.0](https://github.com/dbeaver/team-edition-deploy/tree/25.0.0)
Expand Down
29 changes: 28 additions & 1 deletion compose/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,15 @@ environment:
```
This step is only required for Nginx, as HAProxy resolves service names via Docker DNS automatically.

### Java tool options

Java does not read system environment variables. To pass Java parameters to the Java process, use the `JAVA_TOOL_OPTIONS` variable in your `.env` file.

Example for proxy configuration:
```
JAVA_TOOL_OPTIONS="-Dhttp.proxy.host=<proxyname> -Dhttps.proxy.host=<proxyname> -Dhttp.proxy.port=<port> -Dhttps.proxy.port=<port>"
```

## Configuring and starting Team Edition cluster

1. Clone Git repository to your local machine by running the following command in your terminal:
Expand All @@ -77,6 +86,7 @@ This step is only required for Nginx, as HAProxy resolves service names via Dock
- Navigate to `team-edition-deploy/compose/cbte`
- Copy `.env.example` to `.env`
- Edit `.env` file to set configuration properties
- You must set the `CLOUDBEAVER_DB_PASSWORD` variable before starting the cluster. The database password is empty by default and the service will not start without it.
3. [Configure SSL and domain](../SSL/README.md#ssl-certificate-configuration)
4. Start the cluster:
- `docker-compose up -d` or `docker compose up -d`
Expand Down Expand Up @@ -157,6 +167,23 @@ You might need to add additional parameters to the `CLOUDBEAVER_DB_URL`:

`CLOUDBEAVER_DB_URL=jdbc:mariadb://127.0.0.1:3306/cloudbeaver?autoReconnect=true&allowPublicKeyRetrieval=true`

#### Configure SQL Server database

To use SQL Server as an internal database, set the driver to `microsoft` and configure the connection URL.

Connect to your SQL Server database and run:
```sql
CREATE DATABASE cloudbeaver;
CREATE SCHEMA dc;
CREATE SCHEMA qm;
CREATE SCHEMA tm;
```

##### Example:

`CLOUDBEAVER_DB_DRIVER=microsoft`
`CLOUDBEAVER_DB_URL=jdbc:sqlserver://127.0.0.1:1433;databaseName=cloudbeaver`

#### PostgreSQL update procedure

If you want to update the internal PostgreSQL to version 17, follow these steps:
Expand Down Expand Up @@ -193,7 +220,7 @@ For detailed instructions on how to use the script manager, refer to [manager do
2. Stop the cluster: `docker-compose down` or `docker compose down`
3. Update your deployment files:
- Fetch latest changes: `git fetch`
- Switch to new release version: `git checkout <version-tag>` (e.g., `git checkout 25.2.0`)
- Switch to new release version: `git checkout <version-tag>` (e.g., `git checkout 26.0.0`)
- Change value of `CLOUDBEAVER_VERSION_TAG` in `.env` with a preferred version (skip if tag `latest` is set)
4. Pull new docker images: `docker-compose pull` or `docker compose pull`
5. Start the cluster: `docker-compose up -d` or `docker compose up -d`
Expand Down
11 changes: 6 additions & 5 deletions compose/cbte/.env.example
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
# CloudBeaver TE server version. Based on DockerHub images tag
#
CLOUDBEAVER_VERSION_TAG=25.3.0
CLOUDBEAVER_VERSION_TAG=26.0.0
IMAGE_SOURCE=dbeaver
PODMAN_IMAGE_SOURCE=docker.io/dbeaver
# Domain name of cluster endpoint. eg. dbeaver-te.example.com
#
COMPOSE_PROJECT_NAME=dbeaver

CLOUDBEAVER_PUBLIC_URL=http://localhost


# Type of web server. Supported values: nginx, haproxy
PROXY_TYPE=nginx

Expand All @@ -27,9 +24,13 @@ REPLICA_COUNT_RM=1
# - for postgresql use 'postgres-jdbc' driver.
# - for mysql or mariadb use 'mariaDB' driver.
# - for oracle use 'oracle_thin' driver.
# - for sql server use 'microsoft' driver.
#
USE_EXTERNAL_DB=false
CLOUDBEAVER_DB_DRIVER=postgres-jdbc
CLOUDBEAVER_DB_URL=jdbc:postgresql://postgres:5432/cloudbeaver
CLOUDBEAVER_DB_USER=postgres
CLOUDBEAVER_DB_PASSWORD=StR0NgP2sSw0rD
CLOUDBEAVER_DB_PASSWORD=

# Java tool options for JVM configuration
JAVA_TOOL_OPTIONS=
11 changes: 11 additions & 0 deletions compose/cbte/docker-compose-nethost.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ services:
- POSTGRES_DB=cloudbeaver
- POSTGRES_USER=${CLOUDBEAVER_DB_USER}
- POSTGRES_PASSWORD=${CLOUDBEAVER_DB_PASSWORD}
- NETWORK_MODE=host
network_mode: host

cloudbeaver-dc:
Expand All @@ -72,6 +73,8 @@ services:
- CLOUDBEAVER_QM_BACKEND_DB_DRIVER=${CLOUDBEAVER_DB_DRIVER}
- CLOUDBEAVER_DC_BACKEND_DB_DRIVER=${CLOUDBEAVER_DB_DRIVER}
- CLOUDBEAVER_TM_BACKEND_DB_DRIVER=${CLOUDBEAVER_DB_DRIVER}
- NETWORK_MODE=host
- JAVA_TOOL_OPTIONS=${JAVA_TOOL_OPTIONS:-} -Dserver.address=127.0.0.1
volumes:
- dc_data:/opt/domain-controller/workspace
- ./cert/private/:/opt/domain-controller/conf/certificates/
Expand All @@ -90,6 +93,8 @@ services:
- trusted_cacerts:/opt/cloudbeaver/conf/certificates/custom/
environment:
- CLOUDBEAVER_DC_SERVER_URL=http://127.0.0.1:8970/dc
- NETWORK_MODE=host
- JAVA_TOOL_OPTIONS=${JAVA_TOOL_OPTIONS:-}
expose:
- ${CLOUDBEAVER_WEB_SERVER_PORT:-8978}
depends_on:
Expand All @@ -105,6 +110,8 @@ services:
replicas: ${REPLICA_COUNT_RM:-1}
environment:
- CLOUDBEAVER_DC_SERVER_URL=http://127.0.0.1:8970/dc
- NETWORK_MODE=host
- JAVA_TOOL_OPTIONS=${JAVA_TOOL_OPTIONS:-} -Dserver.address=127.0.0.1
volumes:
- rm_data:/opt/resource-manager/workspace
- ./cert/public/:/opt/resource-manager/conf/certificates/
Expand All @@ -120,6 +127,8 @@ services:
replicas: ${REPLICA_COUNT_QM:-1}
environment:
- CLOUDBEAVER_DC_SERVER_URL=http://127.0.0.1:8970/dc
- NETWORK_MODE=host
- JAVA_TOOL_OPTIONS=${JAVA_TOOL_OPTIONS:-} -Dserver.address=127.0.0.1
volumes:
- ./cert/public/:/opt/query-manager/conf/certificates/
- trusted_cacerts:/opt/query-manager/conf/certificates/custom/
Expand All @@ -134,6 +143,8 @@ services:
replicas: ${REPLICA_COUNT_TM:-1}
environment:
- CLOUDBEAVER_DC_SERVER_URL=http://127.0.0.1:8970/dc
- NETWORK_MODE=host
- JAVA_TOOL_OPTIONS=${JAVA_TOOL_OPTIONS:-} -Dserver.address=127.0.0.1
volumes:
- tm_data:/opt/task-manager/workspace
- ./cert/public/:/opt/task-manager/conf/certificates/
Expand Down
Loading
Loading