Welcome Contributors!
Thank you for your interest in contributing to Dokploy! We appreciate your help and the time you take to contribute. Every contribution helps make Dokploy better for everyone.Before you start, please discuss the feature or bug fix you want to add with the owners and community via GitHub issues.
Quick Start
Development Setup
Prerequisites
- Node.js: v24.4.0 (recommended)
- pnpm: >=9.12.0
- Docker: Installation guide
Initial Setup
Run Development Server
Commit Convention
We follow the Conventional Commits specification for all commit messages.Commit Message Format
Commit Types
| Type | Description |
|---|---|
| feat | A new feature |
| fix | A bug fix |
| docs | Documentation only changes |
| style | Code style changes (formatting, missing semi-colons, etc.) |
| refactor | Code change that neither fixes a bug nor adds a feature |
| perf | Performance improvement |
| test | Adding or correcting tests |
| build | Changes to build system or dependencies |
| ci | Changes to CI configuration |
| chore | Other changes that don’t modify src or test files |
| revert | Reverts a previous commit |
Examples
Build Commands
Development Tools
Code Quality
Testing
Reset Password
If you lose your development environment password:Webhook Testing
Test webhooks locally using localtunnel:Buildpack Installation
For testing application deployments with Nixpacks or Buildpacks:Docker Permissions
If you encounter Docker permission issues:Pull Request Guidelines
Before Submitting
Branch Strategy
Branch Strategy
- Base your work on the
canarybranch (notmain) - Create a new branch for each feature or bug fix
- Use descriptive branch names (e.g.,
feat/multi-node-support,fix/database-timeout)
Testing Requirements
Testing Requirements
Testing is Mandatory: All PRs must be tested by the author before submission.
- Test your changes in a local development environment
- Verify the feature works as expected
- Check for any unintended side effects
- Test edge cases and error scenarios
Documentation
Documentation
- Update documentation for any user-facing changes
- Add code comments for complex logic
- Update the docs.dokploy.com website if needed
Code Quality
Code Quality
- Run linting and formatting:
pnpm run format-and-lint:fix - Ensure type checking passes:
pnpm run typecheck - Add tests for new features when applicable
PR Description
Provide a clear and concise description:- Summary: What does this PR do?
- Motivation: Why is this change needed?
- Testing: How was it tested?
- Screenshots/Videos: Include visuals for UI changes (highly appreciated!)
- Related Issues: Reference any related issues (e.g.,
Fixes #123,Closes #456)
Important Considerations
Large Features: PRs introducing very large or broad features will not be accepted unless the idea is first outlined and discussed in a GitHub issue. This ensures the project stays coherent and aligned.
- Don’t submit PRs with only minor changes (whitespace, formatting, unused variables)
- These should be part of a larger refactor or a dedicated cleanup task
- Exception: PRs addressing a specific “good first issue” or maintenance task
- For significant changes, open an issue first to discuss the solution
- Link your PR to the issue (e.g.,
Fixes #123) - This prevents duplicated effort and ensures alignment
Contributing to Templates
To add a new template, visit the Dokploy/templates repository and read the README.Template Recommendations
- Use the same folder name as the template ID
- Place logos in the
publicfolder - Add
_HOSTsuffix to variables that should show domains in the UI - Test templates on a VPS or server before submitting
Contributing to Documentation
To contribute to the Dokploy documentation or website, visit the Dokploy/website repository.Community
Discord Community
Join discussions, get help, and connect with other contributors
GitHub Issues
Report bugs, request features, and track development
GitHub Sponsors
Support the project and its maintainers
Dokploy Cloud
Try the managed version of Dokploy
Recognition
Once your pull request is merged:- You’ll be automatically added as a contributor to the project
- Your contribution will be visible on the contributors page
- You’re helping build a better PaaS for everyone!
Code of Conduct
By contributing to Dokploy, you agree to:- Be respectful and inclusive
- Provide constructive feedback
- Focus on what’s best for the community
- Show empathy towards other contributors
Questions?
If you have questions about contributing:- Check the documentation
- Search existing issues
- Ask in our Discord community
- Create a new issue if needed
Thank you for contributing to Dokploy! Every contribution, no matter how small, makes a difference.