From d0fd2c49be8659142363df82567a3662b71a8b9a Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Sat, 4 Apr 2026 23:37:19 +0200 Subject: [PATCH] fix: Docker Compose database initialization - init-databases.sh: create cameleer3 DB for cameleer3-server, connect to $POSTGRES_DB explicitly (avoids 'database cameleer does not exist') - clickhouse-init.sql: auto-create cameleer database on first start - docker-compose.yml: fix cameleer3-server datasource to cameleer3 DB, add ClickHouse init script volume mount, pass credentials Co-Authored-By: Claude Opus 4.6 (1M context) --- docker-compose.yml | 5 ++++- docker/clickhouse-init.sql | 1 + docker/init-databases.sh | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 docker/clickhouse-init.sql diff --git a/docker-compose.yml b/docker-compose.yml index de2b6d4..dab20b5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -94,7 +94,9 @@ services: clickhouse: condition: service_started environment: - SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/${POSTGRES_DB:-cameleer_saas} + SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/cameleer3 + SPRING_DATASOURCE_USERNAME: ${POSTGRES_USER:-cameleer} + SPRING_DATASOURCE_PASSWORD: ${POSTGRES_PASSWORD:-cameleer_dev} CLICKHOUSE_URL: jdbc:clickhouse://clickhouse:8123/cameleer CAMELEER_AUTH_TOKEN: ${CAMELEER_AUTH_TOKEN:-default-bootstrap-token} CAMELEER_TENANT_ID: ${CAMELEER_TENANT_SLUG:-default} @@ -117,6 +119,7 @@ services: restart: unless-stopped volumes: - chdata:/var/lib/clickhouse + - ./docker/clickhouse-init.sql:/docker-entrypoint-initdb.d/init.sql:ro healthcheck: test: ["CMD-SHELL", "clickhouse-client --query 'SELECT 1'"] interval: 10s diff --git a/docker/clickhouse-init.sql b/docker/clickhouse-init.sql new file mode 100644 index 0000000..f745780 --- /dev/null +++ b/docker/clickhouse-init.sql @@ -0,0 +1 @@ +CREATE DATABASE IF NOT EXISTS cameleer; diff --git a/docker/init-databases.sh b/docker/init-databases.sh index 1c0b212..51829de 100644 --- a/docker/init-databases.sh +++ b/docker/init-databases.sh @@ -1,7 +1,9 @@ #!/bin/bash set -e -psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL +psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL CREATE DATABASE logto; + CREATE DATABASE cameleer3; GRANT ALL PRIVILEGES ON DATABASE logto TO $POSTGRES_USER; + GRANT ALL PRIVILEGES ON DATABASE cameleer3 TO $POSTGRES_USER; EOSQL