Sign inSign up

jacktrip/jack

By jacktrip

•Updated 8 months ago

Run a Jack Audio Connection Kit server in a container

Image
0

5.7K

jacktrip/jack repository overview

⁠Run a Jack Server in a Container

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.

Tag summary

Content type

Image

Digest

sha256:302265acb…

Size

81.5 MB

Last updated

8 months ago

docker pull jacktrip/jack