• Stars
    star
    327
  • Rank 128,686 (Top 3 %)
  • Language
    Ruby
  • License
    Other
  • Created over 11 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Control Hubot via web interface

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: #16

Installation

  • Run DB migrations with rake db:migrate
  • Change config.action_mailer.default_url_options in config/environments/* (optional)
  • Run it like a regular Rails 4 app. Try it out with rails s, run daemonized with unicorn_rails -p <port> -D.
  • Owner of rails app process must have write permissions to #{Rails.root}/hubots and #{Rails.root}/scripts, or just #{Rails.root}
  • Use [email protected] / hubot to log in

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 [email protected]: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:

  • The Postgres database is in a separate container than Hubot Control. When Hubot Control is stopped or removed, the database will be persisted in the Postgres container. You may want to map the Postgres data to a volume on your host. The Postgres image's documentation has more details on this (https://registry.hub.docker.com/u/paintedfox/postgresql/).
  • The files for created hubots are stored in the hubot-control-data container. Do not delete this container unless you want to delete all of your hubots.
  • All of the application data for Hubot Control is stored in separate containers, so we don't lose any data if we delete the hubot-control container.

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

More Repositories

1

ruby-gamedev-book-examples

Source code examples from "Developing Games With Ruby"
Ruby
56
star
2

tank_island

Top down 2D shooter game that involves blowing up tanks
Ruby
51
star
3

hubot-pubsub

PubSub notification system for Hubot
CoffeeScript
44
star
4

gmail4j

Gmail API for Java
Java
44
star
5

gitmon

Git Repository Monitor
Python
37
star
6

hubot-example

Examples for "Automation and Monitoring with Hubot" book.
CoffeeScript
29
star
7

markio

Ruby Gem for handling Netscape Bookmark File Format
Ruby
26
star
8

church-of-supreme-light-bubble

Church of Supreme Light Bubble - open source religion that agrees with science
19
star
9

gosu-tiled

Tiled (http://www.mapeditor.org/) map loader for Gosu
Ruby
19
star
10

gosu-texture-packer

TexturePacker support for Gosu game engine
Ruby
13
star
11

android-game-of-life

Learning Android game programming by implementing Conway's Game of Life
Java
11
star
12

lifecal

Weekly life calendar generator
Ruby
7
star
13

sdl2-snake

Cross Platform Snake with C++ and SDL2
CMake
7
star
14

keyclacker

Mechanical Cherry MX blue keyboard emulator for Mac OS X
C
6
star
15

libgfapi-ruby

Ruby bindings for libgfapi (GlusterFS API)
Ruby
5
star
16

stardew-valley-fast-loads

Fix the load times / freezes of Stardew Valley when multiple large extension mods are used
C#
4
star
17

english-please

Chrome Extension that forces all Google products to use English
JavaScript
4
star
18

hubot-graylog-transcript

Log all chat messages to Graylog
CoffeeScript
3
star
19

activetodo

Forget TODO comments that are sitting in your code forever
Ruby
3
star
20

hawkscope

Cross-platform pluggable menu based launcher
Java
2
star
21

ludum-dare-54

A Godot game made for Ludum Dare 54 Compoe. Theme: Limited Space.
GDScript
2
star
22

teamraft

Self-hosted HR Webapp
Ruby
1
star
23

ruby-gamedev-book

Manuscript for "Developing Games With Ruby" book
1
star
24

saveit

Instapaper / Pocket / Kippt alike bookmarking service
JavaScript
1
star
25

dotfiles

My dotfiles repo
Shell
1
star
26

django-openid-auth

Python
1
star
27

project-pivot

2D roguelike survival indie game, very early in development.
C#
1
star
28

pronto-jscs

JSCS runner for Pronto
Ruby
1
star