mirror of
https://github.com/navidrome/navidrome.git
synced 2026-04-17 13:10:27 -04:00
Remove the CGO-based TagLib adapter (adapters/taglib/) and all cross-taglib build infrastructure. The WASM-based go-taglib adapter (adapters/gotaglib/) is now the sole metadata extractor. Add a musl-based build stage (build-alpine) to the Dockerfile using xx for cross-compilation. This produces a dynamically-linked musl binary for the Docker image, which allows purego to dlopen native libwebp at runtime. The glibc build stage is kept for standalone binary distribution. The Docker image now bundles libwebp for native WebP encoding, with automatic fallback to the built-in WASM encoder if unavailable.
18 lines
782 B
Docker
18 lines
782 B
Docker
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.148.1/containers/go/.devcontainer/base.Dockerfile
|
|
|
|
# [Choice] Go version: 1, 1.15, 1.14
|
|
ARG VARIANT="1"
|
|
FROM mcr.microsoft.com/vscode/devcontainers/go:${VARIANT}
|
|
|
|
# [Option] Install Node.js
|
|
ARG INSTALL_NODE="true"
|
|
ARG NODE_VERSION="lts/*"
|
|
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
|
|
|
# Install additional OS packages
|
|
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
|
&& apt-get -y install --no-install-recommends ffmpeg
|
|
|
|
# [Optional] Uncomment this line to install global node packages.
|
|
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
|