Ubuntu based Membrane Docker image
December 5, 2025 ยท View on GitHub
A Docker image based on Ubuntu, with Erlang, Elixir, Node.js and libraries necessary to test and run the Membrane Framework.
Image has been moved to membraneframeworklabs
Image variants
This image comes in many flavours, based on different Ubuntu releases and package versions:
latest,focal- based on Ubuntu 20.04bionic- based on Ubuntu 18.04, deprecated
Package versions
| Package | bionic | focal | jammy |
|---|---|---|---|
| Erlang | 22.2 | 25.2.3 | 28.1 |
| Elixir | 1.9.4 | 1.14.3 | 1.19.3 |
| Node.js | - | 14.16.1 | 24.11.1 |
| Rust | - | 1.65.0 | 1.91.1 |
| FFmpeg | 4.2.2 | 4.2.2 | 7.1.3 |
| SDL2 | ? | ? | 2.0.20 |
| FDK AAC | 2.0 | 2.0 | 2.0.0 |
| Portaudio | 19.6.0 | 19.6.0 | 19.6.0 |
| MAD | 0.15.1 | 0.15.1 | 0.15.1 |
| FLAC | 1.3.2 | 1.3.2 | 1.3.3 |
| Opus | 1.1.2 | 1.1.2 | 1.3.1 |
| libsrtp2 | - | 2.3.0 | 2.4.2 |
| libnice | - | master (833c1aa) | - |
| libmp3lame | - | 3.100 | 3.100 |
Building the image
To rebuild the image, run the following command:
make build
Optionally, one can add the following variables:
VERSION=string, which adds the variant tag. Set tolatestby default.FLAVOR=string, which selects the flavor (subdirectory of this repository) to build. Set tofocalby default.IMAGE=name, which will override the default image name. If not specified, this is set tomembrane/membrane
Sample usage
Execute the following command while being in your application directory:
make run
or from anywhere:
DIR=/my/app/directory make run
This will start the container with the application directory mapped to /app. Inside the container, go to that directory:
cd /app
and execute your app's code (for example tests)
mix test
Copyright and License
Copyright 2019, Software Mansion
Licensed under the Apache License, Version 2.0