Open-source alternative to Docebo for customer and partner training

Companies that train customers, partners and resellers on Docebo can move each audience to a self-hosted academy on Open edX or Moodle inside their own infrastructure. This page covers the constraints, the options, single sign-on for external users, course sales, reporting and the deployment work.

On this page

Open-source alternative to Docebo for customer and partner training: when it makes sense

Open edX multi-site or separate Moodle instances can host each academy for customers, partners and resellers in your own infrastructure, so the choice is less about whether it is possible and more about how each audience must be branded, identified and charged. Teams usually start looking after a renewal, a data residency requirement, a new identity rule for external users or a wish to control where learner records sit. The answer depends on three questions. First, how branded must each academy be? Open edX runs several sites from one installation with separate look and feel, while separate Moodle instances give each academy full independence at the cost of running more systems. Second, how will external identities be managed? Open edX supports OAuth2 providers, SAML 2.0, Shibboleth and LTI for third-party authentication, and Moodle ships OAuth 2, SAML-based plugins and LTI, so confirm which identity provider your partners already use before choosing.

Third, do you need to sell courses? Neither platform gives you a commerce suite out of the box, so selling training means adding an e-commerce layer and deciding who collects payment, issues invoices and handles refunds. Ask the vendor or integrator to show that path end to end before you commit. Also confirm how each option handles reseller-specific reporting, since a partner academy often needs completion data that the partner can see but other partners cannot. Run this check against your own audience list: count the academies, the external identity sources and the paid courses. If the answers point to few academies with one identity source and no sales, a single Open edX deployment with site separation is usually the simpler starting point. If each academy needs its own administrators, branding and identity rules, separate Moodle instances may fit better.

What separate customer and partner academies require from the platform

Customer and partner academies differ from employee training in who the learners are, how they sign in and whether they pay. The cards below cover the requirements that shape the platform choice, and each one has a concrete check to run against Docebo's current setup before you choose between Open edX and Moodle.

Audience separation and branding

Customers, partners and resellers often need different catalogs, logos, domains and learning paths, and they should never see each other's content. Open edX supports multiple sites from one installation, while Moodle usually means separate instances or categories with their own theme. Map each audience to a site or instance, and list which Docebo branches, catalogs and admin roles you currently use to keep them apart.

External user identity and SSO

External learners sign in with accounts you do not manage in your corporate directory, so self-registration, social logins or federation with your partners' identity providers matter. Open edX third-party authentication covers OAuth2 providers, SAML 2.0, Shibboleth and LTI. Moodle core includes OAuth 2, LDAP, LTI and Shibboleth, and SAML 2.0 is available through a plugin. Confirm which external identity providers your partners use today.

Course sales and enrollment

If you sell courses or grant access through a reseller, the platform needs a checkout, invoice handling, coupon or seat codes, and enrollment rules tied to payment status. Docebo bundles much of this commercial logic, and open-source platforms cover it through add-ons or custom work rather than a single built-in feature set. Ask your team to list every commercial rule Docebo enforces today, then check each one against the e-commerce plugins available for your chosen platform.

Certificates and reporting by audience

Each audience usually needs its own certificate templates and reports, such as partner certification status or customer adoption metrics. Open edX Aspects stores tracking logs as xAPI statements in ClickHouse and presents them in Superset dashboards, which means reporting is a separate system to run. Moodle reports are built into the core and can be extended with plugins. Decide who owns each report and how often partners need access to their own data.

Content standards and package reuse

Docebo accepts SCORM 1.2, SCORM 2004 3rd edition, AICC and xAPI (Tin Can 1.0) packages as ZIP files up to 2 GB. Open edX and Moodle both work with standard packages, so original files from your authoring tools can usually be reloaded, but you must test each package on the target platform. Inventory your package sizes and standards before migration, because any file above the old 2 GB limit will need a different delivery path.

Open edX multi-site or separate Moodle instances: how each option meets the academy model

This table compares Open edX and separate Moodle instances for branded customer and partner academies. Read each row against your audience structure, branding needs and the team you can staff, then confirm the items marked for verification with each vendor or a test deployment before choosing.

RequirementOpen edX (AGPL-3.0)Separate Moodle instances (GPL-3.0)
LicenseAGPL-3.0 for edx-platform, which requires source disclosure for modified network-facing codeGPL-3.0 for core code, with separate licensing terms to review for each third-party plugin
Authoring of course contentOpen edX Studio is the included authoring tool, so course structure is built thereCourse content is built in Moodle's editor and imported packages, with plugins added for advanced authoring
Branding per audienceConfirm how many distinct sites, themes and domains your academies need before choosing multi-site setupEach academy is a separate instance with its own theme, which gives full control but multiplies upgrades
Multi-tenant administrationMulti-site configuration is a platform capability to verify in your target release and Tutor setupAdministration is per instance unless you add a multi-tenant layer, so plan for repeated upgrades and backups
Single sign-on for external usersThird-party auth supports OAuth2 providers, SAML 2.0, Shibboleth and LTICore auth includes OAuth 2, Shibboleth, LDAP and LTI, with SAML2 available through a plugin
Course sales and e-commerceConfirm which payment and enrollment options are available or require a custom build or pluginConfirm the payment gateway and course-sales plugin you would use and its support for each instance
Deployment methodTutor is the official Docker-based distribution with Kubernetes support, and the maintainers advise a service provider or Tutor for productionSelf-hosted install on PHP and a supported database, with the web root set to the /public directory from Moodle 5.1
Team skills neededPython, Django, Docker or Kubernetes, and MySQL, MongoDB and Redis or Memcached operationsPHP, database administration and web server configuration, with plugin management skills
Reporting setupAspects analytics stores xAPI statements in ClickHouse and presents them in Superset dashboardsReporting uses Moodle's built-in reports and external tools, which you should confirm for cross-academy views

How single sign-on for external users works across academies

External learners in a customer or partner academy usually have no account in your corporate directory, so the academy has to authenticate them through a separate identity source. On Open edX, third-party authentication covers the provider types you need: OAuth2 providers (Google, Facebook, LinkedIn and Azure Active Directory by default), SAML 2.0 and Shibboleth, and LTI for tool launches from another platform. Older CAS and SSL client certificate support is provisional, so avoid building new academies on it. On Moodle, the core authentication plugins that fit external users are manual accounts, email self-registration, OAuth 2, SAML-based plugins from the Moodle plugin directory (for example the SAML2 Single sign on plugin, which is not core), and LDAP or external database lookups if the partner already runs one. Which of these you use depends on whether each partner brings its own identity provider or you host accounts for them.

Provisioning and academy mapping are the decisions that cause most rework. Decide, per partner or customer organization, whether accounts are created on first login (just-in-time), by an administrator, or by a bulk import, and whether the organization name arrives as a claim from the identity provider or is set by your team. Then map that value to an academy, a Moodle category or a course-access group, so a reseller sees only its own catalog and certificates. Give each mapping a named owner on your side. Also confirm which attributes the identity provider sends (for example email, a stable user identifier and an organization claim) and which ones the platform will accept as the account key, because changing the key later often creates duplicate learner records.

Before any pilot, confirm the identity provider's configuration, attribute names, signing certificates and metadata exchange in the client's environment, and test a login for each partner type with a non-production account. Confirm who runs the identity provider, how a partner's access is removed when its contract ends, and how session timeouts and multi-factor rules apply to external users. The Open edX identity provider documentation and the Moodle plugin documentation describe the settings, but the exact claims and certificates must come from each partner's own setup.

How to deploy and operate separate academies under the client's control

This sequence takes each customer or partner academy from audience definition to a live, supported site in your own infrastructure, with identity, content, reporting and upgrades handled as repeatable steps. The result is one documented operating model you can audit, hand over and keep current.

  1. Define audiences and tenancy model

    Your product or enablement lead, with legal and security, lists each audience (customers, partners, resellers), the data each one may see, and whether academies need separate sites, separate catalogs on one site, or separate Moodle instances. Pricing, certificates and branding rules go into the same document. The step is done when the tenancy decision is signed off and written down, because identity, reporting and backup design all depend on it. Confirm with your own counsel whether any audience's data must stay in a specific region or account.

  2. Choose Open edX or Moodle

    Your platform team compares the two options against the tenancy decision. Open edX offers Studio for authoring and per-site branding for multi-academy setups, and it can run through Tutor on Docker or Kubernetes or through a managed Open edX provider. Moodle suits teams that prefer separate instances and a larger plugin ecosystem. Open edX states that only the latest named release is supported, so plan upgrades around the current release, not an older one. The step closes with a written platform decision, a hosting model and a named owner. Ask any provider to confirm which release it supports and how fast it moves to new ones.

  3. Build the environment and identity layer

    Your platform and security engineers stand up the chosen platform in your accounts or data centers, with a database, a shared cache and file storage sized to the course packages you plan to host. For each academy, they configure identity: Open edX supports OAuth2 providers, SAML 2.0, Shibboleth and LTI through third-party authentication, and Moodle ships SAML 2.0 through a plugin, with LDAP, OAuth 2 and LTI in core. The step is done when an external test user from each audience signs in through the intended identity provider and lands on their own academy branding. Confirm which identity provider each audience uses before you configure anything.

  4. Migrate and rebuild packaged courses

    Your instructional designers take the original SCORM, AICC and xAPI packages from the authoring tools and load them into the new platform, then rebuild course structure, catalogs and course runs in Open edX Studio or the Moodle course editor. Pricing and enrollment rules are rebuilt by hand or through scripts, not copied from Docebo. The step is done when each course launches in a test learner account and reports completion to the platform. Keep the original packages in your own storage as the source of record, and confirm the package format each course uses before loading it.

  5. Configure reporting and learner records

    Your data team decides what each academy's administrators can see, then sets up reporting. Open edX Aspects captures tracking logs as xAPI statements, stores them in ClickHouse through Ralph or Vector and presents them in Superset dashboards. Moodle reporting depends on its own reports and any xAPI learning record store you add. Historical completions and learner records exported from Docebo are loaded separately and checked against source totals. The step is done when a sample academy's report matches a known set of test completions. Ask your reporting team to confirm the access rules per audience before any external user logs in.

  6. Test and cut over each academy

    Your QA lead, with business owners from each audience, runs functional tests for enrollment, payment or access rules, certificates, SSO, mobile use and reporting. Security testers check the external-facing sign-in paths and the admin interfaces. For Moodle 5.1 and later, the web server document root must point to the new /public directory instead of the main Moodle folder, or the site may show directory listings or errors. Cut over one academy at a time, keep the Docebo tenant running in read-only mode until the migrated data is confirmed, and publish the new academy URLs to partners. The step is done when each academy has a signed acceptance and a rollback plan.

  7. Run backups, upgrades and support

    Your operations team schedules backups for databases, file storage and configuration, tests restores on a set cadence, and tracks the platform release calendar. Moodle publishes major releases in April and October and point releases every two months, and it publishes which releases receive security support, so confirm your current version against that calendar. Open edX supports only its latest named release, so plan an upgrade path onto each new release. The step is done when a restore has been tested, an upgrade runbook exists, and a named owner receives security notices. Ask any support provider which versions they cover and what they do when a release leaves support.

What the reporting setup takes for each audience

Reporting has to be separated by audience before any platform is chosen, because customers, partners and resellers each need different views of progress and each group's records carry different commercial and contractual weight. Keep the completion history in its own export, separate from the course packages. Docebo's SCORM, AICC and xAPI packages can be reloaded, but learner records, enrollments and completion dates do not travel with them, so you must pull those through Docebo's export services and map them to the new platform's learner identifiers. Decide early which audience's history must be retained for contractual or certification purposes, and confirm the retention period with your legal and compliance owners before the export is scheduled.

Open edX Aspects is the reporting route to evaluate for a branded academy. Its event-routing-backends plugin captures tracking logs as xAPI statements, stores them in a ClickHouse database through Ralph or Vector, and presents them in Superset dashboards. Running that stack is operational work in its own right: you will maintain ClickHouse, the routing pipeline, Superset and their upgrades alongside the LMS, and you will need someone who can troubleshoot a dropped event or a dashboard that stops refreshing. Ask your Open edX provider or DeployOpen for the hosting footprint, backup approach and who owns on-call response for the analytics layer, and confirm that the Superset dashboards can be scoped per audience so partners cannot see customer data.

Moodle reporting follows a different model. Confirm with your Moodle partner or integrator which built-in reports, completion tracking and external reporting connections your chosen version provides for separate partner and customer cohorts, and whether an xAPI learning record store is needed for the content you have. If you choose a separate learning record store, confirm which xAPI version it accepts, how it authenticates senders, and how it handles statements from packages that were built against SCORM rather than xAPI. Ask for a written report specification per audience, with a sample export that you can check against the completion history you pulled from Docebo before you retire the old tenant.

Evidence to keep for customer and partner academies

A self-hosted academy for customers and partners creates records that a commercial SaaS vendor used to hold for you. The items below are the ones assessors, partner managers and your own security team will ask for, and each one needs an owner and a refresh schedule. DeployOpen prepares these systems, controls and evidence for compliance assessments, but independent auditors and certification bodies issue any reports or certifications.

Data flow diagrams for external learners

Map where customer and partner learner data goes: the Open edX LMS, Studio, the database, the cache, the email relay, the SSO provider, the xAPI or analytics stack and any backup target. Mark which fields are personal data, which hold partner-company identifiers, and which leave your network. Illustrative example: a partner's enrollment record that passes from the identity provider into the LMS and then into a reporting dashboard should appear as three labeled flows. Review the diagram whenever a new academy or plugin is added.

SSO configuration records

Keep a versioned record of each identity provider connection: protocol, metadata source, attribute mappings, certificate expiry dates and who approved the change. Open edX third-party authentication supports OAuth2 providers, SAML 2.0, Shibboleth and LTI, so state which one each academy uses. Record how external accounts are provisioned and deprovisioned, because customer and partner users often leave their companies without notice.

Access reviews per academy

Run a recurring review of who holds instructor, staff and administrator roles in each academy, and of which partner organizations can see which courses. Separate reviews matter because a reseller academy and a customer academy often share a platform but must not share learner records. Ask your partner managers to confirm each list, and keep the signed results with the date and reviewer name.

Backup and restore tests

A backup is only evidence once a restore has been performed. Record the date of each restore test, the environment used, the time to a working LMS and whether learner records, course content and certificate files came back intact. Cover the database, the media and course storage and the configuration that holds SSO settings. Confirm the restore procedure with your hosting provider or Tutor deployment before relying on it.

Upgrade records against the supported release

Open edX states that the latest named release is the only supported release, so record which release each environment runs and when it moved. Keep the changelog review, test results and rollback plan for each upgrade. Moodle works differently, with its own long-term support schedule, so track the release line you chose separately from any Open edX deployment. Check the current support dates in the vendor documentation before each planning cycle.

Reporting and certificate records

Keep the completion reports, certificate templates, issue logs and the xAPI or analytics data that support them. Customer and partner programs often promise certificates tied to a specific course version, so store the course version alongside each issued certificate. Confirm how long reporting data is kept and who can export it, because partners may ask for their own learners' records at contract end.

What does an Open edX or Moodle academy migration cost and need from our team?

What are the main cost components of an Open edX or Moodle customer academy?

The software itself has no license fee for either platform, so cost sits in hosting, storage, identity integration, course rebuilding, reporting and support. Moodle is licensed under GPL-3.0 and Open edX under AGPL, so you pay for infrastructure and people rather than seats. Hosting and storage recur every month. Course rebuild, SSO setup, e-commerce and reporting are mostly one-time build work, although each needs upkeep after launch. Ask every bidder to split their quote into these components so you can compare them on equal terms.

What drives hosting and storage cost for course packages?

Hosting cost follows the number of concurrent learners, the size of your course library and how often you run peak events such as partner certification launches. Storage grows with uploaded SCORM, AICC and xAPI packages, which Docebo accepts as ZIP files of up to 2 GB each according to Docebo's system requirements page. Ask for storage sized on your largest packages and your expected growth, and confirm whether video is hosted in the academy or streamed from another service, since that changes the bill more than package size does.

Can our team run the migration without an outside implementation partner?

A team with Linux, database, web server and identity skills can do it, but the Open edX maintainers recommend a service provider or Tutor for production, and note that bare-metal installation is complex with limited community support, according to the edx-platform GitHub repository. Moodle is simpler to install, but it still needs someone who owns upgrades. Be honest about your capacity: if nobody on your team has run an LMS in production, a fixed-scope implementation plus a support plan usually costs less than learning on live customers.

What time drivers should we plan around in an academy migration?

Time depends on the number of courses to rebuild, how many audiences you serve (customers, partners and resellers each need their own catalog and rules), how many identity providers you connect and how much completion history must move. Content reloads are usually the fastest part. Separate instances or multi-site setups add work for each branded site. No fixed duration applies to every academy, so ask bidders for a timeline built from your course count and audit list, not a generic estimate.

What does the work need from our side?

You will need a named business owner for each audience, an inventory of courses and their original authoring files, a list of external users and their identity sources, and decisions on certificates, pricing and refund rules. Your security team should set requirements for SSO, logging and access reviews, and your finance team should confirm how payments and invoices flow. Learner records from Docebo must be exported separately from the packages, so confirm early who will run that export and who signs off the data.

How do we handle course sales in an open-source academy?

Selling courses requires an e-commerce or payment layer, which is separate from the LMS core. Moodle has enrolment and payment plugin options, and Open edX has e-commerce capabilities that are usually set up through its own services, so confirm the exact components for your chosen platform and version. Ask bidders which payment processor they will integrate, how tax and invoices are generated, and who maintains that integration after launch, because payment code is one of the most frequent sources of recurring upkeep.

What should we ask for in a fixed-scope quote?

Ask for a written scope listing each platform component, the number of courses and audiences in scope, identity integrations, reporting outputs, data migration steps and acceptance criteria. Require separate line items for one-time build, hosting setup, and recurring support or upgrades, plus the platform version and its support window. DeployOpen plans and implements in your own infrastructure and prepares evidence for compliance reviews, but it does not issue audit reports or certifications, so ask the auditor you plan to use what evidence they need before work starts.

How DeployOpen deploys separate academies under your control

DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source learning platforms inside your own cloud accounts, data centers or air-gapped networks. For customer and partner academies, we start by agreeing on how each audience is separated, authenticated and reported on, then build and hand over the academies in writing against that scope.

How we scope

  • Map each audience, such as customers, partners and resellers, to a separate academy, site or Moodle instance before any build starts.
  • Record which single sign-on providers external users will sign in with, and which identity provider records remain authoritative.
  • Agree in writing which course packages, catalog rules, sales or enrollment features and reporting outputs are in scope.
  • Confirm which features of your current Docebo setup you will not carry over, such as marketplace content or built-in AI features.

How we build

  • Set up Open edX multi-site or separate Moodle instances in your infrastructure, using the platform's supported install path and deployment method.
  • Configure third-party authentication for external users, testing each identity provider path, including account linking and logout behavior.
  • Reload existing SCORM, AICC and xAPI packages and test completion tracking, certificates and enrollments for each academy.
  • Build the reporting pipeline for xAPI or learning records and test dashboards against sample data before any live learner data moves.

How we hand over

  • Deliver architecture, configuration and runbook documentation for each academy, including upgrade and backup procedures.
  • Document the processes for creating courses, enrolling external users and issuing certificates, so your own teams can run them.
  • Provide the test results, access records and configuration evidence needed for your own security or compliance reviews.
  • Walk your administrators through operations and record which items remain open at handover.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers after handover, scoped separately from the build.
  • Plan platform upgrades against the release schedule of the platform you chose, and test each upgrade in a staging environment first.
  • Review access, single sign-on configuration and reporting pipelines after changes to identity providers or academy content.
  • Ask for a written quote based on the agreed scope, since DeployOpen does not publish a price list.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.