latest has minimal dependencies
python includes python
perl includes perl
java includes java
full includes python perl and java
Also added additional openssl dependencies to all 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
On several installs on recent Debian and Ubuntu systems, I have noticed
that GID 999 is already allocated on the system running the container,
making it a minor hassle to share a common freeswitch UID and GID
between the Docker host and the container.
The conflicting group id varies, but is typically either one of the systemd
groups or polkitd, which are dynamically created when those packages are
installed. The behavior stems from the range of system GIDs being
between 100-999 ([see Debian Policy 9.2.2](https://www.debian.org/doc/debian-policy/ch-opersys.html#uid-and-gid-classes))
and the fact that system installation dynamically allocates from this
range. I didn't track down exactly why these daemons are allocating
from the top of the range, since the default behavior of `adduser` and
`addgroup` ([link](6c04aa701a/adduser (L1255-1269)))
is to search from the bottom of the range, and the manpage for
`groupadd` says that it's default is also to use the smallest id,
but perhaps it was to avoid (other) conflicts.
The approach taken in this PR is to default to 499, more in the middle
of the range, which should reduce the chance of conflicting with an
existing system UID and GID. The values are also now exposed as ARGs
and so can be explicitly set during the build with
`--build-arg="FREESWITCH_UID=xxx"` and `--build-arg="FREESWITCH_GID=yyy"`
if desired.
* default to Debian bookworm
* use DEBIAN_VERSION instead of lsb_release; gosu is in Debian since buster
* update comments for FS_META_PACKAGE and exposed ports
* fix SHELL invocation so 'RUN' works as expected in downstream builds
See: https://docs.docker.com/engine/reference/builder/#shell
Updates for the docker configuration to allow for the following:
- Allow for bring in own configuration
- Exposes the Ports needed for non-docker networking
- Allows for mount /tmp to write out logs, etc to the host machine if
configured as so.
- Health check of the freeswitch service