Skip to content

modmonhq/modmon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Modmon

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.

What is Modmon?

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.

Key Features

  • 📦 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

Architecture

Modmon consists of several components:

  • modmon (this package): The npm package installed in your master repo providing local developer experience and remote cluster management
  • modmon-server: Lightweight Go application running on production servers
  • modmon-cli: CLI tool for managing applications and clusters (included in this package)
  • modmon-ui: Optional Vue.js web interface for visual management

Installation

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

Project Structure

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

Documentation

Community & Contributing

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!

What Modmon Won't Do (For Now)

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!

Related Repositories

License

MIT © Modmon HQ

About

Modmon simplified local + production development and deployment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published