{"id":18051777,"url":"https://github.com/joegasewicz/forestmq","last_synced_at":"2026-02-06T00:31:34.624Z","repository":{"id":244480812,"uuid":"815357202","full_name":"joegasewicz/forestmq","owner":"joegasewicz","description":"Message queue 🌲","archived":false,"fork":false,"pushed_at":"2025-10-22T21:27:12.000Z","size":1053,"stargazers_count":9,"open_issues_count":19,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-22T23:24:52.127Z","etag":null,"topics":["ampq","c","consumer","libevent","message-queue","provider","queue"],"latest_commit_sha":null,"homepage":"https://forestmq.dev","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joegasewicz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-06-14T23:58:35.000Z","updated_at":"2025-10-22T21:26:01.000Z","dependencies_parsed_at":"2024-06-22T13:59:47.380Z","dependency_job_id":"b2fb2a08-dc6d-4e7b-aac8-da0e7375602d","html_url":"https://github.com/joegasewicz/forestmq","commit_stats":null,"previous_names":["joegasewicz/forest-mq"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/joegasewicz/forestmq","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joegasewicz%2Fforestmq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joegasewicz%2Fforestmq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joegasewicz%2Fforestmq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joegasewicz%2Fforestmq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joegasewicz","download_url":"https://codeload.github.com/joegasewicz/forestmq/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joegasewicz%2Fforestmq/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29140123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T23:14:48.546Z","status":"ssl_error","status_checked_at":"2026-02-05T23:14:35.724Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ampq","c","consumer","libevent","message-queue","provider","queue"],"created_at":"2024-10-30T22:55:52.799Z","updated_at":"2026-02-06T00:31:34.613Z","avatar_url":"https://github.com/joegasewicz.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"![ForestMQ](docs/docs/images/fmq_logo.png?raw=true \"ForestMQ\")\nMessage Queue built on [libevent](https://libevent.org/)\n\n⚠️ Production ready in v1.0.0\n\n### Project Status\n🎉 ForestMQ is now usable for test / hobby projects or the curious.\n\n### Features\n- TCP ✅\n- amqp-v2.0 ✅\n- Multiple queues `TODO`\n- Message acknowledgement `TODO`\n- Message durability / persist `TODO`\n- exchange types (e.g. fan) `TODO`\n- Logging ✅\n- Docker ✅\n- Daemon ✅\n- Topics `TODO`\n- MacOS distribution with brew `TODO`*\n- Linux distribution with snap `TODO`*\n- Message encryption `TODO`\n\n\\* *ForestMQ currently only support UNIX like systems.*\n### Quick Start\n#### Run with Docker\n```\ndocker run -p 8005:8005 josefdigital/forestmq:0.6.5\n```\n\nForest MQ is still in very early stages of development, but\nit is usable for test projects.\n\nAs it's missing some fundamental networking, security \u0026 stability requirements,\nit's not recommended for production environments.\n\nTo test Forest MQ end to end you can run the following 2 Python scripts:\n\n- `examples/python/provider.py`\n- `examples/python/consumer.py`\n\nThis will demonstrate that the message queue excepts messages\nenqueued over HTTP to the queue \u0026 the consumer script will\ndequeue messages off the queue.\n\n\n### CLI options\n| Arg           | Info                                        | Example             |\n|---------------|---------------------------------------------|---------------------|\n| `--msg-size`  | integer number of bytes e.g                 | `--msg-size 10000`  |\n| `--port`      | integer e.g                                 | `--port 3000`       |\n| `--log-level` | Default is `debug` (With logging)           | `--log-level none`  |    \n|               | Debugging level logging (includes all logs) | `--log-level debug` |\n| `--daemon`    | Run ForestMQ in daemon mode                 | `--daemon`          |\n| `--hosts`     | Add a list of allowed hosts                 | `--hosts localhost,127.0.0.1` |\n### Options\n#### Provider Options:\n- `message` - A string, bytes or JSON object.\n- `destroy` - If set to `true` then the queue will be destroyed \u0026 no more messages\n  will be stored on the queue until the `destroy: true` options is removed from the provider's\n  request body or set to `false`.\n\n### Environment Variables\n| Name              | Type | Info                         |\n|-------------------|------|------------------------------|\n| `FORESTMQ_DAEMON` | INT  | Run in daemon mode.          |\n| `FORESTMQ_PORT`   | INT  | TCP Server port to listen on |\n\n### Clients\n- ForestMQ Python client [forestmq-python](https://github.com/joegasewicz/forestmq-python)\n- ForestMQ Go client [forestmq-go](https://github.com/joegasewicz/forestmq-go)\n\n### Health\nTo check the health of a running ForestMQ instance:\n```\ncurl http://localhost:8005/health\n```\nForestMQ will respond with the following JSON response\n```\n{\"queue_empty\":true,\"queue_length\": 0,\"status\":\"OK\",\"request_start\":\"Sun Jul 28 18:59:44 2024\\n\",\"request_end\":\"Sun Jul 28 18:59:44 2024\\n\"}\n```\n\n### Security\nN/A\n\n\n### Support\nTODO\n\n### Contributions\nTODO\n\n### Contact\n[josef.digital](https://josef.digital)\n\n### Acknowledgement\n- [libevent](https://libevent.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoegasewicz%2Fforestmq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoegasewicz%2Fforestmq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoegasewicz%2Fforestmq/lists"}