Getting Started
This documentation outlines the steps necessary to deploy and set up the Ed-Fi Admin App. The Ed-Fi Admin App is a web-based administrative platform designed to manage Ed-Fi API deployments across multiple environments and tenants.
Audience
This documentation is for administrators and DevOps personnel who will be installing the Admin App.
Overview
The Ed-Fi Admin App is a user interface for managing Ed-Fi Technology Suite deployments. It consists of:
- Web Application: React-based single-page application (SPA)
- Backend API: Node.js/NestJS application
- Database: PostgreSQL or SQL Server database for application data
- Authentication: OpenID Connect (OIDC) integration (any OIDC provider; Keycloak is the bundled example)
Required Components
- PostgreSQL or SQL Server Database (Required) — an empty database created
for the Admin App (the examples use the name
sbaa) - OIDC Provider (Required) - Keycloak, Microsoft Entra ID, Google Workspace, or Auth0; see
- Reverse Proxy (Recommended for production) - Nginx, IIS, or similar
- Provides a single public entry point for the Web Application and API (this avoids cross-origin/CORS between the two sites), plus caching, load balancing, and a place to enforce edge security (for example, a web application firewall).
- Not required to obtain HTTPS: each installation path terminates TLS itself. The Windows install scripts deploy the API and Web Application as two IIS sites directly (no front-facing proxy) with TLS and enforcing security headers, and the app is architecturally optional behind a proxy by design, honoring
X-Forwarded-*headers when used.
This application runs with any Open ID Connect provider. The Ed-Fi Alliance has
validated four end-to-end on the Windows/IIS deployment: Keycloak (the bundled
example), Microsoft Entra ID, Google Workspace, and Auth0. Sign-out uses the
provider's published sign-out endpoint, and the Account link in the Admin App
is shown only when VITE_IDP_ACCOUNT_URL is set. See
Configuring an Identity Provider for Ed-Fi Admin App.
Audit log
The Admin App keeps an audit trail of changes and sign-in activity in the
audit_log table of the Admin App database:
- Every create, update, and delete request is recorded, including requests that were rejected, along with sign-in successes, sign-in failures, and sign-outs. Read-only requests, request bodies, and tokens are not recorded.
- Audit logging is on by default. Set
AUDIT_LOGGING_ENABLED=falseto turn it off; the API reads the setting at startup, so a change requires a restart. - There is no screen for the audit log. Query the
audit_logtable with SQL. - The Admin App never purges the table. Plan your own retention, for example a
scheduled job that deletes rows by
timestamp. - Entries contain user names, which are often email addresses. Treat the table as personal data under your data-protection policies.
Health check
GET /api/healthcheck returns HTTP 200 when the API is healthy and HTTP 503
when it is not. Configure load balancers and monitors to treat 503 as
unhealthy.
Optional Components
- Yopass (Optional) - For sharing encrypted secrets
- Memcached (Optional) - Required only if using Yopass
Prerequisites
System Requirements
- Operating System: Windows Server 2019+, Linux (Ubuntu 20.04+, RHEL 8+), or similar
- Memory: Minimum 4GB RAM, Recommended 8GB+
- Storage: Minimum 10GB free space
- Network: HTTPS capability (SSL/TLS certificates)
Software Dependencies
- Node.js: Version 24
- SSL/TLS Certificates: For HTTPS endpoints
Ed-Fi Services
- Ed-Fi ODS/API and ODS Admin API 2.4 or later: Installed and reachable — the Admin App performs all credential and configuration management by calling the Admin API. Environments built on Admin API v3 (the Ed-Fi Data Management Service) are also supported; the Admin App shows their ODS instances as Data Stores.
- Admin API first-time configuration completed: When an environment is
connected, the Admin App registers its own client credentials at the Admin
API's
POST /connect/registerendpoint, which requiresAuthentication:AllowRegistration=truein the Admin API'sappsettings.json(falseby default). Complete Create the First API Client and keep registration enabled while connecting environments (it can be disabled again afterwards).
Choose an installation path
The Ed-Fi Admin App can be installed in one of three alternative ways. These are independent paths, not sequential steps — pick the one that matches your target environment and follow that page from start to finish.
| Path | What it does |
|---|---|
| Docker Compose Installation | Runs the Admin App and its dependencies as containers, on-premises or in the Cloud. |
| Windows IIS Installation | Hosts the backend API and Web Application on Windows Server using Internet Information Services (IIS). |
| Unix-like Systems Installation | Hosts the backend API with systemd and serves the Web Application with Nginx on a Linux or other Unix-like server. |
You only need to complete one of the paths above — each one installs and configures the Admin App. The Configuring Ed-Fi Admin App page is a reference for the available configuration options, and it is worth reviewing Security Considerations before going to production.