Skip to content

Synapsecom/coolblock-panel

Repository files navigation

coolblock-logo-text

Panel Web - Latest Docker Tag Panel API - Latest Docker Tag Panel Proxy - Latest Docker Tag Panel Tunnel - Latest Docker Tag

Deploy VPS - Liquid Cloud

Getting started

  1. Configure BIOS per your Mini PC model:

    1. Beelink MINI S12 Pro (N100)
    2. Advantech P1571Z-C6 V2 (6650U)
    3. Yentek C4350Z-HD (i5-10210)
  2. Install Ubuntu Server 24.04 LTS following this guide.

  3. Run the bootstrap script to install or upgrade the stack:

    Installs to /home/coolblock/panel. Database backups are stored in /home/coolblock/panel/backup.

    curl -fsSL https://downloads.coolblock.com/panel/install.sh \
        | bash -s -- \
            --tank-model <tank_model> \
            --plc-model <plc_model> \
            --serial-number <serial_number> \
            --license-key <license_key> \
            --tunnel-jwt <tunnel_jwt> \
        | tee /root/install.log  # specify --headless argument if tank model does not support touch panel

    PLC model compatibility:

    Tank Model PLC Model
    x110 Carel c.pCO mini (proto:modbus)
    x520 Siemens S7-1200 (proto:profinet)
  4. Log in with default credentials

    Change these immediately via Gear Icon -> Change Password and Gear Icon -> Change PIN

    Username Password PIN
    admin admin123 1234

Administration

  • Service lifecycle

    sudo systemctl start coolblock-panel.service
    sudo systemctl restart coolblock-panel.service
    sudo systemctl stop coolblock-panel.service
  • Connect to MySQL

    # as coolblock user
    mysql --defaults-file=~/.my.cnf coolblock-panel
  • Back up MySQL

    # as coolblock user
    cd panel/
    mysqldump --defaults-file=~/.my.cnf --databases coolblock-panel > adhoc-coolblock-panel_$(date +%Y%m%d_%H%M%S).sql
  • Remote Panel access

    Prompts for username/password instead of PIN.

    Navigate to https://panel-pc-ip-or-fqdn:10443.

  • Remote InfluxDB access

    Username: coolblock. Password: value of DOCKER_INFLUXDB_INIT_PASSWORD in /home/coolblock/panel/.env.

    Navigate to https://panel-pc-ip-or-fqdn:8086.

Monitoring

The stack exposes a healthcheck endpoint at /backend/health. Append ?metrics=1 to include service metrics. Scrape this endpoint with Zabbix, Nagios, or similar tools to monitor multiple installations.

Example response (without metrics):

{
  "redis": { "status": "healthy" },
  "database": {
    "influx": {
      "local": { "status": "healthy" },
      "cloud": { "status": "healthy" }
    },
    "mysql": { "status": "healthy" }
  },
  "panel": {
    "web": { "status": "healthy", "version": "0.9.9" },
    "api": { "status": "healthy", "version": "1.0.0" }
  },
  "internet": { "status": "healthy" },
  "latency": 442.908
}

Latency is in milliseconds.

Returns HTTP 200 when redis, local influxdb, mysql, and panel are healthy; 5xx otherwise.

Troubleshooting

  • Error response from daemon: Get "https://<subhost>.coolblock.com/v2/": dial tcp: lookup <subhost>.coolblock.com on <dns-ip>:53: no such host or Error response from daemon: unknown: failed to resolve reference "<subhost>.coolblock.com/coolblock/panel-<component>:<version>": unexpected status from HEAD request to https://<subhost>.coolblock.com/v2/coolblock/panel-<component>/manifests/<version>: 530 <none>

    The deployment file references the old container registry. As of 11-Nov-25, container images are hosted on GitHub Packages.

    Fix by running:

    sed -i \
        -e 's#registry.coolblock.com/coolblock/panel-web#ghcr.io/synapsecom/coolblock-panel-web#' \
        -e 's#registry.coolblock.com/coolblock/panel-api#ghcr.io/synapsecom/coolblock-panel-api#' \
        -e 's#registry.coolblock.com/coolblock/panel-proxy#ghcr.io/synapsecom/coolblock-panel-proxy#' \
        -e 's#registry.coolblock.com/coolblock/panel-tunnel#ghcr.io/synapsecom/coolblock-panel-tunnel#' \
        /home/coolblock/panel/docker-compose.yml
    
    sudo systemctl restart coolblock-panel.service

    You may also need to update your license key (access token). Contact your system administrator.

  • proxy-1 | 2025-11-11T20:13:17Z ERR Provider error, retrying in 2.018153525s error="Error response from daemon: client version 1.24 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version" providerName=docker

    Known bug in Docker 29.0.0 — see traefik/traefik#12253. Fix:

    {
      echo "[Service]"
      echo "Environment=DOCKER_MIN_API_VERSION=1.24"
    } | sudo tee /etc/systemd/system/docker.service.d/override.conf
    
    sudo systemctl daemon-reload
    sudo systemctl restart docker