<div dir="ltr">Posted at <a href="http://info.p2pu.org/2013/06/18/introducing-marvin/">http://info.p2pu.org/2013/06/18/introducing-marvin/</a><br><br>
                                        
                                                
                                                
                                                
                                                        
                                                                <div id="attachment_2853" class="" style="width:553px"><a href="http://info.p2pu.org/wp-content/uploads/2013/06/3356358479_a0e3ee8a05_b.jpg"><img class="" alt="Image CC-BY-SA John Greenaway" src="http://info.p2pu.org/wp-content/uploads/2013/06/3356358479_a0e3ee8a05_b.jpg" height="362" width="543"></a><p class="">
Image CC-BY-SA <a href="http://www.flickr.com/photos/johngreenaway/">John Greenaway</a></p></div>
<p>At the start of the year we spent some time on behind the scenes 
work. We had a long overdue software upgrade that we needed to perform 
on our main server. At the same time we took the opportunity to improve 
how we maintain the systems to run the tools we use for P2PU.</p>
<p>Maintaining a server requires a lot of work. Someone needs to know 
what software is required, then install and update the software in 
questions, edit configuration files, remember what services to stop and 
start again, pick good passwords and remember them, etc!</p>
<p>Instead of having someone slaving away at a command line and trying 
remember what to do each time, we decided to automate the process. It is
 almost like writing down a recipe and handing it to a robotic cook with
 all the ingredients!</p>
<p>We named our robotic cook Marvin, after <a href="http://en.wikipedia.org/wiki/Marvin_the_Paranoid_Android" target="_blank">Marvin the Paranoid Android</a> from the “Hitchhikers Guide to the Galaxy”. Almost everything that is needed to get P2PU up and running can be found in <a href="https://github.com/p2pu/marvin/" target="_blank">this github repository</a>.</p>

<p>You may stop reading at this point if you wish to skip the technical details and incomprehensible abbreviations <img src="http://info.p2pu.org/wp-includes/images/smilies/icon_smile.gif" alt=":)" class=""> </p>
<p>We chose to use <a href="http://www.ansibleworks.com/">Ansible</a>
 to implement Marvin. Ansible uses YAML configuration files called 
playbooks to describe the tasks needed to setup and configure a server. 
These tasks are then executed over SSH on the remote host. The advantage
 of this is that it’s easy to bootstrap a system – you just need to know
 what operating system you are targeting and setup SSH access.</p>
<p>The Marvin repository contains the playbooks to setup <a href="https://github.com/p2pu/lernanta">lernanta</a> running at <a href="http://p2pu.org">p2pu.org</a>, <a href="https://github.com/p2pu/badges">badges</a> running at <a href="http://badges.p2pu.org">badges.p2pu.org</a> and <a href="https://github.com/ether/etherpad-lite">Etherpad Lite</a> running at <a href="http://pad.p2pu.org">pad.p2pu.org</a>.</p>

<p>There is still potential to improve and better organize these 
playbooks. If you would like to give them a test drive, you can install 
Ansible, setup a virtual machine and run the playbooks! See the <a href="https://github.com/p2pu/marvin/">repository</a> for more instructions.</p><br></div>