{"id":28503178,"url":"https://github.com/excoffierleonard/mc_stack","last_synced_at":"2025-07-13T10:40:05.020Z","repository":{"id":263329808,"uuid":"889687700","full_name":"excoffierleonard/mc_stack","owner":"excoffierleonard","description":"A robust, containerized Minecraft server management solution built with Rust and Docker. ","archived":false,"fork":false,"pushed_at":"2024-11-22T05:24:17.000Z","size":569,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-08T17:06:48.337Z","etag":null,"topics":["minecraft","minecraft-server","rust","server-management","web"],"latest_commit_sha":null,"homepage":"https://mcstack.excoffierleonard.com","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/excoffierleonard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-17T00:33:53.000Z","updated_at":"2024-11-22T05:24:22.000Z","dependencies_parsed_at":"2024-11-17T22:27:09.250Z","dependency_job_id":"08d4631d-1d74-43b2-9b6d-6f6c7e1382fd","html_url":"https://github.com/excoffierleonard/mc_stack","commit_stats":null,"previous_names":["excoffierleonard/mc_stack"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/excoffierleonard/mc_stack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/excoffierleonard%2Fmc_stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/excoffierleonard%2Fmc_stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/excoffierleonard%2Fmc_stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/excoffierleonard%2Fmc_stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/excoffierleonard","download_url":"https://codeload.github.com/excoffierleonard/mc_stack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/excoffierleonard%2Fmc_stack/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263741569,"owners_count":23504267,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["minecraft","minecraft-server","rust","server-management","web"],"created_at":"2025-06-08T17:06:10.238Z","updated_at":"2025-07-05T12:30:43.285Z","avatar_url":"https://github.com/excoffierleonard.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Minecraft Server Stack Manager](https://mcstack.excoffierleonard.com)\n\nA robust, containerized Minecraft server management solution built with Rust and Docker. This service provides an intuitive web interface for creating and managing multiple Minecraft server instances, each with its own SFTP access and RCON capabilities.\n\n![Website Preview](website_preview.png)\n\n## 📚 Table of Content\n\n- [Features](#-features)\n- [Technical Stack](#-technical-stack)\n- [Prerequisites](#-prerequisites)\n- [Quick Start](#-quick-start)\n- [Development](#-development)\n- [Configuration](#-configuration)\n- [API Documentation](#-api-documentation)\n- [Roadmap](#-roadmap)\n- [Contributing](#-contributing)\n- [License](#-license)\n\n## 🚀 Features\n\n- **Multi-Server Management**: Create and manage multiple Minecraft server instances dynamically\n- **Container Isolation**: Each server runs in its own isolated Docker container\n- **Resource Control**: Automatic CPU-based scaling limits\n- **Web Interface**: Modern, responsive UI for server management\n- **Integrated Services**:\n  - 🎮 Minecraft Server\n  - 📁 SFTP Server for file access\n  - 🎛️ RCON support for remote commands\n- **Status Management**: Start, stop, and monitor server status\n- **Port Management**: Automatic port allocation and management\n\n## 🛠️ Technical Stack\n\n- **Backend**: Rust with Actix-web\n- **Frontend**: HTML/JavaScript with Tailwind CSS\n- **Containerization**: Docker with docker-compose\n- **Storage**: Docker volumes for persistence\n- **API**: RESTful JSON API\n\n## 📦 Prerequisites\n\n- Docker and Docker Compose\n- Rust 1 (for development)\n\n## ⚡ Quick Start\n\nDownload the [compose.yaml](compose.yaml) file and start the service:\n\n```bash\ncurl -o compose.yaml https://raw.githubusercontent.com/excoffierleonard/mc_stack/refs/heads/main/compose.yaml \u0026\u0026 docker compose up -d\n```\n\nThe web interface will be available at `http://localhost:8080`\n\n## 💻 Development\n\nRun the service locally:\n\n```bash\ncargo run\n```\n\nBuild for production:\n\n```bash\ncargo build --release\n```\n\n## 🔧 Configuration\n\n- Service runs on `0.0.0.0:8080`\n- Requires Docker socket mounted at `/var/run/docker.sock`\n- Stack limits based on available CPU cores\n- Automatic port increment: 3 ports per stack (Minecraft, RCON, SFTP)\n\n## 📖 API Documentation\n\nComprehensive API documentation is available in [docs/api.md](docs/api.md), including:\n\n- Stack creation and management\n- Status updates\n- Server listing\n- Error handling\n\n## 🗺️ Roadmap\n\n- [ ] Backup system implementation using duplicacy\n- [ ] WebAssembly migration for web interface\n- [ ] Direct Docker API integration\n- [ ] Enhanced container status monitoring\n- [ ] Docker command introspection improvements\n\n## 🤝 Contributing\n\nWe welcome contributions! Please feel free to submit Pull Requests.\n\n## 📝 License\n\nThis project is licensed under the GNU AGPL-3.0 License - see the [LICENSE](LICENSE) file for details.\n\n**Commercial Use**: For commercial licensing options, please contact Leonard Excoffier.\n\n---\n\nFor detailed API usage and endpoints, see our [API Documentation](docs/api.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexcoffierleonard%2Fmc_stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexcoffierleonard%2Fmc_stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexcoffierleonard%2Fmc_stack/lists"}