All in One on a CentOS 7 Virtual Machine

Upsilon can quite happily exist all in a single virtual machine for most deployments. You can scale out and change fairly easily after that too, but this sort of configuration is normally best for playing around, testing, kicking the tyres and similar.

This article assumes you know how to install CentOS 7 in a virtual machine on your favourite hypervisor, or cloud. Upsilon doens’t really care where it runs.

Virtual Machine requirements

Protocol & Port Source Reason
TCP Port 22 inbound SSH inbound traffic - to connect to the VM for administration
TCP Port 80 inbound HTTP inbound traffic - to access the web interface (upsilon-web)
TCP Port 4000 inbound upsilon-drone inbound traffic - REST API port
TCP (Various port) outbound What do you want upsilon to connect to?

Once you’ve setup and logged into the VM

Become root on your virtual machine, lets begin :) root@host$: Add the upsilon yum repository, and the EPEL repository for CentOS (Extra Packages for Enterprise Linux); root@host$: cd /etc/yum.repos.d/
root@host$: curl -O http://repos.upsilonproject.io/upsilon-rpm-el7/upsilon-rpm-el7.repo
root@host$: rpm -U https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Lets install everything! Dependencies will be installed automatically. root@host$: yum install upsilon-drone upsilon-web rabbitmq-server mariadb-server
Lets start the webserver (httpd), the database server (mariadb), the message server (rabbitmq) and make sure they restart on reboot (using `enable`); root@host$: service httpd enable
root@host$: service httpd start
root@host$: service mariadb-server enable
root@host$: service mariadb-server start
root@host$: service rabbitmq-server enable
root@host$: service rabbitmq-server start
Should be no problems so far. Lets open up the port for the web interface if it's not already open; root@host$: firewall-cmd --add-service http --permanent