Replacing third party binary
If you're using a build of Ongakuvault that is several months old or that exclude some binary, you might consider manually updating the third-party binary. As long as the yt-dlp binary arguments haven't changed significantly, Ongakuvault should be compatible with more recent versions.
Installation
Ongakuvault include the following third-patry binary:
NOTE
The build workflow for the yt-dlp version of FFmpeg and FFprobe does not include pre-built binaries for linux arm32
(also referred to as ARM
). However, you can either build it yourself or use pre-built binaries from other sources, such as the official FFmpeg website. Please note that some fixes and workarounds specific to the yt-dlp version of FFmpeg may not be included in these alternative builds.
TIP
You can find the PowerShell script used during the build workflow to download the external binaries here. You can run it locally on your machine by using the argument -LocalBuild
.
Replacing a binary
General
If you downloaded Ongakuvault from GitHub releases or built it yourself, you need to place all third-party binaries in the same directory as the executable. (Where Ongakuvault.exe
/ Ongakuvault.dll
is)
For docker images
Third party binary | Path in docker container |
---|---|
yt-dlp | /app/yt-dlp |
FFmpeg | /app/ffmpeg |
FFprobe | /app/ffprobe |
- Run
chmod a+rx file_name
on every new binary - On your docker configuration, add a read-only binding to the new binary
Docker run example
docker run -d \
--name ongakuvault \
--restart unless-stopped \
--log-driver local \
--log-opt max-file=10 \
--log-opt max-size=5m \
--cap-drop all \
--security-opt=no-new-privileges \
-v /my-audio-collection-directory-on-host:/home/app/archived-audios:rw \
-v /path/to/host/ffmpeg:/app/ffmpeg:ro \ # Overwrite container /app/ffmpeg for host /path/to/host/ffmpeg in read-only (:ro) mode
-e ASPNETCORE_HTTP_PORTS=8080 \
-e ASPNETCORE_HTTPS_PORT=8443 \
-e Ongaku__ENFORCE_HTTPS=false \
ghcr.io/kitsumed/ongakuvault:1.0.0
Docker-compose example
version: '2.4'
services:
ongakuvault:
container_name: OngakuVault
image: ghcr.io/kitsumed/ongakuvault:1.0.0 # Replace tag with the version you want / latest version
restart: unless-stopped
logging:
driver: local
options:
max-file: '10'
max-size: '5m'
cap_drop:
- ALL
security_opt:
- "no-new-privileges=true"
ports:
- "8080:8080" # Expose port host:container on interface 0.0.0.0 (all host interfaces)
- "8443:8443" # Expose port host:container on interface 0.0.0.0 (all host interfaces)
volumes:
- type: bind # Redirect app output to a folder on your host system
source: /my-audio-collection-directory-on-host
target: /home/app/archived-audios/ # This is the default final output folder of Ongakuvault when running in a container
read_only: false
volumes:
- type: bind # Overwrite container /app/ffmpeg for host /path/to/host/ffmpeg in read-only mode
source: /path/to/host/ffmpeg
target: /app/ffmpeg
read_only: true
environment:
- ASPNETCORE_HTTP_PORTS=8080
- ASPNETCORE_HTTPS_PORT=8443
- Ongaku__ENFORCE_HTTPS=false