Repository navigation
SQLDesk 0.3.0
Tealdash is now SQLDesk. The project moved to bot-netizen/sqldesk and the image to ghcr.io/bot-netizen/sqldesk. Nothing else about it changed — this release is the rename, plus one real bug fix that came out of it.
Install
docker pull ghcr.io/bot-netizen/sqldesk:0.3.0SQLDesk needs Postgres and Redis alongside it. compose.prod.yaml in the repository wires up all three:
cp .env.example .env # fill in the three secrets it asks for
docker compose -f compose.prod.yaml run --rm server create_db
docker compose -f compose.prod.yaml up -dIt comes up on http://localhost:5000. Images are built for amd64 and arm64.
On macOS, port 5000 belongs to AirPlay Receiver and
upfails with "address already in use". SetSQLDESK_PORTandSQLDESK_HOSTin.envto another port.
Keep
SQLDESK_SECRET_KEY. Data-source passwords are encrypted with it.
Upgrading from Tealdash
- Your existing
.envneeds no edits.SQLDESK_*is read first, thenTEALDASH_*, thenREDASH_*. The most recent name wins. - The image is
ghcr.io/bot-netizen/sqldesknow. - Run
docker compose -f compose.prod.yaml run --rm server manage db upgrade. 0.2.0 added a column todashboards, and this release moves saved chart palettes to the new name — charts render either way, because both former palette names resolve to the default. - SAML:
SQLDeskGroupsis read first, thenTealdashGroups, thenRedashGroups. No identity-provider change needed.
Those three fallbacks exist because breaking them fails quietly rather than loudly — an identity provider sending the old attribute would still let people log in, into the default group, silently without their data sources.
Fixed: uploading a file and then querying it
Uploading a parquet or CSV file appeared to work, and every query against it then failed.
The server saves the upload into its own container. The worker is what actually runs the query, and DuckDB opens the file by absolute path from there — a different container, where it does not exist. compose.prod.yaml gave server, worker and scheduler no volumes at all.
They now share one. That is also what keeps uploads across a compose up that recreates a container; before, they lived in the container's writable layer and went with it.
Development was never affected, because the development compose file bind-mounts the working tree into every service — which is exactly why this reached a release. The published Docker path is the one nothing exercises.
Also
An image built from a working copy no longer carries that copy's .env or its uploaded files. .dockerignore listed only build noise, so COPY . /app took both. Images published from CI were never affected — it builds from a clean checkout, where neither is tracked.
Licence
SQLDesk is Apache 2.0. It is a fork of Redash, copyright © 2013–2020 Arik Fraimovich, licensed under BSD 2-Clause — that licence and its copyright notice are preserved verbatim in LICENSE.redash. See NOTICE for full attribution.
SQLDesk is an independent project. It is not affiliated with, endorsed by, or supported by the Redash project or its contributors.