Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This page provides information on the components used in the out-of-the-box Ed-Fi Docker Compose configuration, as well as brief descriptions and diagrams of each configuration mode configurations supported by the Ed-Fi Docker solution.

...

Image NameApplicationPurpose
ods-api-web-gatewayNGiNX​ 1.25.1

Reverse proxy web server that provides:

  1. Single point of entry for HTTPS traffic into the Docker network, serving routes for:
    1. Web API
    2. Admin Api
  2. SSL termination
  3. (Potential) load balancing for multiple Web API instances
  4. (Potential) traffic logging

"Potential" means that the container can be reconfigured to support these features.

ods-api-web-gateway-sandboxNGiNX 1.25.1

Similar to ods-api-web-gateway, except serving routes for:

  • Web API
  • Sandbox Admin Web
  • Swagger UI
ods-api-web-apiEd-Fi Web APIHosts the core Ed-Fi Web API web service, configurable to support various modes in the sections below. Sections below describe various configuration options. Configured for use with PostgreSQL databases.
ods-api-web-api:<TAG>-mssqlEd-Fi Web APIHosts the core Ed-Fi Web API web service, configurable to support various modes in the sections below. Sections below describe various configuration options. Configured for use with Microsoft SQL Server databases.
ods-api-web-swaggeruiEd-Fi SwaggerUIHosts a web-based user interface for documenting the API and allowing users with client credentials to interact with the API.
ods-api-web-sandbox-adminEd-Fi Sandbox AdminHosts the Ed-Fi Sandbox web application, used for configuring new sandboxes used for client testing. Configured for use with PostgreSQL databases.
ods-api-web-sandbox-admin:<TAG>-mssqlEd-Fi Sandbox AdminHosts the Ed-Fi Sandbox web application, used for configuring new sandboxes used for client testing. Configured for use with Microsoft SQL Server databases.
ods-api-db-odsPostgreSQL 13.12Pre-configured PostgreSQL database containing the ODS database, with both the Ed-Fi core data model and the Teacher Preparation Data Model (TPDM). Loaded with the "minimal template" that provides a default set of Descriptors and no other data.
ods-api-db-sandboxPostgreSQL 13.12Like the ods-api-db-ods, but using the "populated template" that contains a small set of sample data representing the fictional Grand Bend school district.
ods-api-db-adminPostgreSQL 13.12Pre-configured PostgreSQL server with two database: EdFi_Admin and EdFi_Security.
ods-admin-apiEd-Fi ODS Admin ApiHosts the Ed-Fi ODS Admin Api web application, configured for use with PostgreSQL databases, and configurable for Single Tenant and Single Tenant with ODS Contexts.
PgBouncer

PgBouncer latest (1.20.0)

Lightweight PostgreSQL connection pooler that improves application scalability through connection pooling.

...

Image NameApplicationPurpose
data-importEd-Fi Data Import

Hosts the Ed-Fi Data Import web application, configured for use with PostgreSQL as a backing database.

Tip

See Docker Deployment for Data Import for usage instructions


analytics-middle-tierEd-Fi Analytics Middle TierDistribution of the Analytics Middle Tier command line installation tool.

Configuration

...

Options

The following configurations are supported out of the box. In the diagrams below, the dashed line represents the internal Docker network, and all rectangles represent separate containers. Cylinders represent data that should be stored in volumes that are mapped outside of the Docker network for permanency.

...

SingleTenant Configuration 

The SingleTenant configuration runs This deployment shows a basic example of single tenant configuration were a single ODS database that serves all data going through the API. In this configuration, a single deployment can support multiple While this example has one ODS for demonstration purpose, single tenant deployments can support separate ODS per school years and multiple districts. However, the Ed-Fi Alliance recommends that implementations only store a single school year in any ODS database; see Guidance on Multi-Year Data in ODS districts. See API Client and ODS Instance Configuration for more information.

Includes the following web applications:

...

SingleTenant with ODS Context Configuration 

This mode enables a single API instance to support multiple ODS databases, partitioned by yeardeployment shows a basic example of explicit data segmentation strategy based on school year, i.e. school year becomes a required part of the API route segments. See Context-Based Routing for Year-Specific ODS for more information on this mode.

Includes the following web applications:

...

MultiTenant Configuration 

This mode enables a single API with multiple tenants and one ODS deployment shows a basic example of multiple tenant configuration, with one Admin, Security, ODS databases per tenant. See Multi-Tenant Configuration for more information on this mode.

Includes the following web applications:

...

MultiTenant with ODS Context Configuration 

This mode enables a single API with multiple tenants and each tenant supporting multiple ODS databases, partitioned by yeardeployment shows a basic example of multi tenant configuration with explicit data segmentation strategy based on school year. Deployment has one Admin, Security per tenant and has one ODS per school year. ODS for the school year is selected based on the schoolyear in the API route segment. See Multi-Tenant Configuration and Context-Based Routing for Year-Specific ODS for more information on this mode.

Includes the following web applications:

...