Back to Apps
Moodle LMS

Deploy Moodle LMS on Your Own Server

Moodle(TM) is a very popular open source learning management solution (LMS) for the delivery of elearning courses and programs.

πŸ“¦ Other

Want to deploy Moodle LMS on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is Moodle LMS?

Moodle Senate installation - From Bitnami Docker Image Note: You should start by configuring your DB first and then comeback with all the DB Information.

Self-Host Moodle LMS

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

Deploy

Copy the configuration and run it on your server.

services:
  moodle:
    image: bitnamilegacy/moodle:latest
    environment:
      ALLOW_EMPTY_PASSWORD: no
      MOODLE_DATABASE_HOST: <service_name>
      MOODLE_DATABASE_NAME: moodle
      MOODLE_DATABASE_PASSWORD: ""
      MOODLE_DATABASE_PORT_NUMBER: "3306"
      MOODLE_DATABASE_TYPE: mariadb
      MOODLE_DATABASE_USER: moodledbuser
      MOODLE_EMAIL: user@example.com
      MOODLE_PASSWORD: password
      MOODLE_SITE_NAME: New site
      MOODLE_SKIP_BOOTSTRAP: no
      MOODLE_USERNAME: admin
      PHP_MAX_EXECUTION_TIME: "30"
      PHP_MAX_INPUT_TIME: "30"
      PHP_MAX_INPUT_VARS: "6000"
      PHP_MEMORY_LIMIT: 256M
      PHP_POST_MAX_SIZE: 100M
      PHP_UPLOAD_MAX_FILESIZE: 100M
    volumes:
      - moodle-moodle:/bitnami/moodle
      - moodle-moodledata:/bitnami/moodledata
volumes:
  moodle-moodle: {}
  moodle-moodledata: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:8080

Why Self-Host Moodle LMS?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

bitnamilegacy/moodle:${md_version}

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"