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]:
At this point the installer will begin, and will create the directory structure and supporting files to bring Ubersmith online.
Ubersmith Core and 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 to enable 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-setuptoolswill install theeasy_installutility, which will allow the installer to install a more contemporary version ofpip. - Dependencies installed by
pipwill installed using the--useroption, which will install to the Python user install directory for your platform; typically~/.local/. (See the Python documentation forsite.USER_BASEfor full details.) This allows for the installer to be executed as a non-rootuser. You may want to add this directory to your PATH shell variable so that the supporting utilities (docker-compose, for example) can be run without having to specify the full path to the utility.