Home

Awesome

Hubot Control

Control self-hosted Hubot like a boss!

Build Status Coverage Status Code Climate Dependency Status

Help Wanted!

This project is not being actively maintained. If you are interested and willing to help with maintenance, please respond here: https://github.com/spajus/hubot-control/issues/16

Installation

Tutorials

How to get Hubot on HipChat using Hubot Control on CentOS Linux

Book: Automation and Monitoring with Hubot

Automation and Monitoring with Hubot is available at Leanpub.

Running on Heroku

git clone git@github.com:spajus/hubot-control.git && cd hubot-control
heroku create --buildpack https://github.com/rtgibbons/heroku-buildpack-ruby-nodejs.git
git push heroku master
heroku config:add PATH=/app/node_modules/.bin:/app/bin:/app/vendor/bundle/ruby/2.0.0/bin:/usr/local/bin:/usr/bin:/bin
heroku run rake db:migrate
heroku open

Heroku support is still experimental, but you can find some helpful tips here.

Heroku demo: http://hubot-control-demo.herokuapp.com/ (usually broken due to periodic file system wipeouts, see issues/4)

Running with Docker

Prerequisites:

Start a Postgres instance

docker run --name hubot-control-db -d -e DB_USER="docker" -e DB="hubot_control" -e PASS="docker" hackedu/postgresql

Create a data-only container to store Hubots

docker run --name hubot-control-data -v /usr/src/hubot-control/hubots busybox

Run database migrations

docker run --rm --link hubot-control-db:db -e RAILS_DB_USERNAME="docker" -e RAILS_DB_PASSWORD="docker" hackedu/hubot-control bundle exec rake db:migrate RAILS_ENV=production

Start Hubot Control

docker run --name hubot-control -d --link hubot-control-db:db --volumes-from hubot-control-data -e RAILS_DB_USERNAME="docker" -e RAILS_DB_PASSWORD="docker" -p 3000:3000 hackedu/hubot-control

Hubot Control will now be running on port 3000 of your system. Whenever you create a hubot , you'll want to restart Hubot Control and publish their HTTP ports (-p flag).

There's a few things to notice:

Usage

  1. Check status page and install missing dependencies for Hubot
  2. Add hubot instance
  3. Configure the variables, add scripts
  4. Click on Hubot name in the sidebar to control it
  5. Develop scripts with built-in editor

Features

Check server compatibility

Hubot Check Prerequisites

Create Hubot instances from web interface

Create Hubot

Test your Hubot via interactive web shell

Test Hubot

Control your Hubot

Hubot Control Panel

Edit pre-startup script

Hubot before start

Manage and develop custom Hubot scripts

Hubot Scripts Edit Hubot Scripts Include External Scripts

Edit variables and configuration files

Hubot Configuration

Tail logs to troubleshoot problems

Hubot Log

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request