Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. MiroTalk
  3. MiroTalk SFU: Recording not possible?

MiroTalk SFU: Recording not possible?

Scheduled Pinned Locked Moved MiroTalk
39 Posts 4 Posters 334 Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • MiroTalkM Offline
    MiroTalkM Offline
    MiroTalk
    wrote last edited by
    #30

    ✅ Implemented in MiroTalk SFU v.2.0.16

    • Commit
    • Build
    1 Reply Last reply
    3
    • J joseph marked this topic as a regular topic
    • jamesJ Offline
      jamesJ Offline
      james
      Staff
      wrote last edited by
      #31

      I am running the following env file:

      
      All config options at https://github.com/miroslavpejic85/mirotalksfu/blob/main/.env.template
      PRESENTERS=admin@cloudron.local
      EMAIL_SEND_TO=admin@cloudron.local
      STATS_ENABLED=false
      RECORDING_UPLOAD_TO_S3=true
      AWS_S3_ENABLED=true
      AWS_S3_ENDPOINT=https://minio-api.cloudron.dev
      AWS_S3_BUCKET_NAME=sfu
      AWS_S3_FORCE_PATH_STYLE=true
      AWS_ACCESS_KEY_ID=LJQVOTFR3DZDG1QPOL0Y
      AWS_SECRET_ACCESS_KEY=j6w8j73VF8NE9wzsi4aupJICTrn45I0MKIoYUCk9
      

      This access key and secret have full access to all buckets.
      Buckets are backup and sfu.
      The backup bucket I used for testing for Cloudron Backups, which works.

      But with MiroTalk SFU there seems to be an issue:

      Nov 16 16:43:28 [11/16/2025, 15:43:28:847] [Server] [Upload] Saved Rec_13172BasicZebra_2025_11_16_16_43_23_f6ee8290-dcb8-44ec-b30e-dab24b4bae36.webm (0.07 MB) in 0.00s ''
      Nov 16 16:43:30 [11/16/2025, 15:43:30:316] [Server] Rec Finalization error 'The specified bucket does not exist'
      

      Without the AWS_S3_FORCE_PATH_STYLE variable I get:

      Nov 16 16:44:56 [11/16/2025, 15:44:56:198] [Server] Rec Finalization error 'getaddrinfo ENOTFOUND mirotalk.minio-api.cloudron.dev'
      

      Which would suggest that AWS_S3_BUCKET_NAME which I set to sfu is getting ignored and default mirotalk is used?
      So I add the AWS_S3_FORCE_PATH_STYLE=true again and create a bucket named mirotalk.
      Confirmed working.

      Nov 16 16:49:29 [11/16/2025, 15:49:29:552] [Server] [Upload] Saved Rec_13172BasicZebra_2025_11_16_16_49_23_3e9ab0ce-5148-43b3-a827-e524537fd01b.webm (0.95 MB) in 0.01s ''
      Nov 16 16:49:29 [11/16/2025, 15:49:29:702] [Server] [Upload] Saved Rec_13172BasicZebra_2025_11_16_16_49_23_3e9ab0ce-5148-43b3-a827-e524537fd01b.webm (0.20 MB) in 0.00s ''
      Nov 16 16:49:30 [11/16/2025, 15:49:30:586] [Server] [Rec Finalization] done Rec_13172BasicZebra_2025_11_16_16_49_23_3e9ab0ce-5148-43b3-a827-e524537fd01b.webm in 0.32s {
      Nov 16 16:49:30 success: true,
      Nov 16 16:49:30 fileName: 'Rec_13172BasicZebra_2025_11_16_16_49_23_3e9ab0ce-5148-43b3-a827-e524537fd01b.webm',
      Nov 16 16:49:30 key: 'recordings/13172BasicZebra/Rec_13172BasicZebra_2025_11_16_16_49_23_3e9ab0ce-5148-43b3-a827-e524537fd01b.webm'
      Nov 16 16:49:30 }
      Nov 16 16:49:30 [11/16/2025, 15:49:30:587] [Server] [Upload] File /app/data/rec/Rec_13172BasicZebra_2025_11_16_16_49_23_3e9ab0ce-5148-43b3-a827-e524537fd01b.webm removed from local after S3 upload ''
      

      /app/data/env is:

      
      All config options at https://github.com/miroslavpejic85/mirotalksfu/blob/main/.env.template
      PRESENTERS=admin@cloudron.local
      EMAIL_SEND_TO=admin@cloudron.local
      STATS_ENABLED=false
      RECORDING_UPLOAD_TO_S3=true
      AWS_S3_ENABLED=true
      AWS_S3_ENDPOINT=https://minio-api.cloudron.dev
      AWS_S3_BUCKET_NAME=sfu
      AWS_S3_FORCE_PATH_STYLE=true
      AWS_ACCESS_KEY_ID=LJQVOTFR3DZDG1QPOL0Y
      AWS_SECRET_ACCESS_KEY=j6w8j73VF8NE9wzsi4aupJICTrn45I0MKIoYUCk9
      

      And I created a bucket named mirotalk.

      96905172-5b71-467b-ac99-f7d77b79d026-image.png

      1 Reply Last reply
      0
      • jamesJ Offline
        jamesJ Offline
        james
        Staff
        wrote last edited by james
        #32

        I found the offending lines:

        https://github.com/miroslavpejic85/mirotalksfu/blob/e59b24bb37a7b19560a03de1a5abb5fb79a2c6b4/app/src/config.template.js#L961

                    bucket: process.env.AWS_S3_BUCKET || 'mirotalk',
        

        https://github.com/miroslavpejic85/mirotalksfu/blob/e59b24bb37a7b19560a03de1a5abb5fb79a2c6b4/app/src/Server.js#L1118

                    const bucket = config?.integrations?.aws?.bucket;
        

        This would mean the env would be AWS_S3_BUCKET and not AWS_S3_BUCKET_NAME.
        Confirmed with this env

        
        All config options at https://github.com/miroslavpejic85/mirotalksfu/blob/main/.env.template
        PRESENTERS=admin@cloudron.local
        EMAIL_SEND_TO=admin@cloudron.local
        STATS_ENABLED=false
        RECORDING_UPLOAD_TO_S3=true
        AWS_S3_ENABLED=true
        AWS_S3_ENDPOINT=https://minio-api.cloudron.dev
        AWS_S3_BUCKET_NAME=sfu
        AWS_S3_BUCKET=sfu
        AWS_S3_FORCE_PATH_STYLE=true
        AWS_ACCESS_KEY_ID=LJQVOTFR3DZDG1QPOL0Y
        AWS_SECRET_ACCESS_KEY=j6w8j73VF8NE9wzsi4aupJICTrn45I0MKIoYUCk9
        

        423a4072-aee5-4995-a69a-960f60ea1a42-image.png

        PR created @mirotalk-57bab571 https://github.com/miroslavpejic85/mirotalksfu/pull/228

        MiroTalkM 1 Reply Last reply
        2
        • jamesJ james

          I found the offending lines:

          https://github.com/miroslavpejic85/mirotalksfu/blob/e59b24bb37a7b19560a03de1a5abb5fb79a2c6b4/app/src/config.template.js#L961

                      bucket: process.env.AWS_S3_BUCKET || 'mirotalk',
          

          https://github.com/miroslavpejic85/mirotalksfu/blob/e59b24bb37a7b19560a03de1a5abb5fb79a2c6b4/app/src/Server.js#L1118

                      const bucket = config?.integrations?.aws?.bucket;
          

          This would mean the env would be AWS_S3_BUCKET and not AWS_S3_BUCKET_NAME.
          Confirmed with this env

          
          All config options at https://github.com/miroslavpejic85/mirotalksfu/blob/main/.env.template
          PRESENTERS=admin@cloudron.local
          EMAIL_SEND_TO=admin@cloudron.local
          STATS_ENABLED=false
          RECORDING_UPLOAD_TO_S3=true
          AWS_S3_ENABLED=true
          AWS_S3_ENDPOINT=https://minio-api.cloudron.dev
          AWS_S3_BUCKET_NAME=sfu
          AWS_S3_BUCKET=sfu
          AWS_S3_FORCE_PATH_STYLE=true
          AWS_ACCESS_KEY_ID=LJQVOTFR3DZDG1QPOL0Y
          AWS_SECRET_ACCESS_KEY=j6w8j73VF8NE9wzsi4aupJICTrn45I0MKIoYUCk9
          

          423a4072-aee5-4995-a69a-960f60ea1a42-image.png

          PR created @mirotalk-57bab571 https://github.com/miroslavpejic85/mirotalksfu/pull/228

          MiroTalkM Offline
          MiroTalkM Offline
          MiroTalk
          wrote last edited by
          #33

          @james said in MiroTalk SFU: Recording not possible?:

          PR created @mirotalk-57bab571 https://github.com/miroslavpejic85/mirotalksfu/pull/228

          Ops, you’re right, good catch! PR accepted. Thanks for confirming that everything works as expected. MiroTalk SFU can now upload recordings to any S3-compatible storage, not just AWS! 💪

          1 Reply Last reply
          4
          • MiroTalkM Offline
            MiroTalkM Offline
            MiroTalk
            wrote last edited by MiroTalk
            #34

            By the way, I opened an issue for MinIO here: https://github.com/minio/minio/issues/21694

            It would be great if MinIO could properly show previews for .webm videos as well.
            When I store the same recording in a rec folder in Cloudron, the video preview works correctly.
            However, when the file is stored in MinIO storage, the preview does not work.

            It looks like the MIME type is not detected correctly, which causes the video tag to use:

            type="video/mp4"
            

            even though the file is actually a .webm.
            This prevents browsers from playing the video.

            Proper support for serving .webm with Content-Type: video/webm would fix the issue.

            1 Reply Last reply
            2
            • S shrey

              Hi @james , thanks for the screenshots. I can now see that there's a "Save on server" option in the UI, and it's working for me as well.

              Now, just S3 is left to work.
              My env file ->

              # Recording
              RECORDING_ENABLED=true                           # Enable recording functionality (true|false)
              RECORDING_UPLOAD_TO_S3=false                      # Upload recording to AWS S3 bucket [true/false]
              
              # AWS S3 Configuration  
              AWS_S3_ENABLED=true                              # Enable AWS S3 storage (true|false)  
              AWS_S3_BUCKET_NAME=<bucket-name>                       # Name of your S3 bucket (must exist)  
              AWS_ACCESS_KEY_ID=<key-id>                                # AWS Access Key ID (leave empty for IAM roles)  
              AWS_SECRET_ACCESS_KEY=<key-secret>                            # AWS Secret Access Key (leave empty for IAM roles)  
              AWS_REGION=<region>                                   # AWS region (e.g., us-east-2, eu-west-2)  
              AWS_S3_ENDPOINT=https://<region>.digitaloceanspaces.com
              

              Note: Although i didn't find the "AWS_S3_ENDPOINT" key in the env template, i configured it because it seems to work with most S3 client libraries, and is a necessity to be able to connect to S3 spaces other than AWS.

              MiroTalkM Offline
              MiroTalkM Offline
              MiroTalk
              wrote last edited by MiroTalk
              #35

              @shrey said in MiroTalk SFU: Recording not possible?:

              AWS_S3_ENDPOINT=https://<region>.digitaloceanspaces.com

              Just out of curiosity, on DigitalOcean, the web video preview work there?

              I'm going also to add also the correct contentType when the recording is uploaded to any S3-compatible storage to avoid MIME-type issues.

              S 1 Reply Last reply
              0
              • MiroTalkM MiroTalk

                @shrey said in MiroTalk SFU: Recording not possible?:

                AWS_S3_ENDPOINT=https://<region>.digitaloceanspaces.com

                Just out of curiosity, on DigitalOcean, the web video preview work there?

                I'm going also to add also the correct contentType when the recording is uploaded to any S3-compatible storage to avoid MIME-type issues.

                S Offline
                S Offline
                shrey
                wrote last edited by
                #36

                @MiroTalk said in MiroTalk SFU: Recording not possible?:

                Just out of curiosity, on DigitalOcean, the web video preview work there?

                No idea. I'm yet to figure out why uploading to S3 (DigitalOcean Spaces) is not working for me.

                MiroTalkM 1 Reply Last reply
                0
                • S shrey

                  @MiroTalk said in MiroTalk SFU: Recording not possible?:

                  Just out of curiosity, on DigitalOcean, the web video preview work there?

                  No idea. I'm yet to figure out why uploading to S3 (DigitalOcean Spaces) is not working for me.

                  MiroTalkM Offline
                  MiroTalkM Offline
                  MiroTalk
                  wrote last edited by MiroTalk
                  #37

                  @shrey said in MiroTalk SFU: Recording not possible?:

                  No idea. I'm yet to figure out why uploading to S3 (DigitalOcean Spaces) is not working for me.

                  I don’t have a DigitalOcean Space to test, but in case you want to try, you can add AWS_REGION to your environment config like this:

                  RECORDING_UPLOAD_TO_S3=true                       # Enable uploading recordings to S3-compatible storage
                  AWS_S3_ENABLED=true                               # Enable S3 storage integration
                  AWS_S3_ENDPOINT=https://YOUR-REGION.digitaloceanspaces.com  # DO Spaces endpoint (replace YOUR-REGION)
                  AWS_S3_BUCKET=YOUR-BUCKET                         # Target bucket name
                  AWS_ACCESS_KEY_ID=YOUR-DO-ACCESS-KEY              # Your DO Spaces access key
                  AWS_SECRET_ACCESS_KEY=YOUR-DO-SECRET-KEY          # Your DO Spaces secret key
                  AWS_REGION=YOUR-REGION                            # DO Spaces region (required)
                  AWS_S3_FORCE_PATH_STYLE=true                      # Required for non-AWS S3 providers
                  

                  ✅ Notes

                  1. Region: Must match your Space’s region (nyc3, ams3, sgp1, etc.).
                  2. Endpoint: Must include the full URL with https://.
                  3. MiroTalk SFU: Make sure to use at last the v2.0.17
                  1 Reply Last reply
                  2
                  • MiroTalkM Offline
                    MiroTalkM Offline
                    MiroTalk
                    wrote last edited by
                    #38

                    Created on the fly, I can confirm that the previous configuration works as expected.

                    do-spaces.png

                    S 1 Reply Last reply
                    2
                    • MiroTalkM MiroTalk

                      Created on the fly, I can confirm that the previous configuration works as expected.

                      do-spaces.png

                      S Offline
                      S Offline
                      shrey
                      wrote last edited by
                      #39

                      @MiroTalk Thanks for sharing the details and the screenshot.

                      In my case, i'm getting this error:

                      Nov 18 08:28:31 "app": "Server",
                      Nov 18 08:28:31 "level": "error",
                      Nov 18 08:28:31 "message": "Rec Finalization error"
                      Nov 18 08:28:31 "timestamp": "2025-11-18T02:58:31.414Z",
                      

                      env ->

                      # Recording
                      RECORDING_ENABLED=true                           # Enable recording functionality (true|false)
                      RECORDING_UPLOAD_TO_S3=true                      # Upload recording to AWS S3 bucket [true/false]
                      
                      
                      # AWS S3 Configuration  
                      AWS_S3_ENABLED=true                              # Enable AWS S3 storage (true|false)  
                      AWS_S3_BUCKET_NAME=<bucket>                       # Name of your S3 bucket (must exist)  
                      AWS_ACCESS_KEY_ID=<key_id>                                # AWS Access Key ID (leave empty for IAM roles)  
                      AWS_SECRET_ACCESS_KEY=<key_secret>                            # AWS Secret Access Key (leave empty for IAM roles)  
                      AWS_REGION=<region>                                   # AWS region (e.g., us-east-2, eu-west-2)  
                      AWS_S3_ENDPOINT=https://<region>.digitaloceanspaces.com
                      AWS_S3_FORCE_PATH_STYLE=true
                      
                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Bookmarks
                      • Search