Skip to content

[Bug]: Git source setup and manual webhooks reject valid scp-style SSH URLs with non-git usernames #11665

Description

@Marmelatze

Description and Error Message

Coolify assumes that every scp-style SSH Git URL begins with git@.

Some Git hosts require another SSH username. Such URLs are valid Git remotes, but Coolify rejects them during Git source setup. If an application is configured with one through another path, manual GitHub
webhooks also fail to match it.

Expected Behavior

Coolify should support valid scp-style SSH repository URLs regardless of the SSH username.

All of these should be accepted and normalize to:

organization/repository
git@github.example.com:organization/repository.git
custom-user@github.example.com:organization/repository.git
https://github.example.com/organization/repository.git

Actual behavior

Git source setup validates scp-style SSH URLs against git@…, so it rejects a valid URL such as:

custom-user@github.example.com:organization/repository.git

Manual GitHub webhook matching has the same assumption. It only parses scp-style SSH URLs that begin with git@, so a repository configured with another username is not matched against GitHub’s
repository.full_name.

The webhook returns:

Nothing to do. No applications found with deploy key set, branch is 'main' and Git Repository name has organization/repository.

Webhook payload fields

{
 "ref": "refs/heads/main",
 "repository": {
   "full_name": "organization/repository"
 }
}

The payload is valid:

  • Branch resolves to main.
  • Repository resolves to organization/repository.

The failure is URL validation/normalization of the configured Git Repository.

Steps to Reproduce

  1. Create an application using a private repository / deploy-key Git source.
  2. Enter a valid scp-style SSH URL with a non-git username:
custom-user@github.example.com:organization/repository.git
  1. Observe that Git source setup rejects or transforms it incorrectly.
  2. If the URL is persisted by another route, set the branch to main.
  3. Configure the repository push webhook to target:
/source/github/events/manual
  1. Push to main.
  2. Observe that Coolify cannot find the application.

Example Repository URL

custom-user@github.example.com:organization/repository.git

Coolify Version

v4.3.17

Are you using Coolify Cloud?

No (self-hosted)

Operating System and Version (self-hosted)

Debian 12

Screenshots / Visuals

No response

Additional Information

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    🔍 TriageIssues that need assessment and prioritization.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions