Skip FOLIO Project Navigation

This document introduces various ways to enable developers to run a complete FOLIO system to assist their local daily development.


There are various ways to run a local FOLIO system. Each technique might be relevant at different times.

A complete system includes the Okapi gateway, the main back-end modules (especially the auth and user-related modules), sample data for tenants and users and items, and the Stripes UI development server configured for various client-side modules.

Some of the regularly updated Prebuilt Vagrant boxes do provide a complete system to download as a virtual machine. It is also possible to utilise a box in conjunction with local development versions of the relevant parts.

Prebuilt Vagrant boxes

See the explanations for each of the available boxes. The main ones of interest at this stage are: folio/testing-backend, folio/testing, folio/snapshot, and quarterly releases.

The guide to Software Build Pipeline further explains the process, what time of day each is built, and links to the public interfaces.

The Primer for front-end development leads to some guides for establishing a front-end developer’s environment.

Deploy via local Okapi and Stripes

Another way is to run directly on the host machine.

Follow the Guide to start Okapi in its clean state.

Develop a suite of ‘curl’ commands to create a test tenant and then deploy the main initial backend modules and your own additional modules. Generate and load user sample data.

For guidance follow some other developers and their local deployment facilities: Okapi’s doc/ script and Guide; the mod-notes script; the mod-inventory running scripts; the script provided in Lesson-06 Interact with a FOLIO stable VM; the folio-ansible roles and tasks; the folio-test-env. Although these other documents are intended for a production installation, they do have useful parts which assist with running a local system: FOLIO deployment: single server and Securing Okapi Installation.

Follow the Stripes: quick start for the Stripes UI development server. As explained there, the default will use released modules. It can be configured to use your local development versions.

Available module versions

Send a command via the gateway:

curl -w '\n' http://localhost:9130/_/discovery/modules

or using the web interface, go to “Settings : Software versions”.

Sending queries

No matter which technique for setting up a running system, developers will need to send queries and conduct various test operations.

The resources linked via the “local Okapi” section above will provide some guidance.

Some important points: specify the Tenant in the queries, and obtain the X-Okapi-Token header and save it for later use in the script session.

See also the okapi-cli and the stripes-cli.


Follow folio-ansible as a model for your own setup, and expand it to also deploy your modules and data.