Skip to content
/ dbnet Public

dbNet is a web-based database client using Go as a backend, and React as front-end

License

Notifications You must be signed in to change notification settings

dbnet-io/dbnet

Repository files navigation

dbNet is a web-based SQL IDE using Go as a backend, and your browser (or electron) as front-end. I built it because I was unsatisfied with the database clients out there. Alot of them are top-heavy, unituitive, slow or expensive. dbNet aims to be smart and useful especially for analysis and simply querying any SQL database.

The goal is to make it a great SQL IDE which gives useful context as you hover table and column names for example. It should allow you to ingest files with ease, imagine drag-dropping a CSV file into a schema where dbNet auto-creates the table with proper column types. The other nifty part is that it can run from a shell/terminal on any machine and lets users access the UI from the browser (with dbnet serve).

image

dbNet is in active developement and will be open-sourced soon. Here are some of the databases it connects to:

  • Clickhouse
  • Google BigQuery
  • Google BigTable
  • MySQL
  • Oracle
  • Redshift
  • PostgreSQL
  • SQLite
  • SQL Server
  • Snowflake
  • DuckDB
  • MotherDuck
  • StarRocks
  • ScyllaDB (coming soon)
  • Firebolt (coming soon)
  • Databricks (coming soon)

Installation

Brew on Mac

brew install dbnet-io/dbnet/dbnet

# You're good to go!
dbnet -h

Scoop on Windows

scoop bucket add dbnet https://github.com/dbnet-io/scoop-dbnet.git
scoop install dbnet

# You're good to go!
dbnet -h

Docker

docker pull dbnetio/dbnet

# You're good to go!
docker run --rm -it dbnetio/dbnet -h

Build from source

git clone https://github.com/dbnet-io/dbnet.git
cd dbnet

go mod tidy

# Ensure you have npm & yarn installed with NodeJS 16+
bash build.sh

./dbnet -h

Getting Started

See docs at https://flarco.gitbook.io/dbnet.io/getting-started for more details.

Connections

See details at https://flarco.gitbook.io/dbnet.io/connections/connections.

You should be able to see connections with dbnet conns list:

$ dbnet conns list
+--------------------------+-----------------+-------------------+
| CONN NAME                | CONN TYPE       | SOURCE            |
+--------------------------+-----------------+-------------------+
| FINANCE_BQ               | DB - BigQuery   | env variable      |
| LOCALHOST_DEV            | DB - PostgreSQL | dbt profiles yaml |
| MSSQL                    | DB - SQLServer  | env variable      |
| MYSQL                    | DB - MySQL      | env variable      |
| ORACLE_DB                | DB - Oracle     | env variable      |
| MY_PG                    | DB - PostgreSQL | env variable      |
+--------------------------+-----------------+-------------------+

Serve

Run the application with dbnet serve.

Notes

Electron

Icons

https://github.com/jackmordaunt/icns cat icon.png | icnsify > icon.icns bash frontend/src-tauri/icons/generate.sh