TalentLMS's Starter plan, for up to 40 users, costs $68 per month or $820 per year. This 40-account limit includes both teachers and students, so a language school or a larger company's HR department hits it faster than you'd expect. Exceeding the limit means upgrading to a more expensive package, so you're paying not for the features you use, but just for the space for another person. Moodle is an open-source LMS platform for running online courses, the same engine used by universities and language schools worldwide, but hosted under your own Domain and without a pre-imposed account limit. Below is a step-by-step guide on how to set up Moodle on Saplo.
Why Moodle instead of TalentLMS
Paid LMS platforms have two licensing model weaknesses that Moodle eliminates:
- The account limit is imposed by the plan, in TalentLMS Starter it's 40 users in total, including teachers and students, and exceeding it requires a more expensive package, even if you only need a few more accounts.
- The fee is fixed and monthly, regardless of whether you run one course or ten, TalentLMS Starter is $68 per month, or $820 per year.
Moodle runs as a Docker container from the legacy image bitnamilegacy/moodle, which shares the Saplo shared MySQL database, the same pattern as with WordPress, Ghost, BookStack, and Nextcloud. The engine sets up a database for it, injects login credentials, and automatically creates an administrator account. The total cost is just the cost of the Box itself, with no per-student fee and no rigid account limit.
Requirements
To install Moodle on Saplo, you need:
- A Box with Docker enabled (the engine automatically enables it during installation from the catalog; container nesting is required, which Saplo has by default).
- A minimum of 1 GB RAM free on the Box and 10 GB of disk space, meaning a Box S plan for $29 per year is sufficient.
- A domain or subdomain
*.saploapp.plincluded with every plan, where the platform will be hosted. - You do NOT manually create a separate database; Moodle gets its own database within Saplo's shared MySQL, and the engine automatically provides access credentials.
You can find a full description of the application and its place in the catalog on the Moodle on Saplo page.
Step-by-step installation
- In the Saplo panel, go to App catalog and select Moodle.
- Select a Box with at least 1 GB of free RAM, where the platform will be hosted, and the domain or subdomain under which it will operate.
- Confirm the installation. The engine sets up a container from the legacy image
bitnamilegacy/moodle, creates an empty database in Saplo MySQL, and starts the database schema installation. This involves several hundred tables, so the first launch might take longer than with lighter recipes. - After the container starts, the engine checks via HTTP if the platform is responding before considering the installation complete.
- The login, a random password, and the administrator account's email are saved to the
MOODLE-SETUP.txtfile in the application directory.
If the page returns an error immediately after installation, it's usually due to ongoing database schema initialization, not a failure.
First configuration
- Log in at the domain address using the data from
MOODLE-SETUP.txt. - Change the administrator password immediately after the first login, in Account Settings.
- Create the first course in Site administration, then Courses, and Manage courses and categories.
- Add teachers and students manually in Users or enable self-registration for students in the authentication settings.
- Cyclic background tasks (notifications, session cleanup, calendar) use the built-in image mechanism every minute; unlike Nextcloud, there is no separate cron container here.
Backup (automatic from Box L, manual snapshot on every plan) covers both data volumes, the installation, and moodledata with uploaded files, so courses, assignments, and materials survive an application directory cleanup.
Moodle on Saplo vs. TalentLMS
| TalentLMS (Starter, up to 40 users) | Moodle on Saplo | |
|---|---|---|
| Billing model | fixed monthly fee for a limit of 40 accounts | cost of the Box itself, no account limit |
| Annual cost | $820 ($68 per month) | $29 (Box S) |
| Student and teacher limit | 40 total, more requires a more expensive plan | no limit, limited by Box resources |
| Data ownership | on TalentLMS servers | on your Box |
| Personalization | limited to platform settings | full, open source, custom themes and plugins |
Frequently asked questions
Do I need to create the database myself? No, Moodle gets its own empty database in Saplo's shared MySQL. The engine automatically passes access data to the container.
Where can I find the administrator password?
In the MOODLE-SETUP.txt file in the application directory on your Box, along with the login and account email address.
Is there a limit to the number of students? There is no license-imposed limit; the only restriction is the resources of the Box on which the installation is running.
Why does the first launch take longer than with other applications? During the first startup, the container installs the database schema, which involves hundreds of tables. So, a temporary error right after installation is usually ongoing initialization, not a failure.
Does the backup include uploaded course materials?
Yes, the backup covers both data volumes, the installation, and moodledata, where the uploaded files are stored.
Which plan is sufficient to start? Box S, with the recipe's minimum requirements (1 GB RAM, 10 GB disk), is the cheapest plan that can handle Moodle, for $29 per year.
If you are currently paying monthly for additional student accounts on TalentLMS or a similar platform, contact us. We will help you set up Moodle and transfer your courses.
- #E-Learning
- #Moodle
- #Guide
- #TalentLMS
