One-Click IRC Network with Panamax

Panamax is an exciting new technology by the smart people at CenturyLink Labs. What really excites me about Panamax is how it allows for a…

One-Click IRC Network with Panamax

Panamax is an exciting new technology by the smart people at CenturyLink Labs. What really excites me about Panamax is how it allows for a more purely Docker-native workflow than existing products such as Deis or Flynn. However, this project’s youthfulness does mean it is lacking in other key areas, but for the purposes of this example they can largely be ignored.

In my dotfiles repo I have a nice tutorial set up on using Panamax in Google Compute Engine. The provision script was the result of running into annoying undocumented systemd behavior, but is simple enough that I would suggest using it.

I created a simple proof of concept that Panamax is compatible with a Docker-native workflow by creating a simple, single click IRC test network using Panamax. This is purely ephemeral and should not be used in any serious or production network, but it does show that Panamax can do things that Flynn and Deis can’t.

Panamax running my IRC network template on Luj.

After setting this up, a useful first step is to connect to it with any standard IRC client. In my example here I am going to use Irssi.

The MOTD and services advertisment

This test network in a box uses Elemental-IRCd, Atheme services and Iris to set up a bare minimum for a usable chat network. Elemental-IRCd is a daemon I have put a lot of work into over the last year and Atheme is probably the best choice in terms of services pacakges for an IRC network of any scale (Freenode runs Atheme).

This overall does not look as exciting as it is. IRC based services traditionally have been difficult to use on Docker-centric PaaS entries. If I wanted to do something like this on Deis or Flynn I might be better off scrapping the entire ircd and writing something in Go. Panamax allows Atheme and ircd to be used in an easy fashion, even if things have to be pre-seeded due to the overall immaturity of the platform.

I’m excited for Panamax and the things it could bring with it. It’s new of course but it is incredibly functional for such an early preview release and their Ruby code is very easy to read through and maintain.

Without Panamax setting up a test network like this would have taken someone 5 hours of looking up dependencies, reading horribly written documentation and slogging through forum posts to get something set up. Panamax makes it one click.