David Heaps 0317da0390 Combined the master and base docker images to create a minimized (app and dependency only) image based and the latest Debian images
Moved from from tar to cp and shell scripting for consistency and correct racing conditions documented in the shell script
Added erlang-base, curl, and ca-certificates
Copied ca-certificates, so Curl functions properly (including internally to freeswitch)
Fixed sound file downloading
Increased the complexity of the default generated password
Merged sudo process, but moved to su-exec from gosu, to clear vulnerabilities
Update Debian distro before freeswitch install, to keep dependencies fully up to date
Updated to the latest Busybox
2024-02-03 14:12:05 -08:00
..
2023-09-09 12:26:04 -04:00

Docker Setup

These are the official Docker files for master branch and the current release packages.

Volumes

These containers are set up so that you can mount your freeswitch configuration from a host or data volume container.

To mount freeswitch Configuration

-v $(pwd)/configuration:/etc/freeswitch

To mount tmp directory for storing recordings, etc

-v $(pwd)/tmp:/tmp

The container also has a healthcheck where it does a fs_cli status check to make sure the freeswitch service is still running.

Ports

The container should be run with host networking using docker run --network host ....

If you prefer to (or for some reason must) publish individual ports via --publish/-p, refer to this issue and this potential workaround regarding using docker with large port ranges.

The following ports will be used, depending upon your specific configuration:

  • 5060/tcp, 5060/udp, 5080/tcp, 5080/udp - SIP signaling
  • 5061/tcp, 5081/tcp - SIPS signaling
  • 5066/tcp, 7443/tcp - WebSocket signaling
  • 8021/tcp - the Event Socket
  • 16384-32768/udp, 64535-65535/udp - media

If you wish to help improve these please submit a pull request at:

https://github.com/signalwire/freeswitch

Thanks, /b