linuxserver / docker-booksonic-air Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
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
Build should not depend on details of developer's environment, e.g. umask.
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
.
Set umask to 0007, build the project, test.
**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.
/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
Jun 05 03:19:38 ocihost conmon[1896]: s6-applyuidgid: fatal: unable to exec java: Permission denied
JAVA_OPTS should be documented, as it is with linuxserver/docker-airsonic
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. ¯_(ツ)_/¯
N/A
I should be able to see the login screen of the freshly deployed booksonic-air.
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
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"
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
See the attached logs.txt
logs.txt
I have tried the same steps directly on my MacOS with docker for Mac - same 404 error.
After updating the container it returns this error message
Cross Link:
https://forums.unraid.net/topic/125991-docker-die-bei-mir-nicht-laufen/?do=findComment&comment=1151657
Could someone pull the latest upstream, which includes a fix for the log4j vulnerability? 👎
https://www.reddit.com/r/Booksonic/comments/rebzib/please_update_your_server_as_soon_as_possible/
Thanks!
Expected Behavior
Current Behavior
Steps to Reproduce
Environment
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
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.
Recent release has 2 java threads consuming 70% CPU for extended time. Please advise.
Log attached.
booksonic-air.zip
Please would you consider adding in the Themes you already offer in your airsonic container?
There is only the default theme and it would be lovely to be able to change from the bright white. :)
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)
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.
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.
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
/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
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
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?
No response
- OS: Synology DSM 7.2
- How docker service was installed: docker-compose from https://hub.docker.com/r/linuxserver/booksonic
x86-64
---
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
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.