Docker Server Manager Go MCP logo

Docker Server Manager Go MCP

by ThreatFlux

Docker Server Manager Go MCP (DSM) is a Go-based REST API for managing Docker containers, images, volumes, networks, and Docker Compose deployments. It provides a powerful and flexible interface for complete Docker management through a web API.

View on GitHub

Last updated: N/A

Docker Server Manager Go MCP

CI

CI

Release

Release

codecov

codecov

Go Report Card

Go Report Card

GoDoc

GoDoc

Security Rating

Security Rating

GitHub Workflow Status

GitHub Workflow Status

License: MIT

License: MIT

GitHub Repo stars

GitHub Repo stars

GitHub issues

GitHub issues

GitHub pull requests

GitHub pull requests

GitHub last commit

GitHub last commit

GitHub contributors

GitHub contributors

GitHub code size in bytes

GitHub code size in bytes

Note: This project is in early development and may not be fully functional. Use at your own risk.

Docker Server Manager Go MCP (DSM) is a comprehensive Go-based REST API that provides a powerful and flexible interface for managing Docker containers, images, volumes, networks, and Docker Compose deployments.

Overview

This project offers a complete solution for Docker management through a web API, featuring JWT authentication, robust CRUD operations, and support for all major Docker functionality. The API supports both PostgreSQL and SQLite databases for persistent storage, managed automatically using GORM.

Key Features

  • Complete Docker Management:

    • Container lifecycle management (create, start, stop, remove)
    • Image operations (pull, build, tag, remove)
    • Volume management (create, list, remove)
    • Network operations (create, connect containers, remove)
    • File operations (copy to/from containers)
    • Command execution within containers
  • Docker Compose Support:

    • Parse and validate Docker Compose YAML files
    • Deploy multi-container applications
    • Track deployment status
    • Scale services up or down
    • Manage resources created by Compose deployments
  • Security:

    • JWT authentication and authorization
    • Role-based access control
    • Token blacklisting and refresh
    • Password hashing and secure storage
  • API:

    • RESTful API design with Gin framework
    • Comprehensive API documentation
    • Client SDK for Go applications
    • Swagger/OpenAPI specification
  • Database Support:

    • PostgreSQL for production environments
    • SQLite for development and testing
    • Automatic schema migrations
    • GORM-based data access layer

Getting Started

Prerequisites

  • Go 1.24.1 or later
  • Docker 24.0.0 or later
  • PostgreSQL (for production) or SQLite (for development)

Installation

  1. Clone the repository:

    git clone https://github.com/threatflux/dockerServerMangerGoMCP.git
    cd dockerServerMangerGoMCP
    
  2. Install dependencies:

    go mod download
    
  3. Build the application:

    make build
    
  4. Run the server:

    ./bin/ghactions-updater
    

Docker Deployment

To run the application in Docker:

docker-compose up -d

API Documentation

Complete API documentation is available in the /docs directory:

Development

For detailed development guidelines, see:

Building and Testing

# Run tests
make test

# Run linting
make lint

# Check for security issues
make security

License

Copyright © 2025 ThreatFlux. All rights reserved.

Author

Wyatt Roersma