6
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-12-12 14:17:46 +00:00
Go to file
Kyle McCormick 0ae59a82a6
fix: avoid double-rendering mounts to docker-compose.tmp.yml (#669)
In certain code paths, such as in `tutor local quickstart`,
`process_mount_points` is called more than once in the same process,
causing mounts to be added to `COMPOSE_LOCAL[_JOBS]_TMP` redundantly.
As a result, docker-compose[.jobs].tmp.yml was occasionally being
rendered with duplicate volume specifiers. Some versions of Docker
Compose ignored this; other versions warned or threw an error.

In order to make `process_mount_points` tolerant to being called
multiple times, we wrap its volume-adding callbacks within a new
hooks context. This allows us to clear said hooks context every
time `process_mount_points` is called, essentially making the
function idempotent.

Co-authored-by: Régis Behmo <regis@behmo.com>
2022-07-25 15:58:49 +02:00
.github docs: move forum to discuss.openedx.org 2022-05-23 09:48:19 +02:00
bin feat: migrate to plugins.v1 with filters & actions 2022-04-15 15:30:54 +02:00
docs docs: add missing config parameters from defaults.yaml 2022-07-25 15:43:40 +02:00
requirements v14.0.0: upgrade to Nutmeg 2022-06-09 19:18:20 +02:00
tests fix: avoid double-rendering mounts to docker-compose.tmp.yml (#669) 2022-07-25 15:58:49 +02:00
tutor fix: avoid double-rendering mounts to docker-compose.tmp.yml (#669) 2022-07-25 15:58:49 +02:00
.coveragerc refactor: add code coverage, cover CLI commands with tests 2022-01-04 13:40:33 +01:00
.gitignore refactor: add code coverage, cover CLI commands with tests 2022-01-04 13:40:33 +01:00
.gitlab-ci.yml Move to an included CI configuration file 2020-10-02 15:22:30 +02:00
CHANGELOG-nightly.md docs: improve changelog to highlight 3rd party contributions 2022-05-06 13:58:59 +01:00
CHANGELOG.md fix: avoid double-rendering mounts to docker-compose.tmp.yml (#669) 2022-07-25 15:58:49 +02:00
CONTRIBUTING.rst Clarify contributing/troubleshooting instructions 2020-11-30 15:32:43 +01:00
Dockerfile feat: switch the package name from "tutor-openedx" to "tutor" 2021-07-03 11:07:37 +02:00
LICENSE.txt gpl -> agpl 2019-01-18 15:19:18 +01:00
Makefile feat: migrate to plugins.v1 with filters & actions 2022-04-15 15:30:54 +02:00
MANIFEST.in fix: missing file in pip install tutor[full] 2021-12-20 22:59:21 +01:00
README.rst docs: move forum to discuss.openedx.org 2022-05-23 09:48:19 +02:00
setup.py docs: move forum to discuss.openedx.org 2022-05-23 09:48:19 +02:00
tutor.spec fix: v1 plugins in binary bundle 2022-04-24 15:09:16 +02:00

.. _readme_intro_start:

Tutor: the Docker-based Open edX distribution designed for peace of mind
========================================================================

.. image:: https://overhang.io/static/img/tutor-logo.svg
  :alt: Tutor logo
  :width: 500px
  :align: center

|

.. image:: https://img.shields.io/static/v1?logo=github&label=Git&style=flat-square&color=brightgreen&message=Source%20code
  :alt: Source code
  :target: https://github.com/overhangio/tutor

.. image:: https://img.shields.io/static/v1?logo=discourse&label=Forums&style=flat-square&color=ff0080&message=discuss.openedx.org
  :alt: Forums
  :target: https://discuss.openedx.org/tag/tutor

.. image:: https://img.shields.io/static/v1?logo=readthedocs&label=Documentation&style=flat-square&color=blue&message=docs.tutor.overhang.io
  :alt: Documentation
  :target: https://docs.tutor.overhang.io

.. image:: https://img.shields.io/pypi/v/tutor?logo=python&logoColor=white
  :alt: PyPI releases
  :target: https://pypi.org/project/tutor

.. image:: https://img.shields.io/github/license/overhangio/tutor.svg?style=flat-square
  :alt: AGPL License
  :target: https://www.gnu.org/licenses/agpl-3.0.en.html

.. image:: https://img.shields.io/static/v1?logo=twitter&label=Twitter&style=flat-square&color=1d9bf0&message=@overhangio
  :alt: Follow us on Twitter
  :target: https://twitter.com/overhangio/

.. image:: https://img.shields.io/static/v1?logo=youtube&label=YouTube&style=flat-square&color=ff0000&message=@overhangio
    :alt: Follow us on Youtube
    :target: https://www.youtube.com/c/OverhangIO

**Tutor** is the official Docker-based `Open edX <https://openedx.org>`_ distribution, both for production and local development. The goal of Tutor is to make it easy to deploy, customise, upgrade and scale Open edX. Tutor is reliable, fast, extensible, and it is already used to deploy hundreds of Open edX platforms around the world.

Do you need professional assistance setting up or managing your Open edX platform? Overhang.IO provides online support as part of its `Long Term Support (LTS) offering <https://overhang.io/tutor/pricing>`__.

Features
--------

* 100% `open source <https://github.com/overhangio/tutor>`__
* Runs entirely on Docker
* World-famous 1-click `installation and upgrades <https://docs.tutor.overhang.io/install.html>`__
* Comes with batteries included: `theming <https://github.com/overhangio/indigo>`__, `SCORM <https://github.com/overhangio/openedx-scorm-xblock>`__, `HTTPS <https://docs.tutor.overhang.io/configuration.html#ssl-tls-certificates-for-https-access>`__, `web-based administration interface <https://github.com/overhangio/tutor-webui>`__, `mobile app <https://github.com/overhangio/tutor-android>`__, `custom translations <https://docs.tutor.overhang.io/configuration.html#adding-custom-translations>`__...
* Extensible architecture with `plugins <https://docs.tutor.overhang.io/plugins/index.html>`__
* Works with `Kubernetes <https://docs.tutor.overhang.io/k8s.html>`__
* Amazing premium plugins available in the `Tutor Wizard Edition <https://overhang.io/tutor/wizardedition>`__, including `Cairn <https://overhang.io/tutor/plugin/cairn>`__ the next-generation analytics solution for Open edX.
* No technical skill required with the `zero-click Tutor AWS image <https://docs.tutor.overhang.io/install.html#zero-click-aws-installation>`__

.. _readme_intro_end:

.. image:: ./docs/img/quickstart.gif
    :alt: Tutor local quickstart
    :target: https://terminalizer.com/view/91b0bfdd557

Quickstart
----------

1. Install the `latest stable release <https://github.com/overhangio/tutor/releases>`_ of Tutor
2. Run ``tutor local quickstart``
3. You're done!

Documentation
-------------

Extensive documentation is available online: https://docs.tutor.overhang.io/

Is there a problem?
-------------------

Please follow the instructions from the `troubleshooting section <https://docs.tutor.overhang.io/troubleshooting.html>`__ in the docs.

.. _readme_support_start:

Support
-------

To get community support, go to the official Open edX discussion forum: https://discuss.openedx.org. For official support, please subscribe to a Long Term Support (LTS) license at https://overhang.io/tutor/pricing.

.. _readme_support_end:

.. _readme_contributing_start:

Contributing
------------

We welcome contributions to Tutor! To learn how you can contribute, please check the relevant section of the Tutor docs: `https://docs.tutor.overhang.io/tutor.html#contributing <https://docs.tutor.overhang.io/tutor.html#contributing>`__.

.. _readme_contributing_end: