{"id":13400516,"url":"https://github.com/muesli/beehive","last_synced_at":"2025-05-14T09:08:17.700Z","repository":{"id":37678125,"uuid":"21141781","full_name":"muesli/beehive","owner":"muesli","description":"A flexible event/agent \u0026 automation system with lots of bees 🐝","archived":false,"fork":false,"pushed_at":"2023-02-25T01:54:22.000Z","size":7928,"stargazers_count":6386,"open_issues_count":123,"forks_count":332,"subscribers_count":113,"default_branch":"master","last_synced_at":"2025-04-03T18:09:34.597Z","etag":null,"topics":["automation","event-driven","hacktoberfest","ifttt","workflow"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/muesli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"muesli"}},"created_at":"2014-06-23T20:46:31.000Z","updated_at":"2025-04-03T08:10:23.000Z","dependencies_parsed_at":"2024-01-18T07:09:36.961Z","dependency_job_id":"c0638ad6-14f1-4dbf-9748-762bcb223685","html_url":"https://github.com/muesli/beehive","commit_stats":{"total_commits":841,"total_committers":53,"mean_commits":"15.867924528301886","dds":"0.26634958382877527","last_synced_commit":"d636b697737dae0523a8c9972c01dbe6227d89ec"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muesli%2Fbeehive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muesli%2Fbeehive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muesli%2Fbeehive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muesli%2Fbeehive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muesli","download_url":"https://codeload.github.com/muesli/beehive/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248334888,"owners_count":21086470,"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":["automation","event-driven","hacktoberfest","ifttt","workflow"],"created_at":"2024-07-30T19:00:52.857Z","updated_at":"2025-04-11T03:26:31.086Z","avatar_url":"https://github.com/muesli.png","language":"Go","readme":"Beehive\n=======\n\n[![Build Status](https://travis-ci.org/muesli/beehive.svg?branch=master)](https://travis-ci.org/muesli/beehive)\n[![Go ReportCard](https://goreportcard.com/badge/muesli/beehive)](https://goreportcard.com/report/muesli/beehive)\n[![GoDoc](https://godoc.org/github.com/golang/gddo?status.svg)](https://godoc.org/github.com/muesli/beehive)\n\nBeehive is an event and agent system, which allows you to create your own\nagents that perform automated tasks triggered by events and filters. It is\nmodular, flexible and really easy to extend for anyone. It has modules\n(we call them *Hives*), so it can interface with, talk to, or retrieve\ninformation from Twitter, Tumblr, Email, IRC, Jabber, RSS, Jenkins, Hue - to\nname just a few. Check out the full list of [available Hives](https://github.com/muesli/beehive/wiki/Available-Hives)\nin our Wiki.\n\nConnecting those modules with each other lets you create immensly useful agents.\n\n#### Here are just a few examples of things Beehive could do for you:\n* Re-post tweets on your Tumblr blog\n* Forward incoming chat messages to your email account\n* Turn on the heating system if the temperature drops below a certain value\n* Run your own IRC bot that lets you trigger builds on a Jenkins CI\n* Control your Hue lighting system\n* Notify you when a stock's price drops below a certain value\n\n![beehive's Logo](/assets/logo_256.png?raw=true)\n\n## Installation\n\n### Packages \u0026 Binaries\n\n- Arch Linux: beehive ([AUR](https://aur.archlinux.org/packages/beehive/))\n- [Linux Static 64bit](https://github.com/muesli/beehive/releases/download/v0.4.0/beehive_0.4.0_Linux_x86_64.tar.gz)\n- [Linux Static armv6](https://github.com/muesli/beehive/releases/download/v0.4.0/beehive_0.4.0_Linux_armv6.tar.gz)\n- [macOS 64bit](https://github.com/muesli/beehive/releases/download/v0.4.0/beehive_0.4.0_Darwin_x86_64.tar.gz)\n- [Windows 64bit](https://github.com/muesli/beehive/releases/download/v0.4.0/beehive_0.4.0_Windows_x86_64.tar.gz)\n\nYou can find even more official releases [here](https://github.com/muesli/beehive/releases).\n\n### Deployment Tools\n- Docker: `docker run --name beehive -d -p 8181:8181 fribbledom/beehive`\n- [Ansible](https://github.com/morbidick/ansible-role-beehive)\n\n### From source\n\nBeehive requires Go 1.13 or higher. Make sure you have a working Go environment.\nSee the [install instructions](https://golang.org/doc/install.html).\n\nThe recommended way is to fetch the sources and run make.\n\n    git clone --recursive https://github.com/muesli/beehive.git\n    cd beehive\n    make\n\nYou can build and install the `beehive` binary like other Go binaries out there (`go get`)\nbut you'll need to make sure Beehive can find the assets (images, javascript, css, etc).\nSee the Troubleshooting/Notes section for additional details.\n\nRun `beehive --help` to see a full list of options.\n\n## Configuration\n\nThink of Hives as little plugins, extending Beehive's abilities with events you\ncan react on and actions you can execute.\n\nJust as examples, there's a Twitter plugin that can\n - react to someone you follow posting a tweet (an event)\n - post a new tweet for you (an action)\n - ...\n\nor an RSS plugin that lets you\n - monitor RSS feeds and react on new feed items (another event)\n\nor an email plugin that gives you the ability to\n - send emails (another action)\n\nEach Hive lets you spawn one or multiple Bees in it, all working independently\nfrom another. That allows you to create separate plugin instances, e.g. one\nemail-Bee for your private mail account, and another one for your work email.\n\n### Creating Bees\n\nSounds complicated? It's not! Just for fun, let's setup Beehive to send us an\nemail whenever an RSS feed gets updated. Start `beehive` and open \u003chttp://localhost:8181/\u003e\nin your browser. Note that Beehive will create a config file `beehive.conf`\nin its current working directory, unless you specify a different file with the\n`-config` option.\n\nNote: If you built Beehive with `go build` instead of `make` you will have to\nstart `beehive` from within its source directory in order for it to find all the\nresources for the admin interface. Also see the Troubleshooting \u0026 Notes section\nof this README.\n\nThe admin interface will present you with a list of available Hives. We will\nneed to create two Bees here, one for the RSS feed and one for your email\naccount.\n\n![New Bees](https://github.com/muesli/beehive-docs/raw/master/screencaps/new_bees.gif)\n\n### Setting up a Chain\n\nNow we will have to create a new Chain, which will wire up the two Bees we just\ncreated. First we pick the Bee \u0026 Event we want to react on, then we pick the\nBee we want to execute an Action with. The RSS-Bee's event gives us a whole set\nof parameters we can work with: the feed item's title, its links and\ndescription among others. You can manipulate and combine these parameters with\na full templating language at your disposal. For example we can set the email's\ncontent to something like:\n\n```\nTitle: {{.title}} - Link: {{index .links 0}}\n```\n\nWhenever this action gets executed, Beehive will replace `{{.title}}` with\nthe RSS event's `title` parameter, which is the title of the feed item it\nretrieved. In the same manner `{{index .links 0}}` becomes the first URL of\nthis event's `links` array.\n\n![New Chain](https://github.com/muesli/beehive-docs/raw/master/screencaps/new_chain.gif)\n\nThat's it. Whenever the RSS-feed gets updated, Beehive will now send you an\nemail! It's really easy to make various Bees work together seamlessly and do\nclever things for you. Try it yourself!\n\nYou can find more information on how to configure Beehive and examples\n[in our Wiki](https://github.com/muesli/beehive/wiki/Configuration).\n\n## Troubleshooting \u0026 Notes\n\nThe web interface and other resources are embedded in the binary by default.\nWhen using `make noembed`, Beehive tries to find those files\nin its current working directory, so it's currently recommended to start Beehive\nfrom within its git repository, if you plan to use the web interface.\n\nShould you still not be able to reach the web interface, check if the `config`\ndirectory in the git repository is empty. If that's the case, make sure the\ngit submodules get initialized by running `git submodule update --init`.\n\nThe web interface does *not* require authentication yet. Beehive by default\naccepts all connections from the loopback device *only*.\n\nIf you want to bind Beehive to a different interface/address, run Beehive with\nthe `-bind` and `-canonicalurl` parameters. For example:\n\n    beehive -bind \"192.168.0.1:8181\" -canonicalurl \"http://192.168.0.1:8181\"\n\nor\n\n    docker run --name beehive -d -e CANONICAL_URL=\"http://192.168.0.1:8181\" -p 8181:8181 fribbledom/beehive\n\n## Development\n\nNeed help? Want to hack on your own Hives? Join us on IRC (irc://freenode.net/#beehive) or [Gitter](https://gitter.im/the_beehive/Lobby).\nFollow the bees on [Twitter](https://twitter.com/beehive_app)!\n","funding_links":["https://github.com/sponsors/muesli"],"categories":["Go","Workflow Automation","Software","Apps","automation","Automation","Workflow automation","Uncategorized","Rapid Development Tools"],"sub_categories":["Packages","Automation","Uncategorized","Workflow Automation"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuesli%2Fbeehive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuesli%2Fbeehive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuesli%2Fbeehive/lists"}