diff --git a/packages/api/.env-portal b/packages/api/.env-portal index fff5cd187..5c0d183b9 100644 --- a/packages/api/.env-portal +++ b/packages/api/.env-portal @@ -1,6 +1,6 @@ DEVMODE=1 -CONNECTIONS=mysql,postgres,mongo,mongo2 +CONNECTIONS=mysql,postgres,mongo,mongo2,mysqlssh LABEL_mysql=MySql localhost SERVER_mysql=localhost @@ -24,4 +24,17 @@ LABEL_mongo2=Mongo Server SERVER_mongo2=localhost ENGINE_mongo2=mongo@dbgate-plugin-mongo +LABEL_mysqlssh=MySql SSH +SERVER_mysqlssh=localhost +USER_mysqlssh=root +PASSWORD_mysqlssh=xxx +PORT_mysqlssh=3316 +ENGINE_mysqlssh=mysql@dbgate-plugin-mysql +USE_SSH_mysqlssh=1 +SSH_HOST_mysqlssh=demo.dbgate.org +SSH_PORT_mysqlssh=22 +SSH_MODE_mysqlssh=userPassword +SSH_LOGIN_mysqlssh=root +SSH_PASSWORD_mysqlssh=xxx + # docker run -p 3000:3000 -e CONNECTIONS=mongo -e URL_mongo=mongodb://localhost:27017 -e ENGINE_mongo=mongo@dbgate-plugin-mongo -e LABEL_mongo=mongo dbgate/dbgate:beta diff --git a/packages/api/src/controllers/connections.js b/packages/api/src/controllers/connections.js index ee71c169d..cf5fb3d5b 100644 --- a/packages/api/src/controllers/connections.js +++ b/packages/api/src/controllers/connections.js @@ -53,6 +53,16 @@ function getPortalCollections() { defaultDatabase: process.env[`DATABASE_${id}`], singleDatabase: !!process.env[`DATABASE_${id}`], displayName: process.env[`LABEL_${id}`], + + // SSH tunnel + useSshTunnel: process.env[`USE_SSH_${id}`], + sshHost: process.env[`SSH_HOST_${id}`], + sshPort: process.env[`SSH_PORT_${id}`], + sshMode: process.env[`SSH_MODE_${id}`], + sshLogin: process.env[`SSH_LOGIN_${id}`], + sshPassword: process.env[`SSH_PASSWORD_${id}`], + sshKeyfile: process.env[`SSH_KEY_FILE_${id}`], + sshKeyfilePassword: process.env[`SSH_KEY_FILE_PASSWORD_${id}`], })); console.log('Using connections from ENV variables:'); console.log(JSON.stringify(connections.map(pickSafeConnectionInfo), undefined, 2));