Free open-source DB tool: access control, data masking, SQL audit, CI/CD, cross-region deployment.
1.4K
CloudDM Console is the control-plane component in CloudDM cluster mode. It is suitable for team collaboration, multi-node access, and cross-network-region deployment. A working MySQL instance is required before startup.
[Website] [Documentation] [Blog] [Gitee] [GitHub]
CloudDM is a free and open-source database management platform designed for team collaboration scenarios. It provides access control, data masking, SQL auditing, CI/CD, and cross-region deployment capabilities.
It is not just a SQL query tool, and it is not just a database operations platform. It brings the following capabilities into one web product:
If you need a database platform that can be adopted directly rather than a lightweight command-line client, CloudDM is a better fit.
CloudDM uses the business-friendly Apache 2.0 license.
Console depends on MySQL. The simplest way is to use Docker Compose to start MySQL and Console together in one step.
Example compose file:
services:
dm_mysql:
image: mysql:8.0
container_name: cgdm-mysql
restart: always
volumes:
- cgdm_mysql_data:/var/lib/mysql
environment:
MYSQL_DATABASE: cdmgr
MYSQL_ROOT_PASSWORD: 123456
command: ["mysqld", "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"]
dm_console:
image: bladepipe/cgdm-console:3.0.7
container_name: cgdm-console
restart: always
depends_on:
- dm_mysql
ports:
- "8222:8222"
- "8008:8008"
volumes:
- cgdm_console_conf:/root/cgdm/console/conf
- cgdm_console_logs:/root/cgdm/console/logs
- cgdm_console_data:/root/cgdm/console/data
environment:
APP_WEB_PORT: 8222
APP_WEB_JWT: "change_me_to_a_random_secret"
APP_SERVE_NAME: dm_console
APP_SERVE_PORT: 8008
#
DB_HOST: dm_mysql
DB_PORT: 3306
DB_DATABASE: cdmgr
DB_USERNAME: root
DB_PASSWORD: 123456
volumes:
cgdm_console_conf:
cgdm_console_logs:
cgdm_console_data:
cgdm_mysql_data:
Save it as docker-compose.yml, then start it with:
docker compose -f docker-compose.yml up -d
For mainland China network environments, you can switch the image to the accelerated registry address:
image: cloudcanal-registry.cn-shanghai.cr.aliyuncs.com/clougence/cgdm-console:3.0.7
After startup, open:
http://localhost:8222
On first access, the initialization wizard opens. The default account is
[email protected]
| Environment Variable | Default | Purpose |
|---|---|---|
APP_WEB_PORT | 8222 | Web console port, mapped to server.port |
APP_WEB_JWT | Built-in image default | JWT secret. Use a long random string explicitly in production |
APP_SERVE_NAME | 127.0.0.1 | Hostname or address exposed by Console to Sidecar |
APP_SERVE_PORT | 8008 | Console communication port exposed to Sidecar |
WAIT_DB_TIMEOUT_SECONDS | 120 | Maximum number of seconds to wait for database connectivity during startup |
What should APP_SERVE_NAME be set to
dm_console in the compose example127.0.0.1, because it only works for container-local self-connections and not for an independent Sidecar| Environment Variable | Default | Purpose |
|---|---|---|
DB_HOST | Empty | MySQL host address. Must be set explicitly |
DB_PORT | 3306 | MySQL port |
DB_DATABASE | cdmgr | Metadata database name |
DB_USERNAME | Empty | MySQL username. Must be set explicitly |
DB_PASSWORD | Empty | MySQL password. It is recommended to set this explicitly |
| Container Path | Recommended Host Path | Description |
|---|---|---|
/var/lib/mysql | /data/cgdm-console/mysql | Stores MySQL data, important |
/root/cgdm/console/conf | /data/cgdm-console/conf | Configuration directory containing console.properties, important |
/root/cgdm/console/data | /data/cgdm-console/data | Runtime data directory, important |
/root/cgdm/console/logs | /data/cgdm-console/logs | Log directory |
| Container Port | Purpose | Required Mapping |
|---|---|---|
8222 | Web console | Yes |
8008 | Communication port between Sidecar and Console | Yes |
If Sidecar is not on the same host, 8008 must be reachable from the Sidecar network.
Console generates configuration from environment variables only when /root/cgdm/console/conf/console.properties does not exist.
Content type
Image
Digest
sha256:7b477bd31…
Size
472.7 MB
Last updated
about 20 hours ago
docker pull bladepipe/cgdm-console:4.0.2-rc.1