Giter Club home page Giter Club logo

docker-airsonic-advanced's People

Contributors

aptalca avatar chbmb avatar roxedus avatar thespad avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-airsonic-advanced's Issues

[BUG] Issues with variable /dev/snd (Jukebox mode)

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

When the docker is installed on Unraid server without sound card it fails to start due to the variable in the template for jukebox use. The docs say its optional, so I removed it and it starts fine. After my backup script ran and the docker is attempted to restart it fails and I found about 12 variables in the template for /dev/snd at the bottom. After removing them all it starts fine again. This time instead of removing the variable, I set it to /dev/null. I hope this resolves the issue. I think the template needs to be adjusted so headless/soundless installs don't have this problem. At minimum some clarity on the docs about the proper setting to use for headless/soundless installs would be useful.

Expected Behavior

Expected it to install and run fine on servers without sound card. The default should be no sound gear on the server instead of the opposite.

Steps To Reproduce

Install on a server with no sound card, won't start
Remove variable, will start, but variable recreated after restart attempt, then won't start again

Environment

- OS: Unraid 6.9.2
- How docker service was installed:
Unraid Community Applications (Apps)

CPU architecture

x86-64

Docker creation

Default docker install from repo:
lscr.io/linuxserver/airsonic-advanced

Container logs

No log because it won't start

[BUG] Error: Could not find or load main class "-Xmx4096m"

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Setting `JAVA_OPTS="-Xmx4096m" halts startup with this error:

Error: Could not find or load main class "-Xmx4g"
Caused by: java.lang.ClassNotFoundException: "-Xmx4g"
Error: Could not find or load main class "-Xmx4g"
Caused by: java.lang.ClassNotFoundException: "-Xmx4g"

and repeats it

Expected Behavior

Should respect the java args

Steps To Reproduce

Only set JAVA_OPTS to the xmx arg above

Environment

- OS: Ubuntu 20.04
- How docker service was installed: apt-get

CPU architecture

x86-64

Docker creation

airsonic:
    container_name: airsonic
    image: lscr.io/linuxserver/airsonic-advanced:latest
    restart: unless-stopped
    ports:
      - 4040:4040
    environment:
      - PUID=${AIRSONIC_PUID}
      - PGID=${SERVARR_PGID}
      - TZ=America/Los_Angeles
      - JAVA_OPTS="-Xmx4096m"
    volumes:
      - ${APP_PATH}/airsonic:/var/airsonic
      - ${NAS_PATH}/Music/Playlists/MusicBee/Exported Playlists:/var/musicbee_playlists:ro
      - ${NAS_PATH}/Music/Tagged:/Music/Tagged:ro
      - ${NAS_PATH}/Music/TaggedManual:/Music/TaggedManual:ro
    networks:
      - proxy_network


### Container logs

```bash
provided above

Thumbnails fail to generate/Covers are not shown

linuxserver.io


Expected Behavior

Create thumbnails for your media and show your covers

Current Behavior

Thumbnails are not generated, covers are not shown and the log is riddled with errors

Steps to Reproduce

Just create the container

Environment

OS: Debian GNU/Linux 10 (buster)
CPU architecture: x86_64
How docker service was installed: From the official docker repo

Command used to create docker container (run/create/compose/screenshot)

docker run -d
-e JAVA_OPTS="-Dserver.forward-headers-strategy=native -Xmx1024m" -e TZ=Europe/Stockholm
--hostname=$NAME
--ip=$IP
--mac-address=$MAC
--name=$NAME --network=macvlan
--restart=always
-v /mnt/SSD/docker/$NAME/config:/config
-v /mnt/SSD/docker/$NAME/music:/music -v /mnt/SSD/docker/$NAME/podcasts:/podcasts -v /mnt/SSD/docker/$NAME/playlists:/playlists
-v /mnt/HDD/Storage:/mnt/HDD/Storage:ro
$REPO

Docker logs

log.log

[BUG] HTTP Status 400 – Bad Request

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Changing admin password or making a new user

Expected Behavior

It should change the password or make the new user

But I get this

`HTTP Status 400 – Bad Request

Type Exception Report

Message Request header is too large

Description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).

Exception

java.lang.IllegalArgumentException: Request header is too large
org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:790)
org.apache.coyote.http11.Http11InputBuffer.parseHeader(Http11InputBuffer.java:899)
org.apache.coyote.http11.Http11InputBuffer.parseHeaders(Http11InputBuffer.java:604)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:294)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743)
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.base/java.lang.Thread.run(Thread.java:829)

Note The full stack trace of the root cause is available in the server logs.
Apache Tomcat/9.0.60`

Steps To Reproduce

Make a new user and hit save

Environment

- OS: OMV
- How docker service was installed: OMV

CPU architecture

x86-64

Docker creation

---
version: "2.1"
services:
  airsonic-advanced:
    image: lscr.io/linuxserver/airsonic-advanced:latest
    container_name: airsonic-advanced
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - CONTEXT_PATH= #optional
      - JAVA_OPTS= #optional
    volumes:
      - /srv/dev-disk-by-uuid-735cc309-fa91-4d6e-b8af-cd73f972ec7f/Data/DockerData/AirSonic:/config
      - /srv/dev-disk-by-uuid-0386aa39-24c1-4f38-bd21-ff3d49b4d959/Audio/Music:/music
      - /srv/dev-disk-by-uuid-0386aa39-24c1-4f38-bd21-ff3d49b4d959/Audio/Playlists:/playlists
      - /srv/dev-disk-by-uuid-0386aa39-24c1-4f38-bd21-ff3d49b4d959/Audio/Podcasts:/podcasts
    ports:
      - 4040:4040
    devices:
      - /dev/snd:/dev/snd #optional
    restart: unless-stopped

Container logs

No error shown in logs

[BUG] Folders unable to be accesses

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Folders cant be written or accessed
The podcasts directory org.airsonic.player.domain.MusicFolder@20 isn't enabled or writeable.

Expected Behavior

The Server should be able to write and read them

Steps To Reproduce

  1. Install
  2. Add a Podcast
  3. Click on it

Environment

- OS: Ubuntu 22.04
- How docker service was installed: Docker Compose

CPU architecture

x86-64

Docker creation

---
version: "2.1"
services:
  airsonic-advanced:
    image: lscr.io/linuxserver/airsonic-advanced:latest
    container_name: airsonic-advanced
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - CONTEXT_PATH= #optional
      - JAVA_OPTS= #optional
    volumes:
      - /path/to/config:/config
      - /path/to/music:/music
      - /path/to/playlists:/playlists
      - /path/to/podcasts:/podcasts
      - /path/to/other media:/media #optional
    ports:
      - 4040:4040
    devices:
      - /dev/snd:/dev/snd #optional
    restart: unless-stopped

Container logs

Error: No such container "linuxserver.io"

Adding vorbis-tools package to support Gapless Ogg Transcoding

linuxserver.io


Desired Behavior

Transcoding to Ogg should correctly support Gapless playback.

Current Behavior

Using ffmpeg to transcode to Ogg breaks Gapless playback. See:

https://www.reddit.com/r/airsonic/comments/je13cn/transcoding_for_gapless/

The solution is using oggenc from package vorbis-tools instead (personally tested). See:

http://spookypeanut.co.uk/blog/?p=967

Adding vorbis-tools package to the docker image should be easy and shouldn't cause any problems.

Alternatives Considered

none

[BUG] Memory Leak with DLNA server enabled

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

After enabling DLNA, the Airsonic-Advanced server hangs after approx. 48 hours upon reaching the Java heap max limit when docker is run with JAVA_OPTS set to "-Xms256m -Xmx512m". If JAVA_OPTS isn't defined, the server will run, but memory consumption increases continually until eventually the host resources are exhausted. If DLNA option is not enabled, the server's memory consumption is stable.

This issue has also been reported here:
airsonic-advanced/airsonic-advanced#991
airsonic/airsonic#1043

Expected Behavior

Server should be stable with DLNA option enabled.

Steps To Reproduce

  1. Install unRAID server and enable docker from Settings-->Docker
  2. Install linuxserver.io's Airsonic-Advanced docker from Community Apps
  3. Configure data paths, network type: Custom: br:0, etc. Verify JAVA_OPTS is set to -Xms256m -Xmx512m
  4. Login to airsonic-advanced using http://ipaddress:4040/
  5. Click Settings-->DLNA/UPnP
  6. Check box "Enable DLNA Server," set media server name, set LAN server address to http://ipaddress:4040/
  7. Wait 48 hours

Environment

Airsonic-Advanced version: 11.0.0-SNAPSHOT.20230217142243 – February 17, 2023 at 6:22:43 AM
Operating system: Docker on unRAID v6.11.5
Docker version: 20.10.21

CPU architecture

x86-64

Docker creation

docker run
  -d
  --name='airsonic-advanced'
  --net='br0'
  --ip='192.168.1.100'
  -e TZ="America/Los_Angeles"
  -e HOST_OS="Unraid"
  -e HOST_HOSTNAME="Tower"
  -e HOST_CONTAINERNAME="airsonic-advanced"
  -e 'TCP_PORT_4040'='4040'
  -e 'CONTEXT_PATH'=''
  -e 'JAVA_OPTS'='-Xms256m
  -Xmx512m'
  -e 'PUID'='99'
  -e 'PGID'='100'
  -e 'UMASK'='022'
  -l net.unraid.docker.managed=dockerman
  -l net.unraid.docker.webui='http://[IP]:[PORT:4040]'
  -l net.unraid.docker.icon='https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/airsonic-advanced-logo.png'
  -v '/mnt/user/music/':'/music':'ro'
  -v '/mnt/user/music/playlists/':'/playlists':'ro'
  -v '/mnt/user/music/podcasts/':'/podcasts':'rw'
  -v '/mnt/user/music/media/':'/media':'rw'
  -v '/mnt/user/appdata/airsonic-advanced':'/config':'rw'
  --device='/dev/snd'
  --device='/dev/snd' 'lscr.io/linuxserver/airsonic-advanced:latest'
bfade02d8d600d7d7fbae5a6b032a12c46ed344ec58168ee807546c9cf50b533

Container logs

My work-around is a cron job to restart the docker daily to maintain stability and avoid the hang.  As such, no log is available now, but the typical errors seen are hundreds of: "Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "[insertThreadNameHere]""

Setting CONTEXT_PATH is not working

linuxserver.io


Expected Behavior

Setting CONTEXT_PATH (lets use "airsonicadv" as an example) according to the docker-compose example should result in airsonic login page being served at http://my-host:4040/airsonicadv/login

Current Behavior

It is being served at http://my-host:4040/login

The reson seems to be that the file /etc/services.d/airsonic/run needs to be updated to the new format (according to the airsonic-advanced README.md)

The line: -Dserver.contextPath="${URL_BASE}" \
Should be replaced with: -Dserver.servlet.context-path="${URL_BASE}" \

I tried it and it seems to work.

Steps to Reproduce

  1. Set the CONTEXT_PATH env variable, it has no effect

Environment

OS: Ubuntu Server 20.04
CPU architecture: x86_64
How docker service was installed:

From Ubuntu repository

Command used to create docker container (run/create/compose/screenshot)

---
version: "3.5"

services:
  airsonic-advanced:
    image: lscr.io/linuxserver/airsonic-advanced
    container_name: airsonic-advanced
    environment:
      - PUID=123
      - PGID=123
      - TZ=Europe/Stockholm
      - CONTEXT_PATH=/airsonicadv
    volumes:
      - /conf-path/airsonic-advanced:/config
      - /data-path/airsonic-advanced/playlists:/playlists
      - /data-path/airsonic-advanced/podcasts:/podcasts
      - /some-path/music:/music:ro
    ports:
      - 4040:4040
    restart: unless-stopped

Docker logs

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing... 
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 01-migrations: executing... 
[migrations] started
[migrations] no migrations found
[cont-init.d] 01-migrations: exited 0.
[cont-init.d] 10-adduser: executing... 

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    123
User gid:    123
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 19-armless: executing... 
[cont-init.d] 19-armless: exited 0.
[cont-init.d] 50-config: executing... 
[cont-init.d] 50-config: exited 0.
[cont-init.d] 90-custom-folders: executing... 
[cont-init.d] 90-custom-folders: exited 0.
[cont-init.d] 99-custom-files: executing... 
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-files: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
           _                       _          
     /\   (_)                     (_)         
    /  \   _ _ __  ___  ___  _ __  _  ___     
   / /\ \ | | '__|/ __|/ _ \| '_ \| |/ __|    
  / ____ \| | |   \__ \ (_) | | | | | (__     
 /_/    \_\_|_|   |___/\___/|_| |_|_|\___|    
                                               
                        11.0.0-SNAPSHOT



2022-01-27 23:28:06.613  INFO --- org.airsonic.player.Application          : Starting Application v11.0.0-SNAPSHOT using Java 14.0.2 on de4d5b4a6650 with PID 307 (/app/airsonic/airsonic.war started by abc in /app/airsonic)
2022-01-27 23:28:06.616  INFO --- org.airsonic.player.Application          : No active profile set, falling back to default profiles: default
2022-01-27 23:28:10.076  INFO --- l.database.core.HsqlDatabase             : Set default schema name to PUBLIC
2022-01-27 23:28:10.211  INFO --- l.l.StandardLockService                  : Successfully acquired change log lock
2022-01-27 23:28:11.131  INFO --- l.c.StandardChangeLogHistoryService      : Reading from PUBLIC.DATABASECHANGELOG
2022-01-27 23:28:11.264  INFO --- l.l.StandardLockService                  : Successfully released change log lock
2022-01-27 23:28:11.281  INFO --- l.l.StandardLockService                  : Successfully acquired change log lock
2022-01-27 23:28:11.305  INFO --- l.c.StandardChangeLogHistoryService      : Reading from PUBLIC.DATABASECHANGELOG
2022-01-27 23:28:11.366  INFO --- l.l.StandardLockService                  : Successfully released change log lock
2022-01-27 23:28:11.477  INFO --- o.a.p.service.SettingsService            : Java: 14.0.2+14-alpine-r2, OS: Linux, Memory (max bytes): 10458497024
2022-01-27 23:28:11.547  INFO --- org.airsonic.player.Application          : Detected Tomcat web server
2022-01-27 23:28:15.048  INFO --- o.a.p.service.DatabaseService            : Automatic DB backup disabled
2022-01-27 23:28:15.062  INFO --- o.a.p.s.TaskSchedulingService            : Task remote-playstatus-cleanup scheduled
2022-01-27 23:28:15.236  INFO --- o.a.p.s.TaskSchedulingService            : Task podcast-channel-refresh--1 scheduled
2022-01-27 23:28:15.237  INFO --- o.a.p.service.PodcastService             : Automatic default Podcast update scheduled to run every 24 hour(s), starting at 2022-01-27T22:33:15.236485Z
2022-01-27 23:28:15.354  INFO --- o.a.p.s.search.IndexManager              : Index was found (index version 19). 
2022-01-27 23:28:15.356  INFO --- o.a.p.s.TaskSchedulingService            : Task mediascanner-IndexingTask scheduled
2022-01-27 23:28:15.356  INFO --- o.a.p.s.MediaScannerService              : Automatic media library scanning scheduled to run every 1 day(s), starting at 2022-01-28T03:00:00.354923
2022-01-27 23:28:17.555  INFO --- org.airsonic.player.Application          : Started Application in 12.417 seconds (JVM running for 13.013)
2022-01-27 23:28:20.487  INFO --- o.a.p.f.BootstrapVerificationFilter      : Servlet container: Apache Tomcat/9.0.48
2022-01-27 23:28:26.988  INFO --- o.a.p.s.CacheConfiguration$CacheLogger   : Cache Key: admin | EventType: CREATED | Old value: null | New value: admin ["ADMIN","UPLOAD","PODCAST","SHARE","STREAM","COMMENT","JUKEBOX","COVERART","DOWNLOAD","SETTINGS"]
2022-01-27 23:28:27.094  INFO --- o.a.p.s.CacheConfiguration$CacheLogger   : Cache Key: admin | EventType: CREATED | Old value: null | New value: org.airsonic.player.domain.UserSettings@3f1e3baf
2022-01-27 23:28:29.007  INFO --- o.a.p.s.CacheConfiguration$CacheLogger   : Cache Key: /music | EventType: CREATED | Old value: null | New value: music
2022-01-27 23:33:15.237  INFO --- o.a.p.service.PodcastService             : Starting scheduled default Podcast refresh.
2022-01-27 23:33:15.242  INFO --- o.a.p.service.PodcastService             : Completed scheduled default Podcast refresh.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.