A docker image for AirConnect.
The latest images include version 1.11.3.
This is based on this project by philippe44.
It will let you use your upnp renderers (including those created with upmpdcli and mpd) and your Chromecast devices as AirPlay devices.
| REPOSITORY | DESCRIPTION |
|---|---|
| Source code | GitHub |
| Docker images | Docker Hub |
Simply build using the following:
docker build . -t giof71/airconnect:latest
Configuration is available through a set of environment variables.
There are currently just a few variables available to set, but more will come as soon as possible.
| VARIABLE | DESCRIPTION |
|---|---|
| USER_MODE | Allows running using PUID/PGID, defaults to yes |
| USE_CONFIG_VOLUME | Use /config as the config directory, defaults to yes |
| PUID | Group used to run the application, defaults to 1000 |
| PGID | Group used to run the application, defaults to 1000 |
| PREFER_STATIC | Prefer -static version of the executable, defaults to no |
| AIRCONNECT_MODE | AirConnect mode: upnp or cast, defaults to upnp |
| CODEC | Format used to send HTTP audio, refer to the AirConnect documentation |
| LATENCY | Value for argument -l, set to 1000:2000 for Sonos and Heos players |
| CONFIG_FILE_PREFIX | Prefix for the config file, empty by default |
| LOG_LEVEL_ALL | Enables log of type all using the provided value |
| LOG_LEVEL_MAIN | Enables log of type main using the provided value |
| LOG_LEVEL_UTIL | Enables log of type util using the provided value |
| LOG_LEVEL_UPNP | Enables log of type upnp using the provided value |
| LOG_LEVEL_RAOP | Enables log of type raop using the provided value |
| ENABLE_AUTO_NETWORK | Allows to automatically set NETWORK_SELECT, defaults to yes, but this does not override an explicitly set NETWORK_SELECT variable anyway |
| NETWORK_SELECT | Sets the network interface or ip and optionally port |
| AUTO_NETWORK_URL | Used for selecting the network to use, defaults to 1.1.1.1 |
| NETWORK_USE_IP | Use ip instead of network card for -b, defaults to yes |
Please note that the possible values for the variables starting with LOG_LEVEL_ are the following: error, warn, info, debug, sdebug.
You can generate a configuration file for the upnp version using the following command:
docker run -it \
--user 1000:1000 \
--network host \
--rm \
-v ${PWD}:/config \
--entrypoint /app/bin/airupnp-linux \
giof71/airconnect \
-i /config/airconnect-upnp-new.xml
The option --user 1000:1000 is needed if the current directory is owned by your user (use the correct uid/gid if they are not 1000 and 1000 respectively).
This will result in a new file named airconnect-upnp-new.xml in you current directory.
Similarly the command for the cast version is like the following:
docker run -it \
--user 1000:1000 \
--network host \
--rm \
-v ${PWD}:/config \
--entrypoint /app/bin/aircast-linux \
giof71/airconnect \
-i /config/airconnect-cast-new.xml
The resulting file will be of course named airconnect-cast-new.xml.
You can then modify your configuration files to your needs and use them in the your compose file(s) by putting them in the /config volume.
Simple docker-compose files below.
---
version: "3"
volumes:
config:
services:
airconnect:
image: giof71/airconnect:latest
container_name: airconnect-upnp
network_mode: host
environment:
- PUID=1000
- PGID=1000
- AIRCONNECT_MODE=upnp
volumes:
- config:/config
restart: unless-stopped
---
version: "3"
volumes:
config:
services:
airconnect:
image: giof71/airconnect:latest
container_name: airconnect-cast
network_mode: host
environment:
- PUID=1000
- PGID=1000
- AIRCONNECT_MODE=cast
volumes:
- config:/config
restart: unless-stopped
The changelog of the upstream project is available here.
| DATE | DESCRIPTION |
|---|---|
| 2026-09-07 | Bump to version 1.11.3 |
| 2026-08-08 | Bump to version 1.11.2 |
| 2026-08-04 | Bump to version 1.11.1 |
| 2026-06-28 | Bump to version 1.10.1 |
| 2025-11-21 | Bump to version 1.9.3 |
| 2025-10-24 | Bump to version 1.9.2 |
| 2025-10-19 | Fix build adding libatomic1 (see issue #14) |
| 2025-10-11 | Build for arm/v5 instead of arm/v6 |
| 2025-10-11 | Bump to version 1.9.1 |
| 2025-06-16 | Add support for linux/arm/v6 (see issue #8) |
| 2024-10-16 | Add variable USER_MODE and USE_CONFIG_VOLUME |
| 2024-03-15 | Bump to version 1.8.3 |
| 2024-03-11 | Prefer ip over iface for the select network interface |
| 2024-03-09 | Auto select network interface (see #3) |
| 2024-01-26 | Add support for log levels |
| 2024-01-15 | Bump to version 1.7.0 |
| 2024-01-09 | Bump to version 1.6.3 |
| 2023-12-27 | Bump to version 1.6.2 |
| 2023-12-26 | Bump to version 1.6.1 |
| 2023-12-18 | Bump to version 1.6.0 |
| 2023-12-05 | Add support for LATENCY (see #1) |
| 2023-12-05 | Bump to version 1.5.4 |
| 2023-12-02 | Bump to version 1.5.3 |
| 2023-11-28 | Bump to version 1.5.0 |
| 2023-11-22 | First working release |
Content type
Image
Digest
sha256:cd15946aa…
Size
44.1 MB
Last updated
13 days ago
docker pull giof71/airconnect