Caution
Modmon is currently under heavy active development and is not yet functional. This is pre-alpha software that will NOT work if you clone and try to use it right now. We're actively building core functionality and welcome community input, but please don't expect a working deployment system yet.
Note
Help Shape the Future: We're looking for insights and ideas from the community! Please share your thoughts, feedback, and use cases in GitHub Discussions.
Modmon is a GitOps-focused deployment system designed for small and medium teams who don't have dedicated DevOps resources. Think of it as a self-hosted deployment platform that can run anywhere—from cloud servers to Raspberry Pis.
Inspired by Lando (which simplifies local development) and Coolify, Modmon aims to simplify and unify production deployments for any application, whether running in containers or as binaries on servers.
- 📦 GitOps-First: Configuration as code with version-controlled infrastructure
- 🌍 Deploy Anywhere: Run on cloud servers, VPS, or even Raspberry Pis
- 🔧 Team-Friendly: Built for teams without full-time DevOps engineers
- ⚡ Lightweight: Minimal resource requirements and simple setup
- 🎯 Unified Management: Single control plane for multiple environments and projects
- 🔒 Secure by Default: SSH tunnels, no exposed ports required
Modmon consists of several components:
modmon
(this package): The npm package installed in your master repo providing local developer experience and remote cluster managementmodmon-server
: Lightweight Go application running on production serversmodmon-cli
: CLI tool for managing applications and clusters (included in this package)modmon-ui
: Optional Vue.js web interface for visual management
Warning
Remember: this doesn't work yet! But when it does...
# Initialize a new Modmon project
npm create modmon@latest my-project
# Or add to existing project
npm install --save-dev modmon
# Initialize Modmon in your project
npx modmon init
Modmon uses a "master repo" approach where configuration and orchestration live separately from your application code:
my-awesome-project/
├── .modmon/
│ ├── modmon.yaml # Main configuration
│ ├── access.yaml # User access controls
│ └── pubkeys/ # SSH public keys
├── .env/ # Environment-specific configs
├── depot/ # Auto-managed app repositories
├── recipes/ # Deployment scripts
└── docker-stack.yaml # Auto-generated Docker config
Modmon is 100% open source (MIT licensed) and community-driven. We're actively seeking:
- Real-world use cases from small/medium teams
- Feedback on our GitOps approach and cluster management
- Ideas for app Dockerization helpers and automation
- Testing feedback from brave early adopters
Join the conversation in GitHub Discussions!
While we aim to simplify deployments, some things remain your responsibility:
- Dockerizing your applications (we'll help run them, but you need containers first)
- Infrastructure provisioning (setting up the actual servers)
- Advanced monitoring/logging (beyond basic deployment status)
- Complex CI/CD pipelines (we focus on deployment, not builds)
Some of these may be added in future versions based on community needs!
modmon-server
: Server-side Go applicationmodmon-ui
: Optional web interface
MIT © Modmon HQ