bladepipe/cgdm-alone

By bladepipe

Updated about 7 hours ago

Free open-source DB tool: access control, data masking, SQL audit, CI/CD, cross-region deployment.

Image
Security
Integration & delivery
Developer tools
0

2.7K

bladepipe/cgdm-alone repository overview

CloudDM Alone

CloudDM Alone is the standalone image of CloudDM. It combines the web console, execution capability, and metadata database runtime into a single container, which makes it suitable for local evaluation, PoC usage, individual users, small-team trials, and local integration testing.

[Website] [Documentation] [Blog] [Gitee [Github

What Is CloudDM

CloudDM is a free and open-source database management platform for team collaboration. It provides access control, data masking, SQL auditing, CI/CD, and cross-region deployment capabilities.

It is not only a SQL query tool, and it is not only a database operations tool. It brings the following capabilities into one web product:

  • Unified management for multiple databases and data sources
  • Visual query, object management, and daily operations workflows
  • Audit, risk validation, and approval before SQL execution
  • Role-, resource-, and temporary-authorization-based access control
  • Database access deployment closer to database networks through the Console + Sidecar architecture

If you need a database platform that can be adopted directly rather than just a lightweight command-line client, CloudDM is a better fit.

Core Capabilities

Query and Development
  • Supports MySQL, Oracle, MariaDB, PostgreSQL, SQL Server, DB2, TiDB, ClickHouse, Doris, StarRocks, Redis, MongoDB, and more
  • Provides a unified web console, SQL editor, result export, execution plans, transaction control, and syntax highlighting
Database Management
  • Supports management of catalogs, schemas, tables, columns, indexes, views, functions, stored procedures, triggers, users, and roles
  • Suitable for unified management across multiple environments and instances
Database CI/CD
  • Supports Git Push, Web Hook, and HttpCall as CI/CD triggers
  • Supports Gitee as a change repository
Security and Permissions
  • Supports both resource permissions and functional permissions
  • Supports permission requests, grants, temporary authorization, and approval workflows
  • Provides SQL auditing, risk interception, and data masking
Workflow and Collaboration
  • Supports SQL audit workflows, permission tickets, and change workflows
  • Supports manual, immediate, and scheduled execution modes
  • Supports OpenLDAP, OIDC, Windows AD, DingTalk, Feishu, and WeCom integrations for authentication and workflow engines
  • Suitable as a shared database access entry point for teams

License

CloudDM uses the business-friendly Apache 2.0 license.

Usage

docker run -d --name cgdm-alone -p 8222:8222 bladepipe/cgdm-alone:3.0.7

For mainland China network environments:

docker run -d --name cgdm-alone -p 8222:8222 \
  cloudcanal-registry.cn-shanghai.cr.aliyuncs.com/clougence/cgdm-alone:3.0.7

After the container starts, open:

http://localhost:8222

On first access, the initialization wizard opens. The default account is [email protected]

To persist data to host directories:

mkdir -p /data/cgdm-alone/conf
mkdir -p /data/cgdm-alone/logs
mkdir -p /data/cgdm-alone/data
mkdir -p /data/cgdm-alone/mysql

docker run -d \
  --name cgdm-alone \
  -p 8222:8222 \
  -v /data/cgdm-alone/conf:/root/cgdm/alone/conf \
  -v /data/cgdm-alone/logs:/root/cgdm/alone/logs \
  -v /data/cgdm-alone/data:/root/cgdm/alone/data \
  -v /data/cgdm-alone/mysql:/var/lib/mysql \
  bladepipe/cgdm-alone:3.0.7

If you want to switch to an external MySQL instance, add MYSQL_EMBEDDED=false to the command and provide DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, and DB_PASSWORD.

Environment Variables

General Startup Parameters
Environment VariableDefaultPurpose
APP_WEB_PORT8222Web console port, mapped to server.port
APP_WEB_JWTBuilt-in image defaultJWT secret. Use a long random string in production
APP_SERVE_NAME127.0.0.1Internal service address, mapped to clouddm.rsocket.dns
APP_SERVE_PORT8008Internal service port, mapped to clouddm.rsocket.console.port
Database Parameters
Environment VariableDefaultPurpose
MYSQL_EMBEDDEDtrueWhether to enable embedded MySQL. true uses built-in MySQL, false uses an external MySQL
MYSQL_ROOT_PASSWORD123456Root password of the embedded MySQL
MYSQL_DATADIR/var/lib/mysqlEmbedded MySQL data directory
MYSQL_SOCKET/run/mysqld/mysqld.sockEmbedded MySQL socket path
MYSQL_PID_FILE/run/mysqld/mysqld.pidEmbedded MySQL pid file path
DB_HOST127.0.0.1Metadata database host. Change this when using external MySQL
DB_PORT3306Metadata database port
DB_DATABASEcdmgrMetadata database name
DB_USERNAMErootMetadata database username
DB_PASSWORDFollows MYSQL_ROOT_PASSWORD by defaultMetadata database password

Data Persistence

Container PathSuggested Host PathDescription
/var/lib/mysql/data/cgdm-alone/mysqlEmbedded MySQL data directory, important
/root/cgdm/alone/conf/data/cgdm-alone/confConfiguration directory containing alone.properties, important
/root/cgdm/alone/data/data/cgdm-alone/dataRuntime data directory, important
/root/cgdm/alone/logs/data/cgdm-alone/logsLog directory

Ports

Container PortPurposeRequired Mapping
8222Web consoleYes

For the minimal startup path, only 8222 needs to be mapped.

Important Rule

This image generates configuration from environment variables only when /root/cgdm/alone/conf/alone.properties does not exist.

Tag summary

Content type

Image

Digest

sha256:42737a9af

Size

535.1 MB

Last updated

about 7 hours ago

docker pull bladepipe/cgdm-alone:4.0.2-rc.1