Sign inSign up

giof71/airconnect

By giof71

Updated 13 days ago

Run AirConnect with docker

Image
1

50K+

giof71/airconnect repository overview

airconnect-docker

A docker image for AirConnect.
The latest images include version 1.11.3.

References

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.

REPOSITORYDESCRIPTION
Source codeGitHub
Docker imagesDocker Hub

Build

Simply build using the following:

docker build . -t giof71/airconnect:latest

Configuration

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.

VARIABLEDESCRIPTION
USER_MODEAllows running using PUID/PGID, defaults to yes
USE_CONFIG_VOLUMEUse /config as the config directory, defaults to yes
PUIDGroup used to run the application, defaults to 1000
PGIDGroup used to run the application, defaults to 1000
PREFER_STATICPrefer -static version of the executable, defaults to no
AIRCONNECT_MODEAirConnect mode: upnp or cast, defaults to upnp
CODECFormat used to send HTTP audio, refer to the AirConnect documentation
LATENCYValue for argument -l, set to 1000:2000 for Sonos and Heos players
CONFIG_FILE_PREFIXPrefix for the config file, empty by default
LOG_LEVEL_ALLEnables log of type all using the provided value
LOG_LEVEL_MAINEnables log of type main using the provided value
LOG_LEVEL_UTILEnables log of type util using the provided value
LOG_LEVEL_UPNPEnables log of type upnp using the provided value
LOG_LEVEL_RAOPEnables log of type raop using the provided value
ENABLE_AUTO_NETWORKAllows to automatically set NETWORK_SELECT, defaults to yes, but this does not override an explicitly set NETWORK_SELECT variable anyway
NETWORK_SELECTSets the network interface or ip and optionally port
AUTO_NETWORK_URLUsed for selecting the network to use, defaults to 1.1.1.1
NETWORK_USE_IPUse ip instead of network card for -b, defaults to yes
Log Level Values

Please note that the possible values for the variables starting with LOG_LEVEL_ are the following: error, warn, info, debug, sdebug.

Generate a configuration file

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.

Run

Simple docker-compose files below.

UPnP mode
---
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
Chromecast mode
---
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

Changelog

The changelog of the upstream project is available here.

DATEDESCRIPTION
2026-09-07Bump to version 1.11.3
2026-08-08Bump to version 1.11.2
2026-08-04Bump to version 1.11.1
2026-06-28Bump to version 1.10.1
2025-11-21Bump to version 1.9.3
2025-10-24Bump to version 1.9.2
2025-10-19Fix build adding libatomic1 (see issue #14)
2025-10-11Build for arm/v5 instead of arm/v6
2025-10-11Bump to version 1.9.1
2025-06-16Add support for linux/arm/v6 (see issue #8)
2024-10-16Add variable USER_MODE and USE_CONFIG_VOLUME
2024-03-15Bump to version 1.8.3
2024-03-11Prefer ip over iface for the select network interface
2024-03-09Auto select network interface (see #3)
2024-01-26Add support for log levels
2024-01-15Bump to version 1.7.0
2024-01-09Bump to version 1.6.3
2023-12-27Bump to version 1.6.2
2023-12-26Bump to version 1.6.1
2023-12-18Bump to version 1.6.0
2023-12-05Add support for LATENCY (see #1)
2023-12-05Bump to version 1.5.4
2023-12-02Bump to version 1.5.3
2023-11-28Bump to version 1.5.0
2023-11-22First working release

Tag summary

Content type

Image

Digest

sha256:cd15946aa

Size

44.1 MB

Last updated

13 days ago

docker pull giof71/airconnect