Run a Jack Audio Connection Kit server in a container
5.7K
Copyright (c) 2023-2024 JackTrip Labs, Inc. Source code available on GitHub. See MIT License
This repository provides the source code for building a container image to run the Jack Audio Connection Kit server.
It uses Red Hat's Universal Base Images,
in particular ubi-init, to run the jackd server as systemd service. The jackd server
is configued to use the dummy audio backend so that no audio interface is required.
To build a container image using podman:
podman build -t jacktrip/jack .
To run a Jack container using podman:
podman run --name jack --shm-size=384M -d jacktrip/jack
jackd requires the ability to lock about 384MB of shared memory, and
will try to run realtime priority threads. Be sure that your memory
limits (ulimit) are set appropriately.
ulimit -l 128000000
ulimit -r 10
If using docker, you will need to run this as a privileged container:
docker run --name jack --shm-size=384M --privileged -d jacktrip/jack
By default, the servers will run using a sample rate of 48Khz and buffer size of 128. You can override these using the following environment variables:
SAMPLE_RATE: use this to set the sample rate for the jackd server.
Note that all clients connecting to the server must use the same setting.
The default is 48000.
BUFFER_SIZE: use this to set the buffer size, also known as frames
per period, for the jackd server. The default is 128.
JACK_OPTS: use this to override all of the options passed to the
jackd server. SAMPLE_RATE and BUFFER_SIZE will be ignored
if this is defined.
Content type
Image
Digest
sha256:302265acb…
Size
81.5 MB
Last updated
8 months ago
docker pull jacktrip/jack