Dokploy Deployments

DevOps

by huuthangntk

在一个界面集中管理 Dokploy 的项目、应用、数据库、域名与备份;支持从 Git 仓库部署、查看状态与日志,并轻松执行启动、停止、重启及排障流程。

什么是 Dokploy Deployments

在一个界面集中管理 Dokploy 的项目、应用、数据库、域名与备份;支持从 Git 仓库部署、查看状态与日志,并轻松执行启动、停止、重启及排障流程。

README

Dokploy MCP Server

<div align="center">

Dokploy Logo

A powerful MCP server for managing Dokploy deployments

License: MIT MCP Smithery GitHub

FeaturesInstallationUsageAPI ReferenceContributing

</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

bash
# Install via Smithery
npx create-smithery dokploy-mcp
cd dokploy-mcp

Manual Installation

bash
# 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:

yaml
# 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

  1. Log in to your Dokploy dashboard
  2. Navigate to Settings → API Tokens
  3. Generate a new token
  4. Copy and save it securely

🚦 Usage

Starting the Server

bash
# 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

typescript
// 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

typescript
// 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

typescript
// Get application status
await getApplicationStatus({
  applicationId: "app-id"
})

// View recent logs
await getLogs({
  applicationId: "app-id",
  lines: 100
})

📖 API Reference

Tools

Project Management

ToolDescriptionParameters
list-projectsList all projectsNone
create-projectCreate a new projectname, description
delete-projectDelete a projectprojectId

Application Management

ToolDescriptionParameters
list-applicationsList all applicationsprojectId
create-applicationCreate a new applicationprojectId, name, appType, repository, etc.
deploy-applicationDeploy an applicationapplicationId
start-applicationStart an applicationapplicationId
stop-applicationStop an applicationapplicationId
restart-applicationRestart an applicationapplicationId
delete-applicationDelete an applicationapplicationId
get-logsGet application logsapplicationId, lines
get-application-statusGet application statusapplicationId
update-env-varsUpdate environment variablesapplicationId, env

Database Management

ToolDescriptionParameters
create-databaseCreate a new databaseprojectId, name, type, etc.
list-databasesList all databasesprojectId

Domain Management

ToolDescriptionParameters
add-domainAdd a custom domainapplicationId, domain, enableSSL
list-domainsList all domainsapplicationId

Backup & Restore

ToolDescriptionParameters
create-backupCreate a database backupdatabaseId
list-backupsList all backupsdatabaseId
restore-backupRestore from backupbackupId

Resources

  • dokploy://docs - Complete Dokploy documentation
  • dokploy://quickstart - Quick start guide
  • dokploy://api-reference - API reference

Prompts

  • deploy-app - Guided application deployment
  • setup-database - Guided database setup
  • troubleshoot - 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

code
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

bash
# Build the server
bun run build

# Or with npm
npm run build

Testing

bash
# 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

  1. Push your code to GitHub
  2. Visit smithery.ai/new
  3. Connect your repository
  4. Configure your Dokploy credentials
  5. Deploy!

Deploy to Your Own Infrastructure

bash
# Build the project
bun run build

# Run the server
PORT=3000 node dist/index.js

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

📞 Support

🗺️ 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

GitHub stars GitHub forks GitHub watchers


<div align="center">

Made with ❤️ by the Dokploy community

⬆ back to top

</div>

常见问题

Dokploy Deployments 是什么?

在一个界面集中管理 Dokploy 的项目、应用、数据库、域名与备份;支持从 Git 仓库部署、查看状态与日志,并轻松执行启动、停止、重启及排障流程。

相关 Skills

环境密钥管理

by alirezarezvani

Universal
热门

统一梳理dev/staging/prod的.env和密钥流程,自动生成.env.example、校验必填变量、扫描Git历史泄漏,并联动Vault、AWS SSM、1Password、Doppler完成轮换。

统一管理环境变量、密钥与配置,减少泄露和部署混乱,安全治理与团队协作一起做好,DevOps 场景很省心。

DevOps
未扫描17.5k

可观测性设计

by alirezarezvani

Universal
热门

面向生产系统规划可落地的可观测性体系,串起指标、日志、链路追踪与 SLI/SLO、错误预算、告警和仪表盘设计,适合搭建监控平台与优化故障响应。

把监控、日志、链路追踪串起来,帮助团队从设计阶段构建可观测性,排障更快、系统演进更稳。

DevOps
未扫描17.5k

更新日志

by alirezarezvani

Universal
热门

基于 Conventional Commits 自动解析提交记录、判断语义化版本升级并生成规范 changelog,适合在 CI、发版前检查提交格式并批量输出可审计发布说明。

自动生成和管理更新日志与发布说明,帮团队把版本变更说清楚;聚焦版本化与流程自动化,省时又更规范。

DevOps
未扫描17.5k

相关 MCP Server

kubefwd

编辑精选

by txn2

kubefwd 是让 AI 帮你批量转发 Kubernetes 服务到本地的开发神器。

微服务开发者最头疼的本地调试问题,它一键搞定——自动分配 IP 避免端口冲突,还能用自然语言查询状态。但依赖 AI 工作流,纯命令行爱好者可能觉得不够直接。

DevOps
4.1k

Cloudflare

编辑精选

by Cloudflare

热门

Cloudflare MCP Server 是让你用自然语言管理 Workers、KV 和 R2 等云资源的工具。

这个工具解决了开发者频繁切换控制台和文档的痛点,特别适合那些在 Cloudflare 上部署无服务器应用、需要快速调试或管理配置的团队。不过,由于它依赖多个子服务器,初次设置可能有点繁琐,建议先从 Workers Bindings 这类核心功能入手。

DevOps
3.8k

Terraform

编辑精选

by hashicorp

Terraform MCP Server 是让 AI 助手直接操作 Terraform Registry 和 HCP Terraform 的桥梁。

如果你经常在 Terraform 里翻文档找模块配置,这个服务器能省不少时间——直接问 Claude 就能生成准确的代码片段。最适合管理多云基础设施的团队,但注意它目前只适合本地使用,别在生产环境里暴露 HTTP 端点。

DevOps
1.4k

评论