{"id":21296892,"url":"https://github.com/reddec/monexec","last_synced_at":"2025-07-11T18:32:06.697Z","repository":{"id":57485938,"uuid":"96245158","full_name":"reddec/monexec","owner":"reddec","description":"Light supervisor on Go (with optional Consul autoregistration)","archived":false,"fork":false,"pushed_at":"2019-11-26T08:23:50.000Z","size":151,"stargazers_count":135,"open_issues_count":5,"forks_count":18,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-07-02T11:02:01.915Z","etag":null,"topics":["consul","go","supervisor"],"latest_commit_sha":null,"homepage":"https://reddec.github.io/monexec/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reddec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://reddec.net/about/#donate"]}},"created_at":"2017-07-04T18:47:16.000Z","updated_at":"2025-04-06T14:18:56.000Z","dependencies_parsed_at":"2022-09-18T18:16:05.686Z","dependency_job_id":null,"html_url":"https://github.com/reddec/monexec","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/reddec/monexec","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddec%2Fmonexec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddec%2Fmonexec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddec%2Fmonexec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddec%2Fmonexec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reddec","download_url":"https://codeload.github.com/reddec/monexec/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddec%2Fmonexec/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264870436,"owners_count":23676227,"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":["consul","go","supervisor"],"created_at":"2024-11-21T14:30:35.187Z","updated_at":"2025-07-11T18:32:06.307Z","avatar_url":"https://github.com/reddec.png","language":"Go","funding_links":["https://reddec.net/about/#donate","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=4UKBSN5HVB3Y8\u0026source=url","https://www.patreon.com/bePatron?u=15369842"],"categories":[],"sub_categories":[],"readme":"# Monexec\n\n![Mx](docs/logo.svg)\n\n***MON**itoring **EXE**cutables*\n\n[![GitHub release](https://img.shields.io/github/release/reddec/monexec.svg)](https://github.com/reddec/monexec/releases)\n[![license](https://img.shields.io/github/license/reddec/monexec.svg)](https://github.com/reddec/monexec)\n[![](https://godoc.org/github.com/reddec/monexec/monexec?status.svg)](http://godoc.org/github.com/reddec/monexec/monexec)\n[![Snap Status](https://build.snapcraft.io/badge/reddec/monexec.svg)](https://build.snapcraft.io/user/reddec/monexec)\n[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=4UKBSN5HVB3Y8\u0026source=url)\n\nIt’s tool for controlling processes like a supervisord but with some important features:\n\n* Easy to use - no dependencies. Just a single binary file pre-compilled for most major platforms\n* Easy to hack - monexec can be used as a Golang library with clean and simple architecture\n* Integrated with Consul - optionally, monexec can register all running processes as services and deregister on fail\n* Optional notification to Telegram\n* Supports gracefull and fast shutdown by signals\n* Developed for used inside Docker containers\n* Different strategies for processes\n* Support additional environment files\n* Support template-based email notification\n* Support HTTP notification\n* REST API (see swagger.yaml)\n* Web UI (if REST API enabled)\n\n[Buy me a coffe on Patreon](https://www.patreon.com/bePatron?u=15369842)\n\n![screen1](https://reddec.net/images/project/monexec/screen1.png)\n![screen2](https://reddec.net/images/project/monexec/screen2.gif)\n## Installing\n\n[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/monexec)\n\n* [snapcraft: monexec](https://snapcraft.io/monexec)\n\n* Precompilled binaries: [release page](https://github.com/reddec/monexec/releases)\n\n* From source (required Go toolchain):\n\n```\ngo get -v -u github.com/reddec/monexec/...\n```\n\nrecommended way is snap\n\n## Documentation\n\nUsage: [https://reddec.github.io/monexec/](https://reddec.github.io/monexec/)\n\nAPI: [Godoc](http://godoc.org/github.com/reddec/monexec/monexec)\n\n\n## Examples\n\nSee documentation for details [https://reddec.github.io/monexec/](https://reddec.github.io/monexec/)\n\n### Run from cmd\n\n```bash\nmonexec run -l srv1 --consul -- nc -l 9000\n```\n\n### Run from config\n\n```bash\nmonexec start ./myservice.yaml\n```\n\n### Notifications\n\nAdd notification to Telegram\n\n```yaml\ntelegram:\n  # BOT token\n  token: \"123456789:AAAAAAAAAAAAAAAAAAAAAA_BBBBBBBBBBBB\"\n  services:\n      # services that will be monitored\n      - \"listener2\"\n  recipients:\n      # List of telegrams chat id\n      - 123456789\n  template: |\n    *{{.label}}*\n    Service {{.label}} {{.action}}\n    {{if .error}}⚠️ *Error:*  {{.error}}{{end}}\n    _time: {{.time}}_\n    _host: {{.hostname}}_\n```\n\n#### Email\n\nAdd email notification\n\n```yaml\nemail:\n  services:\n    - myservice\n  smtp: \"smtp.gmail.com:587\"\n  from: \"example-monitor@gmail.com\"\n  password: \"xyzzzyyyzyyzyz\"\n  to:\n    - \"admin1@example.com\"\n  template: |\n    Subject: {{.label}}\n\n    Service {{.label}} {{.action}}\n```\n\n#### HTTP\n\nAdd HTTP request as notification\n\n```yaml\nhttp:\n  services:\n    - myservice\n  url: \"http://example.com/{{.label}}/{{.action}}\"\n  templateFile: \"./body.txt\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freddec%2Fmonexec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freddec%2Fmonexec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freddec%2Fmonexec/lists"}