Skip to content
Pythagory edited this page Oct 9, 2014 · 3 revisions

Docker support

Docker support is still experimental, but the following should let you skip steps 1-3 of the installation instructions below. An Ubuntu host is assumed.

$ sudo apt-get install docker.io
$ sudo docker.io run -i -t pjf0/exobrain sudo -i -u exobrain

Step 1: Install exobrain

These directions have been tested on fresh installations of Ubuntu 13.10 and 14.04.

Firstly, make sure you've got all the dependencies:

$ sudo apt-get install libzmq3-dev libexpat-dev libnet-ssleay-perl \
    libnet-libidn-perl libcrypt-ssleay-perl cpanminus make \
    liblocal-lib-perl

Exobrain can use either ZMQ2 or ZMQ3, but we prefer ZMQ3:

export PERL_ZMQ_BACKEND=ZMQ::LibZMQ3

Configure local::lib if you haven't already done so:

$ perl -Mlocal::lib >> ~/.bashrc
$ eval $(perl -Mlocal::lib)

If installing from git, you can then use:

$ dzil authordeps | cpanm
$ dzil listdeps   | cpanm
$ dzil install

If installing from CPAN, it's just:

$ cpanm Exobrain

Note that Exobrain has many dependencies. If you're feeling hungry, this would be a good time to go out for a meal or find a snack. You can also use cpanm --notest instead of cpanm in all the lines above, which will get things installed sooner by not rigorously testing Exobrain and every one of its dependencies.

When you return from your meal, you should find that you have exobrain installed! However to use it properly, you'll want to manage it with ubic.

Step 2: Configure ubic

Set up ubic (if you haven't already done so):

$ ubic-admin setup

Set up exobrain:

$ exobrain setup

It's a good idea to run exobrain setup any time you upgrade your version of Exobrain.

Step 3: Install extensions

Exobrain provides extensions to plug into third party services. They're bundled separately on the CPAN. After installing each one, you'll wish to use the exobrain setup command on its short name to configure it. For example, to install the Twitter extensions:

$ cpanm Exobrain::Twitter
$ exobrain setup Twitter

You can find Exobrain extensions on the CPAN

Step 4: Add configuration

Exobrain uses a ~/.exobrainrc file. You can copy the example.exobrainrc file from the docs/ directory to get started. Exobrain will also use config files found in your ~/.config/exobrain directory (or the XDG config directory on your system). Installable components will often write their configuration to this area.

For RememberTheMilk integration, you'll need a valid ~/.rtmagent file.

You can now start your exobrain. You can see what exobrain services you have available with:

$ ubic status

The exobrain core must always be running for anything to work. You can start it with:

$ ubic start exobrain.core

If you've configured Twitter, or another extension, you can start that with:

$ ubic start exobrain.twitter

While the exobrain.action services are slowly being replaced with dedicated agent classes, many of them are useful, especially for testing. You can start the ping service with:

$ ubic start exobrain.action.ping
Clone this wiki locally