diff --git a/server/modules/storage/git/definition.yml b/server/modules/storage/git/definition.yml index 933bf723..9e778eac 100644 --- a/server/modules/storage/git/definition.yml +++ b/server/modules/storage/git/definition.yml @@ -93,6 +93,12 @@ props: default: '' hint: Optional - Absolute path to the Git binary, when not available in PATH. Leave empty to use the default PATH location (recommended). order: 50 + sshPort: + type: Number + title: SSH Port + default: 22 + hint: Optional - SSH Authentication Only - Allows overriding ssh default port. + order: 60 actions: - handler: syncUntracked label: Add Untracked Changes diff --git a/server/modules/storage/git/storage.js b/server/modules/storage/git/storage.js index e47d5582..f8b32112 100644 --- a/server/modules/storage/git/storage.js +++ b/server/modules/storage/git/storage.js @@ -77,7 +77,10 @@ module.exports = { throw err } } - await this.git.addConfig('core.sshCommand', `ssh -i "${this.config.sshPrivateKeyPath}" -o StrictHostKeyChecking=no`) + if (this.config.sshPort <= 0) { + this.config.sshPort = 22 + } + await this.git.addConfig('core.sshCommand', `ssh -i "${this.config.sshPrivateKeyPath}" -o StrictHostKeyChecking=no -p ${this.config.sshPort}`) WIKI.logger.info('(STORAGE/GIT) Adding origin remote via SSH...') await this.git.addRemote('origin', this.config.repoUrl) break