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.
63 lines
1.7 KiB
JSON
63 lines
1.7 KiB
JSON
{
|
|
"name": "Go",
|
|
"build": {
|
|
"dockerfile": "Dockerfile",
|
|
"args": {
|
|
// Update the VARIANT arg to pick a version of Go: 1, 1.15, 1.14
|
|
"VARIANT": "1.25",
|
|
// Options
|
|
"INSTALL_NODE": "true",
|
|
"NODE_VERSION": "v24"
|
|
}
|
|
},
|
|
"workspaceMount": "",
|
|
"runArgs": [
|
|
"--cap-add=SYS_PTRACE",
|
|
"--security-opt",
|
|
"seccomp=unconfined",
|
|
"--volume=${localWorkspaceFolder}:/workspaces/${localWorkspaceFolderBasename}:Z"
|
|
],
|
|
// Set *default* container specific settings.json values on container create.
|
|
"customizations": {
|
|
"vscode": {
|
|
"settings": {
|
|
"terminal.integrated.shell.linux": "/bin/bash",
|
|
"go.useGoProxyToCheckForToolUpdates": false,
|
|
"go.useLanguageServer": true,
|
|
"go.gopath": "/go",
|
|
"go.goroot": "/usr/local/go",
|
|
"go.toolsGopath": "/go/bin",
|
|
"go.formatTool": "goimports",
|
|
"go.lintOnSave": "package",
|
|
"go.lintTool": "golangci-lint",
|
|
"editor.formatOnSave": true,
|
|
"[javascript]": {
|
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
},
|
|
"[json]": {
|
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
},
|
|
"[jsonc]": {
|
|
"editor.defaultFormatter": "vscode.json-language-features"
|
|
}
|
|
},
|
|
// Add the IDs of extensions you want installed when the container is created.
|
|
"extensions": [
|
|
"golang.Go",
|
|
"esbenp.prettier-vscode",
|
|
"tamasfe.even-better-toml"
|
|
]
|
|
}
|
|
},
|
|
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
|
"forwardPorts": [
|
|
4533,
|
|
4633
|
|
],
|
|
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
|
"remoteUser": "vscode",
|
|
"remoteEnv": {
|
|
"ND_MUSICFOLDER": "./music",
|
|
"ND_DATAFOLDER": "./data"
|
|
}
|
|
} |