Redash on Docker Connect to Database Over SSH Tunnel
Redash is an application for data visualization from a database and is Open Source.
Currently Redash can be run directly on several cloud providers using the Redash image provided, including Docker. Please visit the official website for more information
You can install Redash in a local environment (laptop or personal pc) and you can also connect it to a database in the local environment as well a database on a public server. However, usually databases that are on public servers are not open to the public, therefore to connect to the database it is necessary to create a tunnel to the database via SSH.
To create a tunnel directly from the terminal or use bash, use the following syntax:
$ ssh -L 3389:0.0.0.0:3306 [email protected]
Or if you want to use SSH Config, you can use the following configuration:
Host devx-sibunglon
Hostname devx.sibunglon.com
User user
LocalForward 0.0.0.0:3389 127.0.0.1:3306
-) devx-sibunglon : the hostname used when connecting to the server. To connect to the server, just use the command ssh devx-sibunglon
.
-) 3389 : port database running in local environment after successfully connecting to server using SSH
-) 3306 : database port running on the server
-) user : the username used goes to the server via SSH
-) devx.sibunglon.com : hostname server
After successfully connecting to the server via SSH, based on the previously created SSH tunnel, the database connection in Redash can be configured as follows:
-) host : host.docker.internal
-) Port : 3389
-) And several configurations can be adjusted to the database configuration on the server, such as database name, database user and password.