Skip FOLIO Project Navigation


  • Explain how to utilise a FOLIO virtual machine (VM).


  • Vagrant – Recent version.
  • VirtualBox – Determine the version of VirtualBox to match your version of vagrant.
  • curl – Only ‘curl’ commands are shown in this tutorial. To use curl to interact with Okapi from outside the VM, of course curl is needed on the host system. Note that Vagrant has a packaged curl, so that can be used from within the VM. Easier-to-use interactive and command-line tools are available (see FAQ How to use APIs).


Each night the FOLIO reference environments are rebuilt using the current state of development.

The continuous integration also constructs various Vagrant boxes. These are available for local use, providing a ready-to-run self-contained operating system environment and up-to-date FOLIO instance. (Note that that link is only for explaining the various boxes. The first Lesson of this Tutorial will establish one for local use.)

This tutorial will only focus on the folio/release-core VM. If your host machine has sufficient resources available (e.g. memory) then it would be possible to use the folio/release (i.e. for the most recent “flower release”) or the folio/snapshot VM instead, which have the full set of FOLIO apps.

Note: Due to the discontinuation of snapshot-core (FOLIO-3292) and the platform-minimal has not yet happened (FOLIO-3253), this tutorial still refers to "release-core". That is for the Juniper R2-2021 release -- subsequent flower releases do not have a release-core.

Troubleshooting and known issues

There are troubleshooting notes in the folio-ansible repository, so generally those will not be repeated here.

Lessons and steps

Follow each lesson sequentially:

  1. Create workspace and launch VM and update box.
  2. VM system overview and viewing logfiles.
  3. Interact with the FOLIO VM.
  4. Conduct local development.