-
I have had that happened with Mirotalk too,. Sometimes update get stuck. Happens less often these days but still sometimes. I either have to restart the app or remove and reinstall.
-
Port allocation behavior
By default, when SFU_SERVER is set to false, the application uses a range of 100 ports.
when SFU_SERVER=true it allocate ports starting from 40000 default + CPU core eg if your server has 4CPU so become 40000 - 40003 (only 3 ports needed)
Cloudron integration
To support this behavior on Cloudron,
SFU_SERVERshould be exposed as a toggle (switch button) in the MiroTalk SFU app settings (Location).
When the switch is enabled, the port allocation logic instart.shcan be updated something as follows:# Enable / disable SFU server (default: false) readonly SFU_SERVER="${SFU_SERVER:-false}" # Number of CPU cores (used only when SFU is enabled) readonly CPU_CORES="$(nproc)" # Base TCP port (default: 25000) readonly SFU_TCP_BASE="${SFU_TCP:-25000}" if [[ "$SFU_SERVER" == "true" ]]; then # SFU enabled: # allocate one port per CPU core readonly SFU_MAX_PORT=$(( SFU_TCP_BASE + CPU_CORES - 1 )) else # Default behavior: # allocate 100 ports starting from the base port readonly SFU_MAX_PORT=$(( SFU_TCP_BASE + 100 )) fi
Benefits of this approach
-
Fewer ports allocated
Only the ports that are actually needed are opened, especially in SFU mode. -
Reduced port conflicts
Smaller port ranges significantly lower the chance of clashes with other services on the same host. -
Better Cloudron compatibility
Minimal port exposure aligns well with Cloudron’s strict networking and security model. -
Scales with hardware
Port allocation automatically adapts to the number of CPU cores available. -
User control
ExposingSFU_SERVERas a switch allows users to explicitly choose whether to run in SFU mode or keep the default behavior.
-
-
@james said in MiroTalk Update regularly fails after update:
Does this have any other effects?
In theory, it shouldn’t have any other effects, as long as the user can switch between these two modes. I’m not entirely sure why Mediasoup doesn’t use a server SFU by default, but you could ask the Mediasoup support forum for clarification.
-
@nebulon It also happens after system updates or restarts. It seems it's a roll of the dice if the ports aren't already taken. 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.
-
@nebulon It also happens after system updates or restarts. It seems it's a roll of the dice if the ports aren't already taken. 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.
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=trueThen restart the instance.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login