Run with Docker Compose
cd elearn/middleware copy .env.docker.example .env
Edit .env with at minimum:
POSTGRES_PASSWORD=<strong db password> STAGING_NELC_LRS_PASSWORD=<from NELC portal JSON> BB_APP_KEY=<Blackboard application ID> BB_APP_SECRET=<Blackboard secret> ADMIN_BOOTSTRAP_PASSWORD=admin
DATABASE_URL is set automatically by docker-compose.yml to connect to the postgres service.
Windows (recommended):
.\docker-start.ps1
Or manually:
docker compose up -d --build
This starts:
nelc-postgres — PostgreSQL 15nelc-middleware — admin UI + worker (python run.py)Open http://localhost:8080 (or your ADMIN_PORT).
Quick start credentials (first run):
| Field | Value |
|---|---|
| Username | admin |
| Password | admin |
The API token tab also accepts admin (ADMIN_TOKEN in .env). Change these before production.
elearn.oc.edu.sa.docker compose ps docker compose logs -f middleware docker compose down docker compose up -d --build
Regenerate Staging keys in the NELC portal and paste the password exactly. See Troubleshooting.