airsonic-advanced
Airsonic Advanced
1M+
Official Airsonic-Advanced Docker images.
Airsonic-Advanced is a free, web-based media streamer, providing ubiquitous access to your music. It is a more modern implementation of the Airsonic fork with several key performance and feature enhancements. It adds and supersedes several features in Airsonic.
NOTE that the Docker mount points starting after 44c240ad3fe3 [edge-10.6.0-SNAPSHOT.20200303042240, travisbuild-374, gitcommit-587b4be2e66d7fad839de218969fe0cc8c35508c] are different from vanilla Airsonic. Prior to and including these builds, Docker mount points were the same as vanilla Airsonic.
The image runs as user root (0), group root (0) by default. Starting 6c9a7c2891 [edge-11.0.0-SNAPSHOT.20200430182823, gitcommit-6c9a7c28918355bc508c8e07fa8ee8475ff87ef3, gitrun-92425995], you may specify a custom user in two ways:
--user (-u) when invoking the docker run command, and providing it with one or both in the format uid:gidPUID or PGID environment variables to the container image when invoking the docker run command (-e PUID=uid -e PGID=gid)A sample docker run invocation for recent builds may be something akin to:
docker run \
-d \
-u 1000:1000 \
-e TZ=America/Los_Angeles \
-e JAVA_OPTS=-Dserver.forward-headers-strategy=native \
-p 4040:4040 \
-p 4041:4041 \
-v /host/path/to/my/music:/var/music \
-v /host/path/to/my/podcasts:/var/podcasts \
-v /host/path/to/my/playlists:/var/playlists \
-v /host/path/to/my/data:/var/airsonic \
--restart unless-stopped \
airsonicadvanced/airsonic-advanced:latest
Similarly, a sample docker-compose.yml would be:
version: "3"
services:
airsonic-advanced:
container_name: airsonic-advanced
image: airsonicadvanced/airsonic-advanced:latest
restart: unless-stopped
ports:
- 4040:4040
- 4041:4041 #UPnp
user: pid:gid #optional - run container as user
environment:
TZ: America/Los_Angeles #optional - show logs in local timezone
JAVA_OPTS: '-Dserver.forward-headers-strategy=native' #optional - if you use a reverse-proxy
volumes:
- /host/path/to/my/playlists:/var/playlists
- /host/path/to/my/podcasts:/var/podcasts
- /host/path/to/my/data:/var/airsonic
- /host/path/to/my/music:/var/music
For external DBs (like Postgres), the following docker-compose.yml might work:
version: "3.9"
services:
db:
image: postgres:latest
volumes:
- /host/path/to/db/data:/var/lib/postgresql/data
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
airsonic:
image: airsonicadvanced/airsonic-advanced:latest
environment:
spring_datasource_url: 'jdbc:postgresql://db:5432/postgres?stringtype=unspecified&raiseExceptionOnSilentRollback=false'
spring_datasource_username: postgres
spring_datasource_password: postgres
spring_liquibase_parameters_userTableQuote: '"'
volumes:
- /host/path/to/my/music:/var/music
- /host/path/to/my/podcasts:/var/podcasts
- /host/path/to/my/playlists:/var/playlists
- /host/path/to/airsonic/data:/var/airsonic
ports:
- 4040:4040
- 4041:4041
depends_on:
- db
Content type
Image
Digest
sha256:d0c2d5462…
Size
373.6 MB
Last updated
almost 2 years ago
Requires Docker Desktop 4.37.1 or later.