Dokploy Deployments
DevOpsby huuthangntk
在一个界面集中管理 Dokploy 的项目、应用、数据库、域名与备份;支持从 Git 仓库部署、查看状态与日志,并轻松执行启动、停止、重启及排障流程。
什么是 Dokploy Deployments?
在一个界面集中管理 Dokploy 的项目、应用、数据库、域名与备份;支持从 Git 仓库部署、查看状态与日志,并轻松执行启动、停止、重启及排障流程。
README
Dokploy MCP Server
<div align="center">A powerful MCP server for managing Dokploy deployments
Features • Installation • Usage • API Reference • Contributing
</div>🚀 Overview
Dokploy MCP Server is a comprehensive Model Context Protocol (MCP) server that provides seamless integration with Dokploy - the open-source alternative to Netlify, Vercel, and Heroku. This server enables AI assistants and applications to interact with Dokploy's powerful deployment platform through a standardized interface.
What is Dokploy?
Dokploy is a free, self-hostable Platform as a Service (PaaS) that simplifies application deployment and management. It provides:
- Docker-based deployments
- Support for multiple frameworks and languages
- Automatic SSL certificates
- Database management
- Domain configuration
- And much more!
✨ Features
🗂️ Project Management
- Create, list, and delete projects
- Organize applications by project
- Manage project-level configurations
📦 Application Deployment
- Deploy applications from Git repositories (GitHub, GitLab, etc.)
- Support for Docker and Docker Compose
- Start, stop, and restart applications
- Real-time deployment status
- Update environment variables
- Application monitoring and health checks
🗄️ Database Management
- Support for multiple database types:
- PostgreSQL
- MySQL
- MongoDB
- Redis
- MariaDB
- Create and manage databases
- Connection string management
🌐 Domain & SSL Management
- Add custom domains to applications
- Automatic SSL certificate provisioning via Let's Encrypt
- Domain verification and configuration
💾 Backup & Restore
- Create manual and scheduled backups
- List available backups
- Restore databases from backups
- Disaster recovery support
📊 Monitoring & Logs
- Real-time application logs
- Application status monitoring
- Performance metrics
- Error tracking
📚 Documentation Resources
- Built-in documentation access
- Quick start guides
- API reference
- Best practices
🤖 Interactive Prompts
- Guided deployment workflows
- Database setup assistance
- Troubleshooting helpers
📋 Prerequisites
- Dokploy Instance: A running Dokploy instance (self-hosted or cloud)
- API Token: Authentication token from your Dokploy dashboard
- Node.js: Version 18 or higher
- Bun (optional): For faster package management
🔧 Installation
Quick Start with Smithery
# Install via Smithery
npx create-smithery dokploy-mcp
cd dokploy-mcp
Manual Installation
# Clone the repository
git clone https://github.com/huuthangntk/dokploy-mcp.git
cd dokploy-mcp
# Install dependencies (with bun)
bun install
# Or with npm
npm install
⚙️ Configuration
Create a configuration file or set environment variables:
# smithery.yaml
dokployUrl: "https://dok.bish.one" # Your Dokploy instance URL
apiToken: "your-api-token-here" # Your Dokploy API token
debug: false # Enable debug logging
Getting Your API Token
- Log in to your Dokploy dashboard
- Navigate to Settings → API Tokens
- Generate a new token
- Copy and save it securely
🚦 Usage
Starting the Server
# Development mode
bun run dev
# Or with npm
npm run dev
The server will start on http://localhost:3000 by default.
Example Operations
Deploy an Application
// 1. Create a project
await createProject({
name: "my-awesome-project",
description: "My first Dokploy project"
})
// 2. Create an application
await createApplication({
projectId: "project-id",
name: "my-app",
appType: "github",
repository: "https://github.com/username/repo",
branch: "main"
})
// 3. Deploy the application
await deployApplication({
applicationId: "app-id"
})
Manage Databases
// Create a PostgreSQL database
await createDatabase({
projectId: "project-id",
name: "my-database",
type: "postgres",
username: "admin",
password: "secure-password"
})
// Create a backup
await createBackup({
databaseId: "database-id"
})
Monitor Applications
// Get application status
await getApplicationStatus({
applicationId: "app-id"
})
// View recent logs
await getLogs({
applicationId: "app-id",
lines: 100
})
📖 API Reference
Tools
Project Management
| Tool | Description | Parameters |
|---|---|---|
list-projects | List all projects | None |
create-project | Create a new project | name, description |
delete-project | Delete a project | projectId |
Application Management
| Tool | Description | Parameters |
|---|---|---|
list-applications | List all applications | projectId |
create-application | Create a new application | projectId, name, appType, repository, etc. |
deploy-application | Deploy an application | applicationId |
start-application | Start an application | applicationId |
stop-application | Stop an application | applicationId |
restart-application | Restart an application | applicationId |
delete-application | Delete an application | applicationId |
get-logs | Get application logs | applicationId, lines |
get-application-status | Get application status | applicationId |
update-env-vars | Update environment variables | applicationId, env |
Database Management
| Tool | Description | Parameters |
|---|---|---|
create-database | Create a new database | projectId, name, type, etc. |
list-databases | List all databases | projectId |
Domain Management
| Tool | Description | Parameters |
|---|---|---|
add-domain | Add a custom domain | applicationId, domain, enableSSL |
list-domains | List all domains | applicationId |
Backup & Restore
| Tool | Description | Parameters |
|---|---|---|
create-backup | Create a database backup | databaseId |
list-backups | List all backups | databaseId |
restore-backup | Restore from backup | backupId |
Resources
dokploy://docs- Complete Dokploy documentationdokploy://quickstart- Quick start guidedokploy://api-reference- API reference
Prompts
deploy-app- Guided application deploymentsetup-database- Guided database setuptroubleshoot- Application troubleshooting assistant
🔐 Security
- API Token: Store your API token securely. Never commit it to version control.
- HTTPS: Always use HTTPS for production deployments
- Environment Variables: Use environment variables for sensitive data
- Access Control: Configure proper access controls in your Dokploy instance
🛠️ Development
Project Structure
dokploy-mcp/
├── src/
│ └── index.ts # Main server implementation
├── package.json # Project dependencies
├── smithery.yaml # Runtime configuration
├── README.md # This file
└── .gitignore # Git ignore rules
Building for Production
# Build the server
bun run build
# Or with npm
npm run build
Testing
# Run the development server
bun run dev
# Test with curl
curl -X POST "http://127.0.0.1:3000/mcp?dokployUrl=https://dok.bish.one&apiToken=your-token" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{"tools":{}},"clientInfo":{"name":"test-client","version":"1.0.0"}}}'
🚢 Deployment
Deploy to Smithery
- Push your code to GitHub
- Visit smithery.ai/new
- Connect your repository
- Configure your Dokploy credentials
- Deploy!
Deploy to Your Own Infrastructure
# Build the project
bun run build
# Run the server
PORT=3000 node dist/index.js
🤝 Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Dokploy - The amazing PaaS platform
- Smithery - MCP server hosting and registry
- Model Context Protocol - The protocol that makes this possible
- Anthropic - For creating the MCP standard
📞 Support
- Documentation: docs.dokploy.com
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Dokploy Discord: Join the Dokploy community
- Smithery Discord: discord.gg/Afd38S5p9A
🗺️ Roadmap
- Add support for Docker Compose deployments
- Implement real-time deployment progress tracking
- Add metrics and analytics integration
- Support for custom build scripts
- Multi-region deployment support
- Advanced monitoring and alerting
- Integration with CI/CD pipelines
- Webhook support for automated deployments
📊 Stats
<div align="center">
Made with ❤️ by the Dokploy community
</div>常见问题
Dokploy Deployments 是什么?
在一个界面集中管理 Dokploy 的项目、应用、数据库、域名与备份;支持从 Git 仓库部署、查看状态与日志,并轻松执行启动、停止、重启及排障流程。
相关 Skills
环境密钥管理
by alirezarezvani
统一梳理dev/staging/prod的.env和密钥流程,自动生成.env.example、校验必填变量、扫描Git历史泄漏,并联动Vault、AWS SSM、1Password、Doppler完成轮换。
✎ 统一管理环境变量、密钥与配置,减少泄露和部署混乱,安全治理与团队协作一起做好,DevOps 场景很省心。
可观测性设计
by alirezarezvani
面向生产系统规划可落地的可观测性体系,串起指标、日志、链路追踪与 SLI/SLO、错误预算、告警和仪表盘设计,适合搭建监控平台与优化故障响应。
✎ 把监控、日志、链路追踪串起来,帮助团队从设计阶段构建可观测性,排障更快、系统演进更稳。
更新日志
by alirezarezvani
基于 Conventional Commits 自动解析提交记录、判断语义化版本升级并生成规范 changelog,适合在 CI、发版前检查提交格式并批量输出可审计发布说明。
✎ 自动生成和管理更新日志与发布说明,帮团队把版本变更说清楚;聚焦版本化与流程自动化,省时又更规范。
相关 MCP Server
kubefwd
编辑精选by txn2
kubefwd 是让 AI 帮你批量转发 Kubernetes 服务到本地的开发神器。
✎ 微服务开发者最头疼的本地调试问题,它一键搞定——自动分配 IP 避免端口冲突,还能用自然语言查询状态。但依赖 AI 工作流,纯命令行爱好者可能觉得不够直接。
Cloudflare
编辑精选by Cloudflare
Cloudflare MCP Server 是让你用自然语言管理 Workers、KV 和 R2 等云资源的工具。
✎ 这个工具解决了开发者频繁切换控制台和文档的痛点,特别适合那些在 Cloudflare 上部署无服务器应用、需要快速调试或管理配置的团队。不过,由于它依赖多个子服务器,初次设置可能有点繁琐,建议先从 Workers Bindings 这类核心功能入手。
Terraform
编辑精选by hashicorp
Terraform MCP Server 是让 AI 助手直接操作 Terraform Registry 和 HCP Terraform 的桥梁。
✎ 如果你经常在 Terraform 里翻文档找模块配置,这个服务器能省不少时间——直接问 Claude 就能生成准确的代码片段。最适合管理多云基础设施的团队,但注意它目前只适合本地使用,别在生产环境里暴露 HTTP 端点。