Sign inSign up

superhuang/super-db-manager

By superhuang

Updated about 2 months ago

Self-hosted database manager for SQL, schema browsing, data editing, and transfers.

Image
0

211

superhuang/super-db-manager repository overview

Super DB Manager

Self-hosted database management for SQL execution, schema and data browsing, data editing, connection portability, and data transfers.

Source: SuperHuang-CN/SuperDbManager

Image

docker pull superhuang/super-db-manager:0.1.0

0.1.0 supports linux/amd64 and linux/arm64. Architecture-specific 0.1.0-amd64 and 0.1.0-arm64 tags are also available. The container listens on port 8080; persist /data/super-db-manager.

Quick start with local H2 storage

docker volume create super-db-manager-data

docker run -d \
  --name super-db-manager \
  --restart unless-stopped \
  -p 8080:8080 \
  -e TZ=Asia/Shanghai \
  -e APP_SECRET=replace-with-a-stable-random-secret \
  -e SUPER_DB_MANAGER_DATABASE_PROVIDER=H2 \
  -e 'SUPER_DB_MANAGER_DATABASE_URL=jdbc:h2:file:/data/super-db-manager/system/super-db-manager;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE;DEFAULT_NULL_ORDERING=HIGH' \
  -e SUPER_DB_MANAGER_STORAGE_CONFIG=/data/super-db-manager/config/system-storage.json \
  -e SUPER_DB_MANAGER_DATABASE_LOCAL_PATH=/data/super-db-manager/system/super-db-manager \
  -e SUPER_DB_MANAGER_TRANSFER_STORAGE_DIR=/data/super-db-manager/transfers \
  -v super-db-manager-data:/data/super-db-manager \
  superhuang/super-db-manager:0.1.0

Open http://localhost:8080/ and create the first super administrator. There is no preset administrator password.

Keep APP_SECRET stable and backed up. It encrypts saved system-storage and data-source passwords; changing it makes existing encrypted credentials unreadable.

The image includes system-database JDBC drivers for H2, PostgreSQL, MySQL, MariaDB, KingbaseES, HighGo, and Dameng. Configure a remote system database with SUPER_DB_MANAGER_DATABASE_PROVIDER, SUPER_DB_MANAGER_DATABASE_URL, SUPER_DB_MANAGER_DATABASE_USERNAME, and SUPER_DB_MANAGER_DATABASE_PASSWORD.

Reverse proxy under any path

location = /db-manager {
    return 308 /db-manager/;
}

location /db-manager/ {
    proxy_pass http://127.0.0.1:8080/;
    proxy_http_version 1.1;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Host $http_host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Prefix /db-manager;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_cookie_path / /db-manager/;
    client_max_body_size 512m;
    proxy_read_timeout 1h;
}

The trailing slash on proxy_pass is required. Do not set server.servlet.context-path or SESSION_COOKIE_PATH; Nginx strips the public prefix and rewrites the cookie path. No manually created Docker network is required when using Compose.

Tag summary

Content type

Image

Digest

sha256:4373e6f17

Size

343.6 MB

Last updated

about 2 months ago

docker pull superhuang/super-db-manager:0.1.0-arm64