diff --git a/.gitignore b/.gitignore
index a0b37fa0bcc22b3792f45c97fe8bcb7c76f34c9e..a7075090ba9566fb7bb05f6450be6f343430688c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
 *~
 dev/run-g5kchecks/output/
 generators/run-g5kchecks/output/
+bundle
diff --git a/Gemfile.lock b/Gemfile.lock
index 76d7efd52b0e8e1a57d18ed481b3660bb184cd2c..8f27fe3c2047cc79d0bf63629eb6d3aa252998ca 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -95,4 +95,4 @@ DEPENDENCIES
   ruby-cute
 
 BUNDLED WITH
-   2.0.2
+   1.17.3
diff --git a/README.md b/README.md
index 771a2a58bfb879d2e7ab4a64610c9ad3d938a50c..2f62800af11a662dbe4537ad9a397038564ca80a 100644
--- a/README.md
+++ b/README.md
@@ -21,6 +21,17 @@ See also:
 * .gitlab-ci.yml, that automates various checks and the deployment of data files after each commit
 * doc/README.generators.md
 
+# Setup
+
+We use bundler to manage dependencies.
+
+```
+apt install bundler
+bundler install --standalone # this installs dependencies in the 'bundle' directory
+rake reference-api # or other commands
+```
+
+
 # Credentials
 
 all tools that require to authenticate against Grid'5000 use credentials from ~/.grid5000_api.yml. Example:
diff --git a/Rakefile b/Rakefile
index 40e4dd669f2220abed280c46e520969358e5f6ae..41c8b6071bd1542aea422dba8b35c73d53e78286 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,3 +1,5 @@
+require 'bundler/setup'
+
 if ENV['COV']
   require 'simplecov'
   SimpleCov.start