Nova Resource:Tools/Tools/meetbot

From Wikitech

Description

meetbot is a MeetBot instance that keeps minutes for meetings, office hours, etc. held in #wikimedia-office connect.

Usage

m:MeetBot has some notes for users.

See Debian's MeetBot "Howto" for common commands and the full manual.

Administration

meetbot uses the IRC nick wm-labs-meetbot. The associated NickServ mail address ends up with User:Tim Landscheidt so contact him if you delete the password.

Service

  • Log into the Tool Labs login server. ssh tools-login.wmflabs.org (see Help:Tool Labs).
  • Access the tools.meetbot user. become meetbot.

Restart:

  • If necessary, stop the bot with jstop wm-labs-meetbot.
  • Start the bot with jstart ~/bin/meetbot.
  • Start the webserver with webservice start.

Install

meetbot runs as a continuous job on Tools. To install:

  • Make sure the package supybot is installed.
  • Clone the OpenStack fork repository of the MeetBot Python module to a local directory and install it to ~/.local with python setup.py install --user.
  • Create ~/.lighttpd.conf with the content:
# Enable basic directory index.
$HTTP["url"] =~ "^/?" {
        dir-listing.activate = "enable"
}
  • Create ~/wm-labs-meetbot.conf with the content:
supybot.nick: wm-labs-meetbot
supybot.networks: freenode
supybot.networks.freenode.password: very-secret
supybot.networks.freenode.servers: irc.freenode.net:6667
supybot.networks.freenode.channels: #wikimedia-office
supybot.directories.conf: /data/project/meetbot/conf
supybot.directories.data: /data/project/meetbot/data
supybot.directories.data.tmp: /data/project/meetbot/data/tmp
supybot.directories.backup: /data/project/meetbot/backup
supybot.directories.plugins: /data/project/meetbot/.local/lib/python2.7/site-packages/supybot/plugins
supybot.directories.log: /data/project/meetbot/logs
supybot.plugins: MeetBot Admin Misc User Owner Config Channel
supybot.plugins.Admin: True
supybot.plugins.Channel: True
supybot.plugins.Config: True
supybot.plugins.MeetBot: True
supybot.plugins.Misc: True
supybot.plugins.Owner: True
supybot.plugins.User: True
supybot.plugins.MeetBot.enableSupybotBasedConfig: True
supybot.plugins.MeetBot.logFileDir: /data/project/meetbot/public_html
supybot.plugins.MeetBot.logUrlPrefix: https://tools.wmflabs.org/meetbot/
supybot.plugins.MeetBot.endMeetingMessage: Meeting ended %(endtime)s %(timeZone)s.  Information about MeetBot at %(MeetBotInfoURL)s . (v %(__version__)s)\nMinutes:        %(urlBasename)s.html\nMinutes (text): %(urlBasename)s.txt\nMinutes (wiki): %(urlBasename)s.wiki\nLog:            %(urlBasename)s.log.html
supybot.plugins.MeetBot.writer_map: HTML2:.html HTMLlog2:.log.html MediaWiki:.wiki Text:.txt
  • Protect ~/wm-labs-meetbot.conf against overwriting by supybot with chmod -w ~/wm-labs-meetbot.conf.
  • Create ~/bin/meetbot with the content:
#!/bin/bash

# supybot doesn't start if it can't make a backup file.
/bin/rm -f ~/wm-labs-meetbot.conf.bak

# Start supybot itself.
/usr/bin/supybot ~/wm-labs-meetbot.conf
  • Make ~/bin/meetbot executable with chmod +x ~/bin/meetbot

Start a continuous job with jstart ~/bin/meetbot and the webserver with webservice start.

If necessary, stop the bot with jstop wm-labs-meetbot.