Summary

The Ubersmith Installer is a command line utility that allows a system administrator to install (or upgrade) Ubersmith on a supported platform without assistance from Ubersmith Support. This can be useful when access to the Ubersmith environment is restricted, or for provisioning development/testing environments. The installer can be used to install both the Ubersmith Core (frontend) software as well as the Ubersmith Appliance.

Use

Prepare the Host

The Ubersmith Installer requires that Docker, as well as some additional dependencies be installed prior to installing Ubersmith. The installation process will fail without these dependencies.

CentOS 7
sudo yum install gcc libffi-devel python-devel openssl-devel

Once EPEL is configured, run:

sudo yum install python-pip
Debian 8 / Ubuntu LTS
sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-setuptools

Clone the Repository

On the host Ubersmith is to be installed on, clone the ubersmith_installer repository.

$ git clone https://github.com/TeamUbersmith/ubersmith_installer.git

Install

Run ./install_ubersmith.sh to install Ubersmith Core or ./install_appliance.sh to install the Ubersmith Appliance.

Follow the prompts to complete the installation.

Checking for pip...
Installing Ansible...
Installing Ubersmith...
Choose an installation directory for Ubersmith [/usr/local/ubersmith]:
Enter the address where you will be hosting Ubersmith [ubersmith.example.com]: 
Enter the email address of the Ubersmith administrator [admin@example.org]:

Ubersmith Core and the Ubersmith Appliance should not be deployed to the same host.

Troubleshooting

When running CentOS, if the installer is unable to install pip, you may need the EPEL yum repository.

Do not install the OS provided `pip` packages for Ubuntu and Debian as the version of `pip` provided is older and has difficulty installing the dependencies for the Ubersmith installer. python-setuptools will install the easy_install utility, which will allow the installer to install a more contemporary version of pip.

Dependencies installed by pip will installed using the --user option, which will install to the Python user install directory for your platform; typically ~/.local/`. (See the Python documentation for site.USER_BASE for full details.) This allows for the installer to be executed as a non-`root` user.