diff --git a/ct/chartdb.sh b/ct/chartdb.sh deleted file mode 100644 index 04eb1a25f2..0000000000 --- a/ct/chartdb.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env bash -_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/DevScripts/main" -_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func" -source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func") -# Copyright (c) 2021-2026 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/DevScripts/raw/main/LICENSE -# Source: https://github.com/chartdb/chartdb - -APP="ChartDB" -var_tags="${var_tags:-database;diagram;dev-tools}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-6144}" -var_disk="${var_disk:-4}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -var_arm64="${var_arm64:-yes}" -var_unprivileged="${var_unprivileged:-1}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - - if [[ ! -d /opt/chartdb ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "chartdb" "chartdb/chartdb"; then - msg_info "Stopping ChartDB" - systemctl stop nginx - msg_ok "Stopped ChartDB" - - NODE_VERSION="24" setup_nodejs - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "chartdb" "chartdb/chartdb" "tarball" - - msg_info "Building ChartDB" - cd /opt/chartdb - $STD npm ci - NODE_OPTIONS="--max-old-space-size=4096" $STD npm run build - rm -rf /opt/chartdb/node_modules - msg_ok "Built ChartDB" - - msg_info "Starting ChartDB" - systemctl start nginx - msg_ok "Started ChartDB" - msg_ok "Updated successfully!" - fi - exit -} - -start -build_container -description - -msg_ok "Completed Successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" -echo -e "${INFO}${YW}Access it using the following URL:${CL}" -echo -e "${GATEWAY}${BGN}https://${IP}${CL}" diff --git a/install/chartdb-install.sh b/install/chartdb-install.sh deleted file mode 100644 index 66c179eaaa..0000000000 --- a/install/chartdb-install.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2026 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/DevScripts/raw/main/LICENSE -# Source: https://github.com/chartdb/chartdb - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Dependencies" -$STD apt install -y nginx -msg_ok "Installed Dependencies" - -NODE_VERSION="24" setup_nodejs -fetch_and_deploy_gh_release "chartdb" "chartdb/chartdb" "tarball" - -msg_info "Building ChartDB" -cd /opt/chartdb -$STD npm ci -NODE_OPTIONS="--max-old-space-size=4096" $STD npm run build -rm -rf /opt/chartdb/node_modules -msg_ok "Built ChartDB" - -msg_info "Configuring ChartDB" -mkdir -p /opt/chartdb_data -cat <<'EOF' >/opt/chartdb_data/config.js -window.env = { - DISABLE_ANALYTICS: "true", - // OPENAI_API_KEY: "", - // OPENAI_API_ENDPOINT: "https://ollama.example.com/v1", - // LLM_MODEL_NAME: "qwen2.5-coder:7b", -}; -EOF -create_self_signed_cert "chartdb" -# HTTPS because the AI export (crypto.subtle) and the copy buttons need a secure context -cat <<'EOF' >/etc/nginx/sites-available/chartdb -server { - listen 80 default_server; - server_name _; - return 301 https://$host$request_uri; -} - -server { - listen 443 ssl default_server; - http2 on; - server_name _; - - ssl_certificate /etc/ssl/chartdb/chartdb.crt; - ssl_certificate_key /etc/ssl/chartdb/chartdb.key; - - root /opt/chartdb/dist; - index index.html; - - location / { - try_files $uri $uri/ /index.html; - } - - location = /config.js { - alias /opt/chartdb_data/config.js; - add_header Cache-Control "no-cache"; - } -} -EOF -nginx_enable_site "chartdb" -msg_ok "Configured ChartDB" - -motd_ssh -customize -cleanup_lxc diff --git a/json/chartdb.json b/json/chartdb.json deleted file mode 100644 index d7f68c2893..0000000000 --- a/json/chartdb.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "ChartDB", - "slug": "chartdb", - "categories": [ - 8, - 20 - ], - "date_created": "2026-10-05", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 443, - "documentation": "https://docs.chartdb.io/", - "website": "https://chartdb.io/", - "repository": "https://github.com/chartdb/chartdb", - "architectures": [ - "amd64", - "arm64" - ], - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/chartdb.webp", - "description": "ChartDB is a database diagram editor that runs in the browser. One query against PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, ClickHouse or CockroachDB returns the schema, which ChartDB turns into an editable ER diagram that can be exported as SQL, DBML or an image.", - "install_methods": [ - { - "type": "default", - "script": "ct/chartdb.sh", - "config_path": "/opt/chartdb_data/config.js", - "resources": { - "cpu": 2, - "ram": 6144, - "hdd": 4, - "os": "Debian", - "version": "13" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Diagrams are stored in your browser, not in the container. Another browser, cleared site data or a new address shows an empty list, so export the diagrams you want to keep.", - "type": "warning" - }, - { - "text": "ChartDB uses a self-signed certificate: accept the browser warning on the first visit.", - "type": "info" - }, - { - "text": "For the optional AI SQL export, set OPENAI_API_KEY or an OpenAI-compatible endpoint in /opt/chartdb_data/config.js. The key is sent to every browser that opens ChartDB, so use one with a spending limit.", - "type": "warning" - } - ] -}