// the find
overhangio/tutor
The Docker-based Open edX distribution designed for peace of mind
Tutor is the official way to run Open edX in Docker. If you need to self-host an LMS/CMS platform (think Coursera-style but yours), this is what you use — it wraps the notoriously complex Open edX stack into a manageable CLI. It's for DevOps teams and institutions running their own e-learning platforms, not general developers.
The plugin architecture is genuinely well-designed — it uses a hooks/filters/actions system that lets plugins modify config, templates, and Docker Compose files without forking core. Kubernetes support is first-class, not an afterthought, with dedicated k8s templates and upgrade paths. The upgrade story is unusually good for a project this complex: versioned releases, a changelog.d fragment system, and explicit upgrade scripts per target version. Test coverage spans CLI commands, config, env rendering, plugin loading, and hook behavior — that's rare for a DevOps wrapper tool.
Open edX itself is the elephant in the room: Tutor can paper over the complexity but can't eliminate it — you're still running MySQL, Redis, Caddy, and multiple Django apps minimum, which means significant resource overhead for anything resembling production. The template rendering approach (Jinja2 over YAML and Python files) makes debugging harder when something goes wrong mid-generate — error messages point at the rendered output, not the source template. Plugin ecosystem quality is uneven; the official plugins are maintained, but third-party ones frequently lag behind named releases. SELinux support is still being patched in (there's a changelog fragment for it from May 2026), which will surprise anyone running RHEL/Fedora in production.