What is a Stack?
We are currently rolling out a new generation of Codio Boxes that will provide far greater power and control for you, as well as improved stability. These new Boxes provide full
sudo(root) access, which means you no longer need to use the Box Parts package management system to install software. Instead, you can use the apt package manager, which provides thousands of software packages that are maintained by the Ubuntu community.
Every Codio box comes with a clean Ubuntu server. However, Codio lets you configure your box by adding Stack components. A Stack component is software that can be installed using the ‘Install Software’ option and typically covers languages, databases, web servers and many other components as described here.
Codio does not give you sudo access to your box. However, you will find that this rarely affects you. We still allow you access to all important commands without requiring the sudo prefix. Furthermore, you can still install software components.
If you explore your box from the terminal window (Tools->Terminal menu) you will see that the normal files are all available in the root. However, these files are all read-only.
The area where all software Stack components are installed is in the
/home/codio folder. If you run
ls -al you will see that various components are already present (Node, Ruby etc.). This folder is also writable but if you were to delete any of the preinstalled components, they would be automatically replaced after you restart your box.
So, in summary, a Stack is everything that is installed into the
/home/codio folder but excluding the
/home/codio/workspace folder, which is where your code is installed.
Node Packages, Ruby Gems etc.
If you were to install a Node Package globally or a Ruby Gem, then these will get installed into the
/home/codio folder and will form a part of your Stack.
As explained above, a Stack does not include the
~/workspace folder where your code lives. Starter Packs go one step beyond Stacks and allows you to combine both the Stack and a code workspace. This gives you the ability to define any number of Stack + Code templates.