Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/overhangio/tutor-minio

This is a plugin for Tutor that provides S3-like object storage for Open edX platforms.
https://github.com/overhangio/tutor-minio

Last synced: 3 months ago
JSON representation

This is a plugin for Tutor that provides S3-like object storage for Open edX platforms.

Awesome Lists containing this project

README

        

Object storage for Open edX with `MinIO `_
=================================================================

This is a plugin for `Tutor `_ that provides S3-like object storage for Open edX platforms. It's S3, but without the dependency on AWS. This is achieved thanks to `MinIO `_, an open source project that provides object storage with an API compatible with S3.

In particular, this plugin is essential for `Kubernetes deployment `_.

Installation
------------

The plugin is currently bundled with the `binary releases of Tutor `_. If you have installed Tutor from source, you will have to install this plugin from source, too::

tutor plugins install minio

Then, to enable this plugin, run::

tutor plugins enable minio

Configuration
-------------

- ``OPENEDX_AWS_ACCESS_KEY`` (default: ``"openedx"``)
- ``OPENEDX_AWS_SECRET_ACCESS_KEY`` (default: ``"{{ 24|random_string }}"``)
- ``MINIO_BUCKET_NAME`` (default: ``"openedx"``)
- ``MINIO_FILE_UPLOAD_BUCKET_NAME`` (default: ``"openedxuploads"``)
- ``MINIO_HOST`` (default: ``"files.{{ LMS_HOST }}"``)
- ``MINIO_CONSOLE_HOST`` (default: ``"minio.{{ LMS_HOST }}"``)
- ``MINIO_DOCKER_IMAGE`` (default: ``"docker.io/minio/minio:RELEASE.2022-05-08T23-50-31Z"``)
- ``MINIO_MC_DOCKER_IMAGE`` (default: ``"docker.io/minio/mc:RELEASE.2022-05-09T04-08-26Z"``)
- ``MINIO_GRADES_BUCKET_NAME`` (default: ``"openedxgrades"``)

These values can be modified with ``tutor config save --set PARAM_NAME=VALUE`` commands.

- ``MINIO_GATEWAY`` (default: ``null``)

This feature allows your to run the MinIO server as a gateway to another object storage solution, such as `S3 `__ or `Azure `__. That way, static assets can be stored on these object storage backends without extensive changes to the Open edX runtime environment.

Note to Azure users: you will have to manually grant public access rights to the ``MINIO_BUCKET_NAME`` ("openedx") bucket.

DNS records
-----------

It is assumed that the ``MINIO_HOST`` DNS record points to your server. When running MinIO on your laptop, the MinIO Web UI will be available at http://minio.local.edly.io. In development mode, the MinIO interface will be available at http://minio.local.edly.io:9001.

Web UI
------

The MinIO web UI can be accessed at http://. The credentials for accessing the UI can be obtained with::

tutor config printvalue OPENEDX_AWS_ACCESS_KEY
tutor config printvalue OPENEDX_AWS_SECRET_ACCESS_KEY

Troubleshooting
---------------

This Tutor plugin is maintained by Fahad Khalid from `Edly `__. Community support is available from the official `Open edX forum `__. Do you need help with this plugin? See the `troubleshooting `__ section from the Tutor documentation.

License
-------

This work is licensed under the terms of the `GNU Affero General Public License (AGPL) `_.