CourseLit

    FeaturesPricingDemoDocsCommunityBlog

    CourseLit

    Legal

    Terms of usePrivacy policyRefund policy

    Compare

    TeachableThinkific
      1. Blog

      2. Better file storage ...

      Better file storage using improved MediaLit architecture

      Rajat Saxena

      Rajat Saxena

      · February 6, 2026

      Table of Contents

        What’s NewMediaLit Dual Bucket Architecture 🗂️What's MediaLit?For Self-Hosted SetupsSteps for migrating both MediaLit and CourseLitThat's it

      We're excited to roll out v0.72.0 with a major MediaLit upgrade that makes your media setup more portable, flexible, and future-proof.

      What’s New

      1. 🗂️ MediaLit Dual Bucket Architecture — MediaLit now supports a dual bucket architecture, making it portable across multiple S3-compatible storage providers.

      MediaLit Dual Bucket Architecture 🗂️

      MediaLit has been upgraded to use a dual bucket architecture i.e. separate buckets for public and private files.

      This allows it to work seamlessly across providers like AWS S3, Cloudflare R2, Backblaze B2, and other S3-compatible services.

      Why it matters

      - Avoids vendor lock-in by supporting multiple S3 providers

      - Makes your media stack portable across infrastructure choices

      What's MediaLit?

      MediaLit is our sister service, also open-source, that gives us super powers on top of vanilla storage capabilities provided by S3 providers.

      For Self-Hosted Setups

      This update is included in v0.72.0.

      Steps for migrating both MediaLit and CourseLit

      1. Follow MediaLit's migration process to move to the dual bucket architecture.

      2. Once MediaLit is migrated, refresh the MediaLit URLs in your CourseLit schools. Following are the steps.

      3. Create a .env file in the packages/scripts folder.

      # Replace with appropriate values
      DB_CONNECTION_STRING=mongodb://localhost/courselit
      MEDIALIT_SERVER=http://localhost:8000
      MEDIALIT_APIKEY=apikey

      4. Run the migration script

      pnpm --filter @courselit/scripts media:refresh --save

      5. Re-deploy the app once done.

      That's it

      We can't wait to see you succeed with CourseLit. For more regular updates, follow us on X