How to deploy Tutor on a cloud provider with free domainname (demo)

Hi there,

At the beginnings as a developer, I was confusing domain, subdomains, DNS records etc. I thought that make a small deployment, just for demonstrations purposes, may be can be useful for someone.

For this demo cloud provider is Contabo (

Domain provider is Freenom ( )

What we need ?

  • Ubuntu 18.04 or 20.04 LTS linux server ( min. 8GB or more RAM)
  • Domainname (from Go Daddy, Namecheap etc)

Server side configurations:

ssh root@yourserverIP
apt update -y
apt upgrade -y
apt install python3-pip curl git
apt install
adduser edxuser
usermod -aG sudo edxuser
usermod -aG docker edxuser


$ ssh edxuser@yourserverIP
$ sudo curl -L "$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

Domain name:

For this example Domain provider is Freenom. Chose a domain name, Use DNS/use freenom DNS service and give your server IP address

On Contabo DNSZone management give your domain and target IP address which is your server IP.

On your Freenom management tools/Nameservers chose “use custom nameservers

Give this values:


On Contabo console give your DNS records such as domains for LMS, subdomain for CMS etc.


Tutor Installation:

$ sudo curl -L "$(uname -s)_$(uname -m)" -o /usr/local/bin/tutor
$ sudo chmod 0755 /usr/local/bin/tutor
$ tutor local quickstart


Done :slight_smile:



1 Like