Giter Club home page Giter Club logo

docker-booksonic-air's Issues

Build assumes umask is 0002

Decided not to PR this because the problem and the fix are trivial and I didn't want to kick off another CI build. Something like the following is required (for all archs)

--- ../docker-booksonic-air.sd/Dockerfile.armhf 2022-06-06 14:38:12.824342268 +0100
+++ Dockerfile.armhf    2022-06-06 14:33:45.435119031 +0100
@@ -45,6 +45,7 @@
 
 # add local files
 COPY root/ /
+RUN chmod a+rx /etc
 
 # ports and volumes
 EXPOSE 4040

linuxserver.io


Expected Behavior

Build should not depend on details of developer's environment, e.g. umask.

Current Behavior

docker/buildah copies the permissions of source files when using the COPY Dockerfile command; if developer's umask is 0007, this means read access is denied for non-root users to any files copied in and any parent directories touched in the process.
In this project, files are copied into /etc, so /et ends up lacking world-read permissions. /etc/services.d/booksonic-air/run then uses s6-setuidgid to become user abc, and consequently fails to run the java command, as it is a symlink into /etc/alternatives.

Steps to Reproduce

Set umask to 0007, build the project, test.

Environment

**OS:**Ubuntu 22.04 (build); Raspbian 10 (target/test)
CPU architecture: x86_64 (build); arm32 (target/test)
How docker service was installed:
podman and buildah installed from the 'kubic' repo linked from the official podman install instructions.

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

/usr/bin/podman run --conmon-pidfile %t/container-booksonic-air.pid --cidfile %t/container-booksonic-air.ctr-id --cgroups=no-conmon -d --name=booksonic-air -e JAVA_OPTS="-Xmx350m" -e PUID=1000 -e PGID=10000 -e TZ=Europe/London -e CONTEXT_PATH=booksonic -p 8080:4040 -v /config/booksonic-air:/config -v /vol/media:/vol/media -v /vol/media-audio:/vol/media-audio b88e3468e198

Docker logs

Jun 05 03:19:38 ocihost conmon[1896]: s6-applyuidgid: fatal: unable to exec java: Permission denied

Document JAVA_OPTS in readme

linuxserver.io


Desired Behavior

JAVA_OPTS should be documented, as it is with linuxserver/docker-airsonic

Current Behavior

JAVA_OPTS applies here, but is not documented in this image's readme. In addition, it may be worthwhile documenting usage of 'server.use-forward-headers=true' as an option when reverse proxying. I've seen issues in Airsonic's own repo mentioning that Nginx works as expected, but using Traefik here (albeit sending expected headers, including X-Forwarded-Proto) and had to explicitly set this parameter. ¯_(ツ)_/¯

Alternatives Considered

N/A

404 error when accessing the application


Expected Behavior

I should be able to see the login screen of the freshly deployed booksonic-air.

Current Behavior

I'm getting TomCat's 404 when accessing it with http://localhost:4040/

The container is running the latest tag.
The error page:


HTTP Status 404 – Not Found
Type Status Report

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

Apache Tomcat/9.0.37


Steps to Reproduce

  1. Run Ubuntu 20.04 VM under Parallels
  2. create folder booksonic under your home folder
  3. create config, audiobooks, podcasts folders inside it
  4. in the booksonic folder create docker-compose.yml file and past my config bellow
  5. run docker-compose up
    6 in browser hit HTTP://localhost:4040

Environment

OS: Main host MacOs Catalina, Parallels VM, Ubuntu 20.04
CPU architecture: x86_64
How docker service was installed:

Inside of the Ubuntu VM I was following the steps from https://docs.docker.com/engine/install/ubuntu/
section "Install using the repository"

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

docker-compose up

My docker-compose.yml:

version: "2.1"
services:
  booksonic-air:
    image: linuxserver/booksonic-air
    container_name: booksonic-air
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - CONTEXT_PATH=url-base
    volumes:
      - /home/parallels/projects/booksonic/config:/config
      - /home/parallels/projects/booksonic/audiobooks:/audiobooks
      - /home/parallels/projects/booksonic/podcasts:/podcasts
    ports:
      - 4040:4040
    restart: unless-stopped

Docker logs

See the attached logs.txt
logs.txt

Additional info

I have tried the same steps directly on my MacOS with docker for Mac - same 404 error.

Unexpected high CPU usage and poor performance on Raspberry Pi 4

Expected Behavior

  • app should start in a reasonable time
  • after start the UI should be responsive
  • client connections should be responsive
  • CPU load should not be excessive
  • CPU usage should be even across the CPU cores (not sure if this is possible)

Current Behavior

  • app takes up to 18 minutes to start
  • a simple operation such as the administrator selecting "settings", maxes out a single thread on the CPU for quite a while until the page opens
  • UI is frustrating to use because you have a wait a minute or two after selecting any item
  • client streaming only works occasionally in my testing.
  • I'm not experience anything similar to this in other docker containers such as Navidrome

Steps to Reproduce

  • start the container on a Raspberry Pi 4 using docker-compose
  • this issue is occurring with only 11 audiobooks in the library

Environment

  • Raspberry Pi 4 4GB arm7l
  • Arch Linux Arm 5.15.79-2
  • Docker 20.10.21
  • Docker Compose 2.12.2

Docker Compose File


version: "2.1"
services:
booksonic-air:
image: lscr.io/linuxserver/booksonic-air:latest
container_name: booksonic-air
environment:
- PUID=1000
- PGID=1000
- TZ=Africa/Johannesburg
volumes:
- /opt/booksonic-air:/config
- /media/data/audiobooks:/audiobooks
ports:
- 4040:4040
restart: unless-stopped

Logs
logs.txt

Screnshots
htop

image

image

Does not start with new zlib

After updating the image at some point the last few weeks the container stopped working, I get an java.util.zip.ZipException: invalid entry CRC error. After some searching this seems to be a known issue with newer zlib versions.

Could the image pin an older zlib version until upstream fixes this issue? According to the second linked post above at least version 1.2.11 is supposedly known to work.

Request for Themes as with linuxserver/airsonic

Desired Behavior

Please would you consider adding in the Themes you already offer in your airsonic container?

Current Behavior

There is only the default theme and it would be lovely to be able to change from the bright white. :)

15 minutes to start-up on raspberry pi (with arm32 image)

linuxserver.io


Expected Behavior

App to start-up in a reasonable time - I appreciate it will not be as fast as on x86, but the old docker-booksonic container was nowhere near this slow! (Started in about 30 secs)

Current Behavior

It takes 6 minutes for booksonic just to emit its logo and version number in the logs, and 15 minutes in total to fully start up.

Steps to Reproduce

Install and run with podman on a RPi 3B running Raspbian
I have switched to a high-end PSU and verified that the CPU on the RPi is not throttling, but problem persists.

Environment

OS: Raspbian GNU/Linux 10 (buster)
CPU architecture: arm32 [armv7l]
How docker service was installed:
podman 3.4.2 installed from the documented repository on download.opensuse.org

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

/usr/bin/podman run --conmon-pidfile %t/container-booksonic-air.pid --cidfile %t/container-booksonic-air.ctr-id --cgroups=no-conmon -d --name=booksonic-air -e PUID=1000 -e PGID=10000 -e TZ=Europe/London -e CONTEXT_PATH=booksonic -p 8080:4040 -v /config/booksonic-air:/config -v /vol/media:/vol/media -v /vol/media-audio:/vol/media-audio linuxserver/booksonic-air

Docker logs

Key section showing the delay here, will upload full logs separately (when app start-up finally completes!)

2022-06-02T21:58:41.515795441+01:00 [services.d] starting services
2022-06-02T21:58:41.536349643+01:00 [services.d] done.
2022-06-02T22:04:29.277806067+01:00   ____              _                    _      
2022-06-02T22:04:29.277806067+01:00  | __ )  ___   ___ | | _____  ___  _ __ (_) ___ 
2022-06-02T22:04:29.277806067+01:00  |  _ \ / _ \ / _ \| |/ / __|/ _ \| '_ \| |/ __|
2022-06-02T22:04:29.277806067+01:00  | |_) | (_) | (_) |   <\__ \ (_) | | | | | (__ 
2022-06-02T22:04:29.277806067+01:00  |____/ \___/ \___/|_|\_\___/\___/|_| |_|_|\___|
2022-06-02T22:04:29.277806067+01:00                                                 
2022-06-02T22:04:29.277806067+01:00                           2201.1.0

log.txt

Can't navigate to settings and "Fontconfig error: No writable cache directories" error

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I'm running a new install of the latest Docker image on a Synology NAS and was able to login using the default credentials but when I tried to go to the Settings tab it just won't get there (I can navigate to some of the other tabs though). I checked my Docker logs and see "Fontconfig error: No writable cache directories." Any idea how to get past this?

Expected Behavior

No response

Steps To Reproduce

  1. Running Docker on a Synology NAS
  2. With basically the default config
  3. Unable to navigate to Settings and getting "Fontconfig error: No writable cache directories" errors in logs

Environment

- OS: Synology DSM 7.2
- How docker service was installed: docker-compose from https://hub.docker.com/r/linuxserver/booksonic

CPU architecture

x86-64

Docker creation

---
version: "2.1"
services:
  booksonic:
    image: lscr.io/linuxserver/booksonic
    container_name: booksonic
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    volumes:
      - </path/to/appdata/config>:/config
      - </path/to/audiobooks>:/audiobooks
      - </path/to/podcasts>:/podcasts
      - </path/to/othermedia>:/othermedia
    ports:
      - 4040:4040
    restart: unless-stopped

Container logs

Config /config /metadata
[2023-11-07 06:19:42] INFO: === Starting Server ===
[2023-11-07 06:19:42] INFO: [Server] Init v2.5.0
[2023-11-07 06:19:42] INFO: [Database] Initializing db at "/config/absdatabase.sqlite"
[2023-11-07 06:19:42] INFO: [Database] Db connection was successful
[2023-11-07 06:19:43] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting
[2023-11-07 06:19:44] INFO: [BackupManager] 0 Backups Found
[2023-11-07 06:19:44] INFO: [BackupManager] Auto Backups are disabled
[2023-11-07 06:19:44] INFO: [LogManager] Init current daily log filename: 2023-11-07.txt
[2023-11-07 06:19:44] INFO: Listening on port :80
[2023-11-07 06:19:46] INFO: [SocketAuthority] Socket Connected c-HLf7awg7OVr8zNAAAB
[2023-11-07 06:21:53] INFO: [Watcher] Initializing watcher for "Books".
[2023-11-07 06:21:53] INFO: [Watcher] "Books" Ready
[2023-11-07 06:22:54] INFO: [Watcher] Initializing watcher for "Podcasts".
[2023-11-07 06:22:54] INFO: [Watcher] "Podcasts" Ready
[2023-11-07 06:24:07] INFO: [Watcher] Initializing watcher for "Books".
[2023-11-07 06:24:07] INFO: [Watcher] "Books" Ready
[2023-11-07 06:24:20] INFO: [Watcher] Re-Initializing watcher for "Books".
[2023-11-07 06:24:20] INFO: [Watcher] Initializing watcher for "Books".
[2023-11-07 06:24:20] INFO: [Watcher] "Books" Ready
[2023-11-07 06:26:37] INFO: [SocketAuthority] Socket c-HLf7awg7OVr8zNAAAB disconnected from client "paulr24" after 411406ms (Reason: transport close)
[2023-11-07 06:27:53] INFO: [Auth] paulr24 logged in from ***.**.***.**
[2023-11-07 06:28:28] INFO: [LibraryScanner] Library metadata precedence changed since last scan. From [Unset] to [folderStructure,audioMetatags,txtFiles,opfFile,absMetadata]
[2023-11-07 06:28:28] INFO: [LibraryScanner] Starting (forced) library scan 3beb06fa-3b16-429c-ac45-e14c17c175d4 for Audiobooks
[2023-11-07 06:28:57] INFO: Received ping
[2023-11-07 06:30:55] ERROR: [AudioFileScanner] Invalid data found when processing input : "/books/audiobooks/Upgrade [B09L9TXHN4]/Upgrade꞉ A Novel [B09L9TXHN4] - 06 - Chapter 3.m4b" (AudioFileScanner.js:159)
[2023-11-07 06:31:22] INFO: Received ping
��
-07 06:31:35] ERROR: [AudioFileScanner] Invalid data found when processing input : "/books/audiobooks/The Real Sherlock [B07QY2QMCR]/The Real Sherlock꞉ An Audible Original [B07QY2QMCR] - 6 - Episode 5꞉ Fame, Fortune & War .m4b" (AudioFileScanner.js:159)
[2023-11-07 06:31:53] INFO: [Auth] paulr24 logged in from ***.**.***.**
[2023-11-07 06:34:07] INFO: [PlaybackSessionManager] startSession: Closing open session "The Real Sherlock: An Audible Original (Unabridged)" for user "paulr24" (Device: Pixel 7 SDK 34 / v14)
[2023-11-07 06:40:15] INFO: Received ping
[2023-11-07 06:57:11] INFO: [LibraryScanner] Library scan 3beb06fa-3b16-429c-ac45-e14c17c175d4 completed in 28:42.0 | 53 Added | 0 Updated | 0 Missing
[2023-11-07 06:57:15] INFO: [LibraryScan] Scan log saved "/metadata/logs/scans/2023-11-07_3beb06fa-3b16-429c-ac45-e14c17c175d4.txt"
[2023-11-07 06:57:15] INFO: [LibraryController] Scan complete

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.