System Prerequisites¶
The following software packages are required to be installed on your system:
Additionally, in order to send out emails to users, Girder will need to be able to communicate with an SMTP server. Proper installation and configuration of an SMTP server on your system is beyond the scope of these docs, but we recommend setting up Postfix.
See the specific instructions for your platform below.
Note
We perform continuous integration testing using Python 2.7 and Python 3.5. The system should work on newer versions of Python 3 as well, but we do not verify that support in our automated testing at this time, so use at your own risk.
Warning
Some Girder plugins do not support Python 3 at this time due to third party library dependencies. Namely, the HDFS Assetstore plugin and the Metadata Extractor plugin will only be available in a Python 2.7 environment.
Note
It’s recommended to get the latest version of the npm package manager, and Girder currently requires at least version 5.2 of npm. To upgrade to the latest npm, after installing Node.js, run:
npm install -g npm
This may need to be run as root using sudo
.
Debian / Ubuntu¶
Install the prerequisites using APT:
sudo apt-get install curl g++ git libffi-dev libjpeg-dev libldap2-dev libsasl2-dev libssl-dev make python-dev python-pip zlib1g-dev
MongoDB 3.2 requires a special incantation to install at this time. Install the APT key with the following:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
For Debian 8, create the following configuration file for the MongoDB APT repository:
echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.2 main" \
| sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
For Ubuntu 16.04, instead create the following configuration file:
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" \
| sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Reload the package database and install MongoDB server using APT:
sudo apt-get update
sudo apt-get install mongodb-org-server
With Ubuntu 16.04, create a systemd init script at
/lib/systemd/system/mongod.service
:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
and start it with:
sudo service mongod start
Enable the Node.js APT repository:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
Install Node.js and NPM using APT:
sudo apt-get install nodejs
CentOS / Fedora / Red Hat Enterprise Linux¶
For CentOS and Red Hat Enterprise Linux, enable the Extra Packages for Enterprise Linux YUM repository:
sudo yum install epel-release
Install the prerequisites using YUM:
sudo yum install curl gcc-c++ git libffi-devel make python-devel python-pip openssl-devel libjpeg-turbo-devel zlib-devel
Create a file /etc/yum.repos.d/mongodb.repo
that contains the following
configuration information for the MongoDB YUM repository:
[mongodb]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
Install MongoDB server using YUM:
sudo yum install mongodb-org-server
Enable the Node.js YUM repository:
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
Install Node.js and NPM using YUM:
sudo yum install nodejs
Arch Linux¶
For Arch Linux it is important to note that Python 3 is default. This means that most commands will need a 2 appending to them, i.e. python2, pip2, …
Install the prerequisites using the pacman tool:
sudo pacman -S python2 python2-pip mongodb nodejs
OS X¶
It is recommended to use Homebrew to install the required packages on OS X.
To install all the prerequisites at once just use:
brew install python mongodb node
Note
OS X ships with Python in /usr/bin
, so you might need to change your
PATH or explicitly run /usr/local/bin/python
when invoking the server so
that you use the version with the correct site packages installed.
Windows¶
Warning
Windows is not supported or tested. This information is provided for developers. Use at your own risk.
Download, install, and configure MongoDB server following the instructions on the MongoDB website, and download and run the Node.js Windows Installer from the Node.js website.
Download and install the Windows MSI Installer
for the latest Python 2 release from the Python website, and then download and
run the ez_setup.py bootstrap script
to install Setuptools for Python.
You may need to add python\scripts
to your path for NPM to work as expected.
From a command prompt, install pip:
easy_install pip
If bcrypt fails to install using pip (e.g., with Windows 7 x64 and Python 2.7), you need to manually install it prior to installing girder. You can build the package from source or download a wheel file from https://bitbucket.org/alexandrul/py-bcrypt/downloads and install it with the following:
pip install wheel
pip install py_bcrypt.whl