Skip to content

PatrickBaus/freeswitch-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub release Check for new release of FreeSWITCH Check for new release of Sofia License: GPL v3 Docker

FreeSWTICH Docker container

This is an inofficial Docker file for FreeSWITCH. There currently is no official Docker container available from Signalwire except for safarov/freeswitch which has not been updated for years and is currently stuck at version 1.6. This container tracks the official releases.

Contents

Introduction

This Docker container is based on Alpine Linux instead of the Debian base image used by the example Dockerfiles. The container, in contrast to the default FreeSWITCH build, does not contain mod_av and mod_signalwire.

Installation

The container requires a data volume to store the configuration. FreeSWITCH also requires port forwarding of (possibly) a large number of ports. The ports required can be found in the FreeSWITCH documentation, but due to the nature of RTP, the large number of required ports pose an issue with Docker. It is therefore recommended to use host networking mode with this image.

The container can be started via Docker using the following command, but it is recommended to use Docker Compose instead

Docker

docker run -d --net=host --cap-add SYS_NICE -v $(pwd)/configuration:/etc/freeswitch ghcr.io/patrickbaus/freeswitch-docker

The SYS_NICE capability allows FreeSWITCH to adjust its niceness to improve real-time functionality.

Docker compose

An example docker-compose.yml file can be found in the repository and below.

services:
  freeswitch:
    image: ghcr.io/patrickbaus/freeswitch-docker
    container_name: freeswitch
    restart: always
    cap_add:  # Enable RT features
      - SYS_NICE
    network_mode: "host"
    volumes:
      - '/mnt/docker/freeswitch/configs/:/etc/freeswitch/'
      - '/mnt/docker/freeswitch/logs/:/var/log/freeswitch/'

This compose file mounts two volumes into the container, one for the logs and the other for the config files. It also uses host mode for networking and enables SYS_NICE capabilities.

Versioning

I follow the FreeSWITCH releases for version numbering. For the versions available, see the tags available for this repository.

Authors

License

This project is licensed under the GPL v3 license - see the LICENSE file for details.