Supported Providers
Dokploy integrates with the following Git providers:GitHub
Connect via GitHub App for enterprise-grade security and webhook automation
GitLab
OAuth integration with support for self-hosted GitLab instances
Gitea
Lightweight self-hosted Git service with OAuth support
Bitbucket
Connect using App Passwords or API tokens
Key Features
Automatic Deployments
All Git providers support automatic deployments triggered by:- Push Events: Deploy when code is pushed to a specific branch
- Tag Events: Deploy when new tags are created (GitHub)
- Pull Request Events: Create preview deployments for pull requests (GitHub)
Repository Access
Once connected, you can:- Browse all accessible repositories
- Select specific branches for deployment
- Clone private repositories securely
- Enable submodule support
Webhook Configuration
Webhooks enable real-time deployment triggers:- Automatic webhook registration (GitHub)
- Secure payload verification
- Selective deployment based on watch paths
- Skip deployment keywords support
Authentication Methods
GitHub App (Recommended for GitHub)
GitHub App (Recommended for GitHub)
GitHub uses App installation for authentication, providing:
- Fine-grained repository access
- Automatic token rotation
- Webhook secret management
- Organization-level permissions
OAuth (GitLab, Gitea)
OAuth (GitLab, Gitea)
OAuth 2.0 authentication flow with:
- Access and refresh tokens
- Automatic token refresh
- Scoped repository access
- Support for self-hosted instances
API Tokens (Bitbucket)
API Tokens (Bitbucket)
Direct authentication using:
- App Passwords
- Repository Access Tokens (API tokens)
- Workspace-level access
Common Configuration
All Git provider integrations share these common settings:Provider Name
A friendly name to identify your Git provider connection in the Dokploy dashboard.Repository Selection
When deploying an application, you can:- Select a connected Git provider
- Choose from available repositories
- Select a branch to deploy
- Configure deployment triggers
Deployment Triggers
Security Features
Token Storage
All credentials are stored securely:- Encrypted in the database
- Never exposed in logs
- Used only for Git operations
- Automatically refreshed when needed
Webhook Verification
Incoming webhooks are verified using:- GitHub: SHA-256 HMAC signature verification
- GitLab: Secret token validation (when configured)
- Gitea: Secret token validation (when configured)
- Bitbucket: IP allowlisting or secret tokens
Permission Validation
For GitHub preview deployments:- Validates PR author has write access
- Blocks unauthorized deployment attempts
- Posts security notifications on blocked PRs
- Configurable per application
Self-Hosted Support
GitLab and Gitea support self-hosted instances with custom URLs.
- External URL: The publicly accessible URL for OAuth redirects
- Internal URL (optional): URL for server-to-server communication when on the same network
Example Configuration
- Token exchange during OAuth
- Token refresh operations
- Reduces latency on same-network deployments
Watch Paths
Configure selective deployments based on changed files:Skip Keywords
Prevent deployments using commit message keywords:[skip ci][ci skip][no ci][skip actions][actions skip]
Next Steps
Choose your Git provider to get started:Setup GitHub
Create and install a GitHub App
Setup GitLab
Configure OAuth application
Setup Gitea
Configure OAuth application
Setup Bitbucket
Create App Password or API token