Skip to main content

Getting Started

The Ed-Fi OneRoster® service is deployed on top of an existing Ed-Fi ODS database. Pick the deployment path that matches your environment.

PathWhen to useStatus
Docker Compose (demo)Spin up a local end-to-end stack (ODS / API, OneRoster, NGINX, OAuth issuer) to try the service.Demo only, not production
Deploy on PostgreSQLYou operate an Ed-Fi ODS on PostgreSQL and want to run the OneRoster Node service natively against it.Production-supported
Deploy on Microsoft SQL ServerYou operate an Ed-Fi ODS on SQL Server and want to run the OneRoster Node service natively against it.Production-supported
Deploy on IIS (Windows)You run the Node service on Windows Server and want IIS to host it (via iisnode) or front it (via a reverse proxy).Production-supported

For production Docker deployments, use the official edfialliance/one-roster-api image — the in-repo Docker Compose stack is for demo only.

Before you begin: ODS / API configuration

The OneRoster service runs against an existing Ed-Fi ODS / API, not a standalone ODS database. Before deploying via any path above (except the Docker Compose demo, which stands up its own preconfigured stack), enable the OneRoster feature and configure JWT-based token signing in your ODS / API. See How to use OneRoster with the Ed-Fi ODS / API.

All paths end with the service listening on an OAuth-protected /ims/oneroster/rostering/v1p2/ URL backed by the same Ed-Fi ODS schema. Only the hosting and database specifics differ.

Database engines

The PostgreSQL implementation uses materialized views in the oneroster12 schema, refreshed on a schedule by pg-boss.

  • Any PostgreSQL version supported by the corresponding Ed-Fi ODS / API line
  • Refresh cadence is configured via PGBOSS_CRON (default */15 * * * *)
  • See Deploy on PostgreSQL