While most webhosting providers give you access to a few or even just one programming language and a set amount of libraries, ULYSSIS prefers to offer more flexibility. We hope to give our users the chance to experiment with different languages, libraries and tools. There are of course limits to what is realistic for us to install. More on that below.
Using a programming language, library or tool that is not installed
If the package that you would like us to install is available in the software repository of our current operating system, then that is usually not a problem. We currently use Ubuntu on all our servers, specifically, we upgrade to the latest LTS every summer vacation following the release of a new one. You can verify which version we are running by executing "cat /etc/lsb-release" on one of our shellservers. After you have verified what version we are running, you can refer to https://packages.ubuntu.com/ to check whether your package is available in that version of Ubuntu. If it is, then you can contact us by email on firstname.lastname@example.org which package or packages you would like to have installed, and what you will be using it for. You will most likely get a positive response. If your package is not in the repository, you will have to go for a Manual installation.
Using a newer/different version
As you can read in the section concerning the installation of new packages, we only offer the version available in the repository of the version of Ubuntu that we are running. In most cases, this means you will have to wait for a version upgrade with the next LTS release, or go for a Manual installation. However, there are some exceptions. Sometimes multiple version will be available in the repository, such as with Python 2 and 3, or Perl 5 and 6. In such cases, you can refer to the section above for instructions on how to request an installation.
If you want to install a piece of software that is not available in the repository or you wish to install another version, you can always install it manually onto your account.
It is important to keep in mind that ULYSSIS will not support manually installed software, and that you are fully responsible for the security of this software. You are free to ask us questions, but we will most probably not help you. If you do require a manual installation of specific software, we expect you to be capable of maintaining it as well.
The way you install your software differs depending on the software. You could be using tools such as pip, gem or npm to install to a directory in your home folder, you could be using a virtual environment, or you could be compiling your own binary. We suggest you look at the documentation of the software you're using very thoroughly, and make sure you are comfortable with what you are doing and aware of your responsibilities.
After installing your software locally onto your account, you will probably want to add an alias in your dotfiles (for example .profile or .bashrc) to make using your manually installed version easier. In case you are using your piece of software for a web service, you will want to make sure you edit your fastcgi script or any other involved scripts to use your binary by changing the path or hardcoding the location.
We do not offer Node.js by default because we can't give you the most recent release. But you can use nvm (Node Version Manager) which installs the required version for you. The installation should be straightforward and a guide can be found here.