Managing the servers that your application(s) run on is enjoyable to some. I’ve automated server provisioning, deployments, backups, etc. using Ansible but it’s not enjoyable in the same way as building applications. From reading Start Small, Stay Small: A Developer’s Guide to Launching a Startup, I learned that tasks which can be outsourced, should be outsourced. Can you manage the infrastructure? Sure, but then you won’t be creating value within your application. Enter Nanobox…
Nanobox is a service that manages your servers, from local dev environments to autoscaling your application(s). They utilize your cloud account from companies like Digital Ocean and Linode, which means you own your infrastructure. This post covers installation of the desktop client on Solus Linux so you can setup a local dev environment. The desktop client will utilize Docker to run container images as this is what is recommended from Nanobox for Linux. If you have not tried Solus Linux, I highly suggest it.
Download the desktop client
You must sign up for an account before downloading the desktop client. Once you have signed up, you can follow the
Download Nanobox Desktop link from the dashboard or click here to go to the download page directly.
.tar (General) format, as there are not native Solus packages.
Extract the files
The Nanobox binaries will be placed in
/usr/local/bin which needs to be created. The files are then extracted to their new home.
$ sudo mkdir -p /usr/local/bin $ sudo tar -zxvf nanobox-2.tar.gz -C /usr/local/bin --strip-components=3
Docker is a requirement for Nanobox, and is available via the package manager.
$ sudo eopkg install docker
The current user must be added to the docker group.
$ sudo usermod -aG docker username
Now logout, and log back in.
Ensure the docker group is listed when you print the groups your user is in.
$ groups username dialout audio video cdrom lpadmin sudo fuse docker
By default the Docker service is not started. This will cause Nanobox to report Docker not being installed. The service must be running if you want to use the Nanobox desktop client.
$ sudo systemctl start docker
Make sure you can run docker ps
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
The final step in the installation is to configure Nanobox to use Docker Native, option b.
$ nanobox configure CONFIGURE NANOBOX --------------------------------------------------------------- Please answer the following questions so we can customize your nanobox configuration. Feel free to update your config at any time by running: 'nanobox configure' (Learn more at : https://docs.nanobox.io/local-config/configure-nanobox/) How would you like to run nanobox? a) Inside a lightweight VM b) Via Docker Native Note : Mac users, we strongly recommend choosing (a) until Docker Native resolves an issue causing slow speeds : http://bit.ly/2jYFfWQ Answer: b ** ********* *************** [√] Nanobox successfully Configured! :: ********* :: ------------------------------------------------------------ " ::: *** ::: " Change these settings at any time via : 'nanobox configure' "" ::: "" "" " "" "
nanobox will ask for your login details, and then you can begin setting up your
boxfile.yml to meet your needs. To find out more about the next steps, visit the Nanobox Docs or Language Specific Guides.
If you wanted to get started quickly with a Phoenix project, checkout the Phoenix from Scratch page.
Nanobox Slack Channel
If you have issues with Nanobox, the developers are happy to help via their Slack channel. Previously I asked them to describe the security setup for the servers, and the detail they provided was excellent. While writing this blog post I joined the channel to ask about Nanobox desktop reporting Docker is not installed. They helped to identify that I forgot to start the service.