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) |
Log in with default credentials
Change these immediately via
Gear Icon -> Change PasswordandGear Icon -> Change PIN
| Username | Password | PIN |
|---|---|---|
| admin | admin123 | 1234 |
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 ofDOCKER_INFLUXDB_INIT_PASSWORDin/home/coolblock/panel/.env.
Navigate to https://panel-pc-ip-or-fqdn:8086.
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.
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