Amazon S3 bucket

Repositories ::: repository_s3bucket
Maintained by RenaatRenaat Debleu
S3 folder (bucket) repository.
Latest release:
88 sites
11 fans
Current versions available: 2

Instead of giving all users access to your complete S3 account, this plugin makes it possible to give teachers and managers access to a specific S3 folder (bucket).

Multiple instances are supported, you only have to create a IAM user who has read access to your S3 bucket (but also to your S3 root folder).

This plugin makes it possible to keep large files completely outside your Moodle installation, these files are served to the students using safe urls (urls that are only accessible for a limited time).

The latest versions are depending on the local_aws plugin.  However, if you want to use the latest sdk version, you will have to use the eWallah version that supports all new regions.

build status Coverage Status



Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5


Renaat Debleu (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS


  • Renaat
    Wed, Jun 9, 2021, 12:35 AM
    Hello Juandi,

    it seems I cannot configure the new version of this plugin to work with Moodle 3.9 until MDLSITE-6520 is fixed. So stick for the moment to the older version.

  • Tue, Jul 6, 2021, 8:54 PM
    Thanks for this plugin Renaat. I was able to see the folders on AWS S3 moodle and set some videos as links on a course. My issue though is that when I tried to playback the video it seems AWS S3 video file link is not loading on the course. When I tried to open it using the link only, it gave an AWS error of
    NoSuchKeyThe specified key does not exist.
    It seems that file is missing but when I tried to generate the file link thru AWS S3 website itself its playing normally.

    I'm using the latest version of moodle (newly installed) and AWS SDK eWallah version.
  • Wed, Jul 7, 2021, 4:09 PM
    Ok, we found the culprit, it seems the plugin does not generate the correct presigned URL if the files/bucket are encrypted with server-side encryption (SSE) or S3 managed keys (SSE-S3). After turning that off on the bucket and uploading a non-encrypted file, the NoSuchKey is gone and the video file is now loading/playing. I still wish we can have SSE or SSE-S3 use in the future.
  • Renaat
    Wed, Jul 7, 2021, 4:17 PM
    Hello Sonny,

    Thanks for the update.

    Can you add your SSE wish in the issue tracker?

  • Sat, Jul 17, 2021, 4:00 AM
    I just tried to install this plugin, but now I'm not able to get access back into the moodle server. I get a "This page isn’t working right now" http error 500
  • Renaat
    Sat, Jul 17, 2021, 5:03 PM
    Hello Frank,

    It seems to be you tried to install the plugin without the dependent local_aws plugin. Delete the plugin or install the dependent plugin.
  • Fri, Jul 23, 2021, 1:13 AM
    Does it work with 3.11? Also, could you just limit the aws user/role created for the repository to only have access to the S3 buckets you want.
  • Renaat
    Fri, Jul 23, 2021, 4:03 PM
    Hello Frank,

    This plugin supports Moodle version 3.9, 3.10 and 3.11. Limiting the AWS user created for the repository has to be done in AWS and not in Moodle, otherwise it simply would not be possible that teachers could add private buckets.

  • Tue, Aug 31, 2021, 2:56 PM
    Good day

    I installed the local_aws plugin as required, but after installing this plugin I get the following error:

    Fatal error: Cannot redeclare Aws\manifest() (previously declared in phar:///var/www/moodle/html/lib/aws.phar/Aws/functions.php:385) in /var/www/moodle/html/local/aws/sdk/Aws/functions.php on line 320

    Do you perhaps have any advice in this regard?

    Thanks for the great plugin.

    Kind regards
  • Renaat
    Tue, Aug 31, 2021, 11:22 PM
    Hello Jaco-Louis Kruger,

    THX for your feedback.

    This plugin does not use the aws.phar file, but the local AWS sdk plugin. Probably you have another plugin installed that does rely on the aws.phar file in the Moodle lib directory. Because both sdk's are doing the very same thing, you cannot use both, and you receive a "Cannot redeclare fatal error".

    Or you can remove the aws.phar file or you can try to remove the local/aws plugin and rewrite the plugin to use the lib/aws.phar file, but that will be some work....

  • Tue, Oct 5, 2021, 11:10 PM
    Hi renaaat!

    I would like to use this plugin with MinIO that implements an S3 service compatible with the AWS S3 implementation. I think it would be a matter of choose a personalized host instead of a closed list. It would be possible to implement such thing? A way to choose other servers than the Amazon's servers?

    Best Regards!


  • Renaat
    Tue, Oct 5, 2021, 11:29 PM
    Hi Aruajo,

    I think it is possible, but this has to be done at the local_aws level. So you need to ask your question at the maintainers of the local aws plugin.

  • Wed, Oct 6, 2021, 3:11 AM
    Hi Renaat,

    Sorry not to be clearly. What I'm using is a MinIO in my Docker Swarm cluster. I don´t use other clouds, instead we have our on-premise. So what I'm willing for is to use this in our moodles to integrate them with a bucket served by a MinIO published on site, not in the AWS.


  • Renaat
    Wed, Oct 6, 2021, 4:20 PM
    Hello Aruajo,

    this plugin was also tested using the LocalStack cloud service emulator, so I know this plugin can be used to serve files that are not in the cloud. This is the reason I presume MinIO or Exoscale or other AWS emulators can work. So if the local/aws/sdk/Aws/data/endpoints.json.php is modified to add other endpoints, testing can begin.


  • Wed, Oct 6, 2021, 8:35 PM
    Hi Renaat,

    Very thank you!!! I'll make my labs and update here the success status.

    Best Regards!

Please login to post comments