<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[MiroTalk SFU: Recording not possible?]]></title><description><![CDATA[<p dir="auto">When i try to enable Recording via the env file, the app errors out. Main error:</p>
<pre><code>{
Nov 13 19:11:04 errno: -2,
Nov 13 19:11:04 code: 'ENOENT',
Nov 13 19:11:04 syscall: 'mkdir',
Nov 13 19:11:04 path: '/app/code/app/rec/'
Nov 13 19:11:04 }
</code></pre>
<p dir="auto">So, is it not currently possible to enable Recording at all (Local/S3) ?</p>
]]></description><link>https://forum.cloudron.io/topic/14547/mirotalk-sfu-recording-not-possible</link><generator>RSS for Node</generator><lastBuildDate>Mon, 11 May 2026 05:33:16 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/14547.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Nov 2025 13:55:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Thu, 20 Nov 2025 12:46:35 GMT]]></title><description><![CDATA[<p dir="auto">Ops:</p>
<pre><code>[Server] Rec Finalization error 'Invalid room ID'
</code></pre>
<p dir="auto">Edit: Done in <code>MiroTalk SFU v2.0.24</code></p>
]]></description><link>https://forum.cloudron.io/post/115585</link><guid isPermaLink="true">https://forum.cloudron.io/post/115585</guid><dc:creator><![CDATA[MiroTalk]]></dc:creator><pubDate>Thu, 20 Nov 2025 12:46:35 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Tue, 18 Nov 2025 23:39:35 GMT]]></title><description><![CDATA[<p dir="auto">package with version 2.0.20 is out now</p>
]]></description><link>https://forum.cloudron.io/post/115579</link><guid isPermaLink="true">https://forum.cloudron.io/post/115579</guid><dc:creator><![CDATA[nebulon]]></dc:creator><pubDate>Tue, 18 Nov 2025 23:39:35 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Tue, 18 Nov 2025 11:08:10 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/shrey" aria-label="Profile: shrey">@<bdi>shrey</bdi></a> said in <a href="/post/115544">MiroTalk SFU: Recording not possible?</a>:</p>
<blockquote>
<p dir="auto">Expectation:<br />
Recording should get uploaded to S3 regardless of the path taken to 'stop' the meeting and without explicitly stopping the recording.</p>
</blockquote>
<p dir="auto"><img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/2714.png?v=fed68e33a46" class="not-responsive emoji emoji-android emoji--heavy_check_mark" style="height:23px;width:auto;vertical-align:middle" title=":heavy_check_mark:" alt="✔" />  Done in <strong><code>MiroTalk SFU v.2.0.20</code></strong></p>
<ul>
<li><a href="https://github.com/miroslavpejic85/mirotalksfu/commit/aaa16f5a9e95bee39e19ae9b92cd471a8e4a3509" target="_blank" rel="noopener noreferrer nofollow ugc">Commit</a></li>
<li><a href="https://github.com/miroslavpejic85/mirotalksfu/actions/runs/19463785052/job/55694007681" target="_blank" rel="noopener noreferrer nofollow ugc">Build</a></li>
</ul>
]]></description><link>https://forum.cloudron.io/post/115553</link><guid isPermaLink="true">https://forum.cloudron.io/post/115553</guid><dc:creator><![CDATA[MiroTalk]]></dc:creator><pubDate>Tue, 18 Nov 2025 11:08:10 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Tue, 18 Nov 2025 10:15:16 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/shrey" aria-label="Profile: shrey">@<bdi>shrey</bdi></a> said in <a href="/post/115544">MiroTalk SFU: Recording not possible?</a>:</p>
<blockquote>
<p dir="auto">If, in Step 3:<br />
i stop the Recording and then stop the meeting, then the Recording gets uploaded to S3.</p>
</blockquote>
<p dir="auto">Thanks for pointing that out! I’ll take a look.</p>
]]></description><link>https://forum.cloudron.io/post/115551</link><guid isPermaLink="true">https://forum.cloudron.io/post/115551</guid><dc:creator><![CDATA[MiroTalk]]></dc:creator><pubDate>Tue, 18 Nov 2025 10:15:16 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Tue, 18 Nov 2025 21:37:20 GMT]]></title><description><![CDATA[<h1><img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/26a0.png?v=fed68e33a46" class="not-responsive emoji emoji-android emoji--warning" style="height:23px;width:auto;vertical-align:middle" title=":warning:" alt="⚠" /> IMPORTANT Update in MiroTalk SFU v.2.0.19</h1>
<p dir="auto">To avoid confusion, I’ve updated the environment variables and configuration keys to use a <strong>global <code>S3_</code> prefix</strong>. This makes the configuration compatible with <strong>any S3-compatible storage</strong>, not just AWS.</p>
<h3>Example: DigitalOcean Spaces Configuration</h3>
<pre><code class="language-bash"># Recording
RECORDING_UPLOAD_TO_S3=true           # Upload recordings to S3-compatible storage (MinIO, Wasabi, DigitalOcean Spaces, etc.) (true|false)

# S3-Compatible Storage Configuration
S3_ENABLED=true                       # Enable S3-compatible storage (true/false)
S3_ACCESS_KEY_ID=&lt;key_id&gt;             # Access Key ID (optional if using instance credentials or IAM roles)
S3_SECRET_ACCESS_KEY=&lt;key_secret&gt;     # Secret Access Key (optional if using instance credentials or IAM roles)
S3_BUCKET=&lt;bucket&gt;                    # Name of your bucket (must already exist)
S3_REGION=&lt;region&gt;                    # Region or location (e.g., us-east-2, eu-west-2, or custom for non-AWS providers)
S3_ENDPOINT=https://&lt;region&gt;.digitaloceanspaces.com  # Custom endpoint for S3-compatible services (MinIO, Wasabi, DigitalOcean Spaces, etc.)
S3_FORCE_PATH_STYLE=true              # Use path-style URLs (true/false). Typically true for non-AWS providers
</code></pre>
<p dir="auto"><strong>Notes:</strong></p>
<ul>
<li><code>S3_ENDPOINT</code> is optional if your provider supports automatic resolution from the region.</li>
<li><code>S3_FORCE_PATH_STYLE=true</code> is usually required for providers like <strong>MinIO, Wasabi, or DigitalOcean Spaces</strong>.</li>
</ul>
]]></description><link>https://forum.cloudron.io/post/115550</link><guid isPermaLink="true">https://forum.cloudron.io/post/115550</guid><dc:creator><![CDATA[MiroTalk]]></dc:creator><pubDate>Tue, 18 Nov 2025 21:37:20 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Tue, 18 Nov 2025 09:39:45 GMT]]></title><description><![CDATA[<p dir="auto">Additionally, it seems like if:<br />
Start recording &gt; [time elapses] &gt; Stop recording &gt; Start Recording again &gt; [time elapses] &gt; Stop Recording/Exit Meeting<br />
Only the last recording gets saved (overwriting the first part).</p>
]]></description><link>https://forum.cloudron.io/post/115545</link><guid isPermaLink="true">https://forum.cloudron.io/post/115545</guid><dc:creator><![CDATA[shrey]]></dc:creator><pubDate>Tue, 18 Nov 2025 09:39:45 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Tue, 18 Nov 2025 11:32:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/james" aria-label="Profile: james">@<bdi>james</bdi></a><br />
Current behaviour:</p>
<ol>
<li>I start a meeting as Host</li>
<li>Start the Recording (only Host is allowed to record)</li>
<li>Once meeting is over, i stop the meeting by clicking on "Leave Room"</li>
<li>The recording is available in <code>/app/data/rec</code> but not in S3.</li>
</ol>
<p dir="auto">If, in Step 3:<br />
i stop the Recording and then stop the meeting, only then the Recording gets uploaded to S3.</p>
<p dir="auto">Expectation:<br />
Recording should get uploaded to S3 regardless of the path taken to 'stop' the meeting and without explicitly stopping the recording.</p>
]]></description><link>https://forum.cloudron.io/post/115544</link><guid isPermaLink="true">https://forum.cloudron.io/post/115544</guid><dc:creator><![CDATA[shrey]]></dc:creator><pubDate>Tue, 18 Nov 2025 11:32:05 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Tue, 18 Nov 2025 09:28:07 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/shrey" aria-label="Profile: shrey">@<bdi>shrey</bdi></a></p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/shrey" aria-label="Profile: shrey">@<bdi>shrey</bdi></a> said in <a href="/post/115541">MiroTalk SFU: Recording not possible?</a>:</p>
<blockquote>
<p dir="auto">The S3 upload seems to be triggered only when an ongoing recording is stopped explicitly.</p>
</blockquote>
<p dir="auto">Oh, so you mean if the meeting is exited by a recording member, his recording is not stopped and thus never saved/uploaded?<br />
Could you give more details about what you'd expect and what the current behavior is that you have observed?</p>
]]></description><link>https://forum.cloudron.io/post/115543</link><guid isPermaLink="true">https://forum.cloudron.io/post/115543</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Tue, 18 Nov 2025 09:28:07 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Tue, 18 Nov 2025 09:25:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/james" aria-label="Profile: james">@<bdi>james</bdi></a> said in <a href="/post/115540">MiroTalk SFU: Recording not possible?</a>:</p>
<blockquote>
<p dir="auto">Change AWS_S3_BUCKET_NAME to AWS_S3_BUCKET restart and it should be working.</p>
</blockquote>
<p dir="auto">Thanks!<br />
That did get it working.</p>
<hr />
<p dir="auto"><a class="plugin-mentions-category plugin-mentions-a" href="/category/183/mirotalk" aria-label="Profile: mirotalk-57bab571">@<bdi>mirotalk-57bab571</bdi></a> Just one more kink remaining:</p>
<p dir="auto">When i 'disconnect' the call without stopping the recording, the Recording seems to get saved only in the local directory, and not S3. The S3 upload seems to be triggered only when an ongoing recording is stopped explicitly.</p>
]]></description><link>https://forum.cloudron.io/post/115541</link><guid isPermaLink="true">https://forum.cloudron.io/post/115541</guid><dc:creator><![CDATA[shrey]]></dc:creator><pubDate>Tue, 18 Nov 2025 09:25:38 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Tue, 18 Nov 2025 08:38:01 GMT]]></title><description><![CDATA[<p dir="auto">Ah, I see your issue. You are still using <code>AWS_S3_BUCKET_NAME</code> and not <code>AWS_S3_BUCKET</code> which was posted to be the wrong variable and fixed upstream.<br />
Small detail, leading to fail.<br />
Change <code>AWS_S3_BUCKET_NAME</code> to <code>AWS_S3_BUCKET</code> restart and it should be working.</p>
]]></description><link>https://forum.cloudron.io/post/115540</link><guid isPermaLink="true">https://forum.cloudron.io/post/115540</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Tue, 18 Nov 2025 08:38:01 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Tue, 18 Nov 2025 08:35:57 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/james" aria-label="Profile: james">@<bdi>james</bdi></a></p>
<p dir="auto">MiroTalk SFU 2.0.17</p>
<p dir="auto"><img src="/assets/uploads/files/1763454939424-f539dd60-2ff9-47aa-8e86-557a3643e2a4-image.png" alt="f539dd60-2ff9-47aa-8e86-557a3643e2a4-image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.cloudron.io/post/115539</link><guid isPermaLink="true">https://forum.cloudron.io/post/115539</guid><dc:creator><![CDATA[shrey]]></dc:creator><pubDate>Tue, 18 Nov 2025 08:35:57 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Tue, 18 Nov 2025 08:12:54 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/shrey" aria-label="Profile: shrey">@<bdi>shrey</bdi></a><br />
Just to make doubly so sure, please share your installed app version and confirm that you have restarted the app after the <code>/app/data/env</code> changes.</p>
]]></description><link>https://forum.cloudron.io/post/115534</link><guid isPermaLink="true">https://forum.cloudron.io/post/115534</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Tue, 18 Nov 2025 08:12:54 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Tue, 18 Nov 2025 03:03:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/mirotalk" aria-label="Profile: MiroTalk">@<bdi>MiroTalk</bdi></a> Thanks for sharing the details and the screenshot.</p>
<p dir="auto">In my case, i'm getting this error:</p>
<pre><code>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",
</code></pre>
<p dir="auto"><code>env</code> -&gt;</p>
<pre><code># 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=&lt;bucket&gt;                       # Name of your S3 bucket (must exist)  
AWS_ACCESS_KEY_ID=&lt;key_id&gt;                                # AWS Access Key ID (leave empty for IAM roles)  
AWS_SECRET_ACCESS_KEY=&lt;key_secret&gt;                            # AWS Secret Access Key (leave empty for IAM roles)  
AWS_REGION=&lt;region&gt;                                   # AWS region (e.g., us-east-2, eu-west-2)  
AWS_S3_ENDPOINT=https://&lt;region&gt;.digitaloceanspaces.com
AWS_S3_FORCE_PATH_STYLE=true
</code></pre>
]]></description><link>https://forum.cloudron.io/post/115525</link><guid isPermaLink="true">https://forum.cloudron.io/post/115525</guid><dc:creator><![CDATA[shrey]]></dc:creator><pubDate>Tue, 18 Nov 2025 03:03:05 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Mon, 17 Nov 2025 17:22:41 GMT]]></title><description><![CDATA[<p dir="auto">Created on the fly, I can confirm that the previous configuration works as expected.</p>
<p dir="auto"><img src="/assets/uploads/files/1763400148811-do-spaces-resized.png" alt="do-spaces.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.cloudron.io/post/115510</link><guid isPermaLink="true">https://forum.cloudron.io/post/115510</guid><dc:creator><![CDATA[MiroTalk]]></dc:creator><pubDate>Mon, 17 Nov 2025 17:22:41 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Mon, 17 Nov 2025 20:47:23 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/shrey" aria-label="Profile: shrey">@<bdi>shrey</bdi></a> said in <a href="/post/115508">MiroTalk SFU: Recording not possible?</a>:</p>
<blockquote>
<p dir="auto">No idea. I'm yet to figure out why uploading to S3 (DigitalOcean Spaces) is not working for me.</p>
</blockquote>
<p dir="auto">I don’t have a DigitalOcean Space to test, but in case you want to try, you can add <code>AWS_REGION</code> to your environment config like this:</p>
<pre><code class="language-bash">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
</code></pre>
<h3><img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=fed68e33a46" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /> Notes</h3>
<ol>
<li><strong>Region</strong>: Must match your Space’s region (<code>nyc3</code>, <code>ams3</code>, <code>sgp1</code>, etc.).</li>
<li><strong>Endpoint</strong>: Must include the full URL with <code>https://</code>.</li>
<li><strong>MiroTalk SFU</strong>: Make sure to use at last the <code>v2.0.17</code></li>
</ol>
]]></description><link>https://forum.cloudron.io/post/115509</link><guid isPermaLink="true">https://forum.cloudron.io/post/115509</guid><dc:creator><![CDATA[MiroTalk]]></dc:creator><pubDate>Mon, 17 Nov 2025 20:47:23 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Mon, 17 Nov 2025 16:20:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/mirotalk" aria-label="Profile: MiroTalk">@<bdi>MiroTalk</bdi></a> said in <a href="/post/115506">MiroTalk SFU: Recording not possible?</a>:</p>
<blockquote>
<p dir="auto">Just out of curiosity, on DigitalOcean, the web video preview work there?</p>
</blockquote>
<p dir="auto">No idea. I'm yet to figure out why uploading to S3 (DigitalOcean Spaces) is not working for me.</p>
]]></description><link>https://forum.cloudron.io/post/115508</link><guid isPermaLink="true">https://forum.cloudron.io/post/115508</guid><dc:creator><![CDATA[shrey]]></dc:creator><pubDate>Mon, 17 Nov 2025 16:20:35 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Mon, 17 Nov 2025 15:43:00 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/shrey" aria-label="Profile: shrey">@<bdi>shrey</bdi></a> said in <a href="/post/115423">MiroTalk SFU: Recording not possible?</a>:</p>
<blockquote>
<p dir="auto">AWS_S3_ENDPOINT=https://&lt;region&gt;.digitaloceanspaces.com</p>
</blockquote>
<p dir="auto">Just out of curiosity, on DigitalOcean, the web video preview work there?</p>
<p dir="auto">I'm going also to add also the correct <code>contentType</code> when the recording is uploaded to any S3-compatible storage to <strong>avoid MIME-type issues</strong>.</p>
]]></description><link>https://forum.cloudron.io/post/115506</link><guid isPermaLink="true">https://forum.cloudron.io/post/115506</guid><dc:creator><![CDATA[MiroTalk]]></dc:creator><pubDate>Mon, 17 Nov 2025 15:43:00 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Mon, 17 Nov 2025 09:21:31 GMT]]></title><description><![CDATA[<p dir="auto">By the way, I opened an issue for MinIO here: <a href="https://github.com/minio/minio/issues/21694" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/minio/minio/issues/21694</a></p>
<p dir="auto">It would be great if MinIO could properly show previews for <strong>.webm</strong> videos as well.<br />
When I store the same recording in a <strong>rec folder in Cloudron</strong>, the video <strong>preview works correctly</strong>.<br />
However, when the file is stored in MinIO storage, the preview does not work.</p>
<p dir="auto">It looks like the MIME type is not detected correctly, which causes the video tag to use:</p>
<pre><code>type="video/mp4"
</code></pre>
<p dir="auto">even though the file is actually a <code>.webm</code>.<br />
This prevents browsers from playing the video.</p>
<p dir="auto">Proper support for serving <code>.webm</code> with <code>Content-Type: video/webm</code> would fix the issue.</p>
]]></description><link>https://forum.cloudron.io/post/115472</link><guid isPermaLink="true">https://forum.cloudron.io/post/115472</guid><dc:creator><![CDATA[MiroTalk]]></dc:creator><pubDate>Mon, 17 Nov 2025 09:21:31 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Sun, 16 Nov 2025 16:13:17 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/james" aria-label="Profile: james">@<bdi>james</bdi></a> said in <a href="/post/115462">MiroTalk SFU: Recording not possible?</a>:</p>
<blockquote>
<p dir="auto">PR created <a class="plugin-mentions-category plugin-mentions-a" href="/category/183/mirotalk" aria-label="Profile: mirotalk-57bab571">@<bdi>mirotalk-57bab571</bdi></a> <a href="https://github.com/miroslavpejic85/mirotalksfu/pull/228" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/miroslavpejic85/mirotalksfu/pull/228</a></p>
</blockquote>
<p dir="auto">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! <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4aa.png?v=fed68e33a46" class="not-responsive emoji emoji-android emoji--muscle" style="height:23px;width:auto;vertical-align:middle" title=":muscle:" alt="💪" /></p>
]]></description><link>https://forum.cloudron.io/post/115464</link><guid isPermaLink="true">https://forum.cloudron.io/post/115464</guid><dc:creator><![CDATA[MiroTalk]]></dc:creator><pubDate>Sun, 16 Nov 2025 16:13:17 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Sun, 16 Nov 2025 16:04:59 GMT]]></title><description><![CDATA[<p dir="auto">I found the offending lines:</p>
<p dir="auto"><a href="https://github.com/miroslavpejic85/mirotalksfu/blob/e59b24bb37a7b19560a03de1a5abb5fb79a2c6b4/app/src/config.template.js#L961" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/miroslavpejic85/mirotalksfu/blob/e59b24bb37a7b19560a03de1a5abb5fb79a2c6b4/app/src/config.template.js#L961</a></p>
<pre><code>            bucket: process.env.AWS_S3_BUCKET || 'mirotalk',
</code></pre>
<p dir="auto"><a href="https://github.com/miroslavpejic85/mirotalksfu/blob/e59b24bb37a7b19560a03de1a5abb5fb79a2c6b4/app/src/Server.js#L1118" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/miroslavpejic85/mirotalksfu/blob/e59b24bb37a7b19560a03de1a5abb5fb79a2c6b4/app/src/Server.js#L1118</a></p>
<pre><code>            const bucket = config?.integrations?.aws?.bucket;
</code></pre>
<p dir="auto">This would mean the <code>env</code> would be <code>AWS_S3_BUCKET</code> and not <code>AWS_S3_BUCKET_NAME</code>.<br />
Confirmed with this <code>env</code></p>
<pre><code>
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
</code></pre>
<p dir="auto"><img src="/assets/uploads/files/1763308751817-423a4072-aee5-4995-a69a-960f60ea1a42-image-resized.png" alt="423a4072-aee5-4995-a69a-960f60ea1a42-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">PR created <a class="plugin-mentions-category plugin-mentions-a" href="/category/183/mirotalk" aria-label="Profile: mirotalk-57bab571">@<bdi>mirotalk-57bab571</bdi></a> <a href="https://github.com/miroslavpejic85/mirotalksfu/pull/228" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/miroslavpejic85/mirotalksfu/pull/228</a></p>
]]></description><link>https://forum.cloudron.io/post/115462</link><guid isPermaLink="true">https://forum.cloudron.io/post/115462</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Sun, 16 Nov 2025 16:04:59 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Sun, 16 Nov 2025 15:50:59 GMT]]></title><description><![CDATA[<p dir="auto">I am running the following env file:</p>
<pre><code>
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
</code></pre>
<p dir="auto">This access key and secret have full access to all buckets.<br />
Buckets are <code>backup</code> and <code>sfu</code>.<br />
The <code>backup</code> bucket I used for testing for Cloudron Backups, which works.</p>
<p dir="auto">But with MiroTalk SFU there seems to be an issue:</p>
<pre><code>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'
</code></pre>
<p dir="auto">Without the <code>AWS_S3_FORCE_PATH_STYLE</code> variable I get:</p>
<pre><code>Nov 16 16:44:56 [11/16/2025, 15:44:56:198] [Server] Rec Finalization error 'getaddrinfo ENOTFOUND mirotalk.minio-api.cloudron.dev'
</code></pre>
<p dir="auto">Which would suggest that <code>AWS_S3_BUCKET_NAME</code> which I set to <code>sfu</code> is getting ignored and default <code>mirotalk</code> is used?<br />
So I add the <code>AWS_S3_FORCE_PATH_STYLE=true</code> again and create a bucket named <code>mirotalk</code>.<br />
Confirmed working.</p>
<pre><code>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 ''
</code></pre>
<p dir="auto"><code>/app/data/env</code> is:</p>
<pre><code>
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
</code></pre>
<p dir="auto">And I created a bucket named <code>mirotalk</code>.</p>
<p dir="auto"><img src="/assets/uploads/files/1763308255853-96905172-5b71-467b-ac99-f7d77b79d026-image-resized.png" alt="96905172-5b71-467b-ac99-f7d77b79d026-image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.cloudron.io/post/115461</link><guid isPermaLink="true">https://forum.cloudron.io/post/115461</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Sun, 16 Nov 2025 15:50:59 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Sat, 15 Nov 2025 18:59:24 GMT]]></title><description><![CDATA[<p dir="auto"><img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=fed68e33a46" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /> Implemented in <strong>MiroTalk SFU v.2.0.16</strong></p>
<ul>
<li><a href="https://github.com/miroslavpejic85/mirotalksfu/commit/1106e190901f7ec191a25dc70ac050841e79b128" target="_blank" rel="noopener noreferrer nofollow ugc">Commit</a></li>
<li><a href="https://github.com/miroslavpejic85/mirotalksfu/actions/runs/19394148004/job/55491790713" target="_blank" rel="noopener noreferrer nofollow ugc">Build</a></li>
</ul>
]]></description><link>https://forum.cloudron.io/post/115433</link><guid isPermaLink="true">https://forum.cloudron.io/post/115433</guid><dc:creator><![CDATA[MiroTalk]]></dc:creator><pubDate>Sat, 15 Nov 2025 18:59:24 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Sat, 15 Nov 2025 18:21:51 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-category plugin-mentions-a" href="/category/183/mirotalk" aria-label="Profile: mirotalk-57bab571">@<bdi>mirotalk-57bab571</bdi></a></p>
<p dir="auto">LGTM!<br />
Maybe adding a doc string in the <code>env</code> to <code>AWS_S3_ENDPOINT</code> that if left empty it will use <code>region</code> to resolve it automatically.</p>
]]></description><link>https://forum.cloudron.io/post/115432</link><guid isPermaLink="true">https://forum.cloudron.io/post/115432</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Sat, 15 Nov 2025 18:21:51 GMT</pubDate></item><item><title><![CDATA[Reply to MiroTalk SFU: Recording not possible? on Sat, 15 Nov 2025 17:04:31 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/james" aria-label="Profile: james">@<bdi>james</bdi></a> said in <a href="/post/115424">MiroTalk SFU: Recording not possible?</a>:</p>
<blockquote>
<p dir="auto">Would it be possible to add the option to configure the S3Client endpoint config and S3Client forcePathStyle config?</p>
</blockquote>
<p dir="auto">So the goal is to avoid hard-coding support only for <strong>AWS S3</strong>.<br />
To extend the configuration so it also supports any <strong>S3-compatible storage</strong> (MinIO, Wasabi, DigitalOcean Spaces, etc.), i need to add the following to the <code>.env</code> file:</p>
<pre><code class="language-bash">AWS_S3_ENDPOINT=                     # e.g., http://localhost:9000 for MinIO
AWS_S3_FORCE_PATH_STYLE=false        # Set to true for S3-compatible services
</code></pre>
<p dir="auto">Then expose these values in <code>config.js</code>:</p>
<pre><code class="language-js">aws: {
    // ...
    endpoint: process.env.AWS_S3_ENDPOINT || '',
    forcePathStyle: process.env.AWS_S3_FORCE_PATH_STYLE === 'true',
},
</code></pre>
<p dir="auto">Finally, update the S3 client configuration in <code>Server.js</code>:</p>
<pre><code class="language-js">const s3Client = new S3Client({
    // ...
    endpoint: config?.integrations?.aws?.endpoint || undefined,
    forcePathStyle: config?.integrations?.aws?.forcePathStyle === true,
});
</code></pre>
<p dir="auto">With this setup, the application continues to work with <strong>AWS S3</strong> as it currently does, but can also switch to any <strong>S3-compatible service</strong> simply by adjusting environment variables and no additional code changes required.</p>
<p dir="auto">Sounds good to me! <a class="plugin-mentions-user plugin-mentions-a" href="/user/james" aria-label="Profile: James">@<bdi>James</bdi></a> just confirm.</p>
]]></description><link>https://forum.cloudron.io/post/115431</link><guid isPermaLink="true">https://forum.cloudron.io/post/115431</guid><dc:creator><![CDATA[MiroTalk]]></dc:creator><pubDate>Sat, 15 Nov 2025 17:04:31 GMT</pubDate></item></channel></rss>