django-sql-dashboard icon indicating copy to clipboard operation
django-sql-dashboard copied to clipboard

Research: what would a docker container of this look like?

Open simonw opened this issue 4 years ago • 2 comments
trafficstars

This has made me think that maybe a cool ability would be if you could run a pre-compiled Django SQL Dashboard in its own Docker container and point it at an existing PostgreSQL database via an environment variable...

Originally posted by @simonw in https://github.com/simonw/django-sql-dashboard/issues/128#issuecomment-859672378

simonw avatar Jun 11 '21 15:06 simonw

Imagine if you could run Django SQL Dashboard in a self-contained Docker container and point it at a PostgreSQL database:

docker run -p 8000:8000 \
  -e DASHBOARD_DATABASE="postgres://...." \
  django-sql-dashboard

There are a few challenges with this:

  • How would user authentication work?
  • How would saved dashboards work? Those need a database connection they can save data to, plus they need their supporting tables created

One possible solution: pass in two environment variables - one for the dashboard database (PostgreSQL only, at least until #49) and one for the authentication and saved dashboards database (any supported Django connection string) - the latter option could even work with a SQLite file mounted in a container volume.

simonw avatar Jun 11 '21 15:06 simonw

Could also handle authentication using a single-use login token similar to "datasette --root"

simonw avatar Jun 11 '21 16:06 simonw