Deploy keys
A deploy key grants one SSH key access to one private repository. Use it when you cannot install a Git App or when repository-specific access is preferred.
Create a deploy key
Generate a key in Coolify
Open Keys & Tokens > Private Keys, select New private key, then Generate ED25519 or Generate RSA. Coolify saves the key immediately.
Open the saved key's edit icon to give it a name that identifies the repository, select Save changes, and copy Public key.
Add the public key to the repository
Open the repository's deploy-key or access-key settings and add the copied public key.
Keep write access disabled. Coolify only needs to clone and fetch the repository.
Copy the SSH repository URL
Use the provider's SSH clone URL:
git@github.com:coollabsio/coolify-examples.gitDo not use the HTTPS URL for Private Repository (with deploy key).
Create the application
Open a project, select + New, then Private Repository (with deploy key).
Choose the server, select the stored private key, paste the SSH URL, and configure the application.
Deploy and verify
Select Deploy. Confirm the repository clone and requested branch succeed in the deployment log.
Automatic deployments
The SSH key only provides repository access. Choose how the deployment starts.
Add a manual Git webhook, then choose Deploy on push (webhooks) under Advanced > Deployment > Auto deploy. The provider can then notify Coolify when the configured branch changes.
Use a GitHub App instead when you want GitHub repository selection and webhook configuration through one integration.
Key scope
Prefer a separate deploy key for each repository. If a key is exposed, remove it from the repository and Coolify, create a replacement, attach the new key under Git Source, and redeploy.
