A registeryou runyourself.
OpenRegistro is a complete electronic register for K-12 schools: roles for staff, students and families, a daily class register, a weighted gradebook, and an online absence-justification workflow. Install it on your own server or a single container - your students' data never leaves your infrastructure.
How it works
From zero to a running register in three steps - no sales call required.
Install, or get hosted free
Run one Docker command on your own server, or let us set up and host a dedicated instance for you at no cost.
Set up your school
A first-run wizard walks you through your school, classes, subjects, and staff and student accounts.
Run your register
Teachers take attendance and enter grades, families see progress in real time, and everything stays on your own infrastructure.
Try the live demo
This is the real application, not a mockup - a running instance seeded with fictional data, with one login per role so you can see what each kind of user actually sees. It is a shared public demo: data entered here is visible to other visitors and gets reset periodically, so do not use it for anything real.
| Role | Password | What to look at | |
|---|---|---|---|
| School admin | admin@demo.openregistro.local | DemoPassword123! | School records, accounts, the audit log, and term evaluations. |
| Teacher | teacher@demo.openregistro.local | DemoPassword123! | The class register, gradebook, homework, and attendance. |
| Student | student1@demo.openregistro.local | DemoPassword123! | Read-only grades, homework, attendance, and announcements. |
| Guardian | guardian1@demo.openregistro.local | DemoPassword123! | A child's grades and attendance, plus absence justifications. |
Want your own instance instead of a shared one? See Install in minutes below.
Everything a register needs
Built around how schools actually run a register day to day, not around a generic CRUD template.
Role-based access
Admin, secretary, principal, teacher, student and guardian each see exactly what their role needs - nothing more.
Class register
Teachers sign each lesson, log the topic covered, and record attendance - present, absent, late, or early leave.
Weighted gradebook
Grade entry per student and subject, with weighted averages computed automatically from each grade's weight.
Absence justifications
Students and guardians justify an absence online; staff review and approve or reject it, no paper slips.
Your choice of storage
Run on plain JSON files with zero infrastructure, or point at PostgreSQL when you need to scale - same application, same data model.
Self-hosted via Docker
A single docker compose up brings up the full stack. No vendor lock-in, no recurring per-student fees.
Install in minutes
No database required to try it out - the JSON driver stores everything as plain files on disk.
Run locally, no database
$ pnpm install$ pnpm dev:jsonProduction-like stack with PostgreSQL
$ docker compose upDon't want to run a server? We'll host it for you - free.
Your own dedicated instance and database, set up for you at no cost. No fee, no approval step.
Open source, on purpose
OpenRegistro is licensed under AGPL-3.0. For server-side software that schools self-host, AGPL closes the usual "SaaS loophole" of a plain permissive or weak-copyleft license: if someone runs a modified version of OpenRegistro as a network service, they must release the source of that version to the people using it. A vendor can't take this project, fork it into a closed hosted product, and stop contributing back.
That also means you keep every right a school needs: read the code that handles your students' data, run it anywhere, and modify it to fit your own policies.
Frequently asked questions
What do I need to self-host it?
A small server or VM that can run Docker (or Node.js directly), and optionally a PostgreSQL database for production use. The JSON storage driver needs neither a database nor any special infrastructure - it stores data as files on disk.
Who owns the data?
You do. OpenRegistro runs entirely on infrastructure you control, so student and family data never passes through a third-party service. There is no telemetry sent to any external server.
How is this different from a proprietary register?
You can read every line of code that touches your students' data, run it on your own servers instead of a vendor's, and there is no per-student licensing fee. The AGPL-3.0 license also guarantees that improvements made to hosted versions of this project flow back to the community.
Is there a hosted or managed version?
Yes, and it is free. If your school would rather not run a server, we also offer free managed hosting - no fee, no approval step.
Get a free hosted instance