Discount period again active, ending 03/07/2026
https://codecanyon.net/item/mirotalk-webrtc-ultimate-bundle-for-seamless-live-smart-communication/47976343
Thanks for your support, and have a fantastic summer holiday!
οΈ
οΈ
https://codecanyon.net/item/mirotalk-webrtc-ultimate-bundle-for-seamless-live-smart-communication/47976343
Thanks for your support, and have a fantastic summer holiday!
οΈ
οΈ
Mar 30 09:06:14 [3/30/2026, 16:06:14:098] [Server] Failed to detect IP from http://api.ipify.org 'getaddrinfo EAI_AGAIN api.ipify.org'
Mar 30 09:06:14 [3/30/2026, 16:06:14:101] [Server] Failed to detect IP from http://ipinfo.io/ip 'getaddrinfo EAI_AGAIN ipinfo.io'
Mar 30 09:06:14 [3/30/2026, 16:06:14:102] [Server] Failed to detect IP from http://ifconfig.me/ip 'getaddrinfo EAI_AGAIN ifconfig.me'
Mar 30 09:06:14 [3/30/2026, 16:06:14:103] [Server] Public IP detection failed 'All public IP detection services failed! Please check your network connection'
This looks like a network-related issue rather than something specific to MiroTalk.
If SFU_ANNOUNCED_IP is not configured, the system will automatically rely on three external services to determine the instanceβs public IPv4 address.
Is there a firewall or network filter in between that might be blocking traffic?
NOTE: As I can see, on Cloudron this is handled by the command in:
https://git.cloudron.io/packages/mirotalksfu-app/-/blob/main/start.sh#L39
If it fails (mean not set SFU_ANNOUNCED_IP), MiroTalk SFU uses an internal fallback mechanism that queries three external services in sequence to determine a valid public IPv4 address for the instance.
Restarting the app doesn't fix it anymore, so now when it crashes I change the SFU TCP/UDP port range to something else and it works when the app restarts.
This issue can occur if another application is already using ports within the 40000β40100 range. To resolve it, you can either change the port range (for example, starting from 25000)

or enable WebRTC server mode in the env (edit it via Cloudron file manager), which requires fewer ports, as described above.
SFU_SERVER=true
Then restart the instance.
Edit: The second option requires implementation on the Cloudron side, as described here:
https://forum.cloudron.io/post/117374
PS: Fix also done in MiroTalk P2P v.1.7.40 and MiroTalk BRO v.1.1.83 - OIDC auth() middleware now cached (created once, not per-request)
Has anyone else seen this OOM pattern with MiroTalk SFU? Curious whether it's related to a
specific feature (OIDC, recording, etc.) or just general heap growth over time.
Should be done in MiroTalk SFU v2.1.29. The Docker image build is currently in progress...
OOM crash after ~27.5h caused by auth() being re-created on every HTTP request, triggering OIDC discovery each time. When the OIDC provider went down, error objects flooded memory. Several other slow leaks (transport listeners, dangling timeouts, unbounded arrays) compounded it.
Fixed:
auth() middleware now cached (created once, not per-request).once() instead of .on()@pdurante1981 said in Mirotalk SFU remote room control:
Awesome! Thanks for the quick reply and implementation!
You're welcome!
Just a quick reminder to please purchase a license if you plan to use this in a commercial production environment.
Great news @pdurante1981 @nebulon 
The Meeting END API has been implemented in MiroTalk SFU v2.1.20.
This allows you to remotely terminate an active meeting by room name, perfect for billable minutes or subscription-based systems.
New EndpointDELETE /api/v1/meeting/:room
What it does:
Enable the FeatureIn your env file:
API_KEY_SECRET=mirotalksfu_default_secret
API_ALLOW_MEETING_END=true
By default, this endpoint is disabled for security reasons.
Quick Examplescurl -X DELETE http://localhost:3010/api/v1/meeting/test \
-H "authorization: mirotalksfu_default_secret" \
-H "Content-Type: application/json"
curl -X DELETE http://localhost:3010/api/v1/meeting/test \
-H "authorization: mirotalksfu_default_secret" \
-H "Content-Type: application/json" \
-d '{"redirect": "https://docs.mirotalk.com/about"}'
DocumentationFull API reference:
https://docs.mirotalk.com/mirotalk-sfu/api/#meeting-end-entry-point
This should now fully cover your use case for remotely ending meetings when user minutes expire 
For commercial use, an Extended License is required. You can purchase it directly from CodeCanyon here:
https://codecanyon.net/user/miroslavpejic85/portfolio
Regarding call duration, this is supported in both MiroTalk SFU and MiroTalk P2P.
There are two ways to control room duration:
Pass the duration parameter in HH:MM:SS format (e.g. 00:30:00).
Docs:
Include:
duration=HH:MM:SS
Example: 00:30:00
Direct Join API:
When the timer expires, the room closes automatically.
Also check Moderation settingsIn the room settings β Moderation, there is an option:
When presenter leaves the room β disconnect all participants
You can end the meeting for everyone that way as well.
At the moment there isnβt a dedicated endpoint to forcibly close a specific room on demand, but that makes sense for billing use cases, Iβll add it to the roadmap 
Another one simple and easy:
Web: https://alarik.io/minio-alternative
Repo: https://github.com/achtungsoftware/alarik
@robi Checkout also:
Web: https://rustfs.com
Repo: https://github.com/rustfs/rustfs
Demo: https://play.rustfs.com/rustfs/console/
rustfsadminrustfsadminInstallation: https://docs.rustfs.com/installation/docker/
@dualoswinwiz Also, please keep in mind that the MiroTalk Ultimate Bundle includes 5 distinct projects.
You can learn more about them here: https://docs.mirotalk.com/about
For a quick overview, see: https://docs.mirotalk.com/overview
With the Extended License, you can use the items yourself or for a single client in a single end product for which end users can be charged. The total price includes both the item price and a buyer fee. This is a one-time payment that gives you a lifetime license for the products.
@DualOSWinWiz We can add an option to enable recording when a user joins a room, but the recording mode should always be selected by the client for privacy reasons.
Users must remain free to record (or not record) using any of the available recording options.
A quick implementation can be done using a query parameter, for example:
https://sfu.mirotalk.com/join?room=random&name=random&rec=1
rec=0 (default): recording is disabledrec=1: on join, a popup will be displayed allowing the user to choose the preferred recording mode (or cancel)This keeps the feature optional and privacy-compliant while still allowing fast access to recording when needed.
@micmc said in
MIROTALK ULTIMATE BUNDLE β LIMITED-TIME SALE β ENDS 23/01/2026!
:
Thank you so much! I took you on the deal so that's done, so feel free to put back the normal price. My nickname on codecanyon is the same as here.
TTYL
Andy
Youβre very welcome, Andy! 
Amazing, thanks for letting me know. Iβm really glad you took the deal, and I appreciate it a lot. Iβll put the price back to the normal one.
Thank you for support us! 
Hello @DualOSWinWiz,
Thank you for your interest, I will answer you bellow:
MiroTalk SFU supports four different ways to record sessions, including the one you mentioned. You can find more details in this thread:
https://forum.cloudron.io/post/115323
The related updated configuration is available here:
https://forum.cloudron.io/post/115550
Automatic recording on room join is not supported yet. Recording must be manually initialized by the user, who can choose the preferred recording mode:
@micmc said in
MIROTALK ULTIMATE BUNDLE β LIMITED-TIME SALE β ENDS 23/01/2026!
:
Miroslav mate, I cannot believe I may have missed what sounds like a great deal and I'd be glad to support that great work too, I hope it's not too late, I mean that you have a few slots left thank.
Hey, thank you so much! Iβve temporarily adjusted the price to 50% off, so you can purchase one license that includes the full bundle with source code as well and documentations. Once the purchase is completed, Iβll revert the price to the original one. Thanks for the support! 
@timconsidine said in
MIROTALK ULTIMATE BUNDLE β LIMITED-TIME SALE β ENDS 23/01/2026!
:
Itβs simply that I have not yet decided how I will use MiroTalk. But licence in the bag at reasonable cost gives me flexibility (and more to play around with - always need more things to play around with )
Thatβs a great approach! Having the license gives you freedom to explore and play around without pressure. Thanks a bunch! 
Thank you everyone for your support and love for MiroTalk! Iβm always here to help and make it even better. Every contribution, CodeCanyon license, and sponsorship really makes a difference, I truly appreciate it! 
@timconsidine You're welcome, sorry I will try to answer more simple and directly to your previous question:
If a product is actually a service, eg coaching/consulting/tech support, includes mirotalk but doesnβt change anything (branding etc), ie inclusion of mirotalk is incidental to the service, is that commercial?
Yes, your service is commercial, but it is fully compliant with AGPLv3 as long as you use MiroTalk unchanged, do not rebrand it, and follow the AGPL requirements.
To meet company and users requirements, we have introduced two alternative licenses. These apply if you plan in the future to rebrand or customize MiroTalk, or if you want to avoid sharing modifications or source code so to remove AGPL obligations.
By the way, if you are using MiroTalk in compliance with AGPLv3 and earning income, youβre welcome to support us via our sponsor page to help us keep improving it further: https://github.com/sponsors/miroslavpejic85
Itβs not mandatory, but itβs a nice way to say thank you to MiroTalk for your time and dedicated support, and to help make our video conferencing truly ours without any restrictions. 