mirror of
https://github.com/navidrome/navidrome.git
synced 2025-12-23 15:08:04 -05:00
* Signed-off-by: floatlesss <117862164+floatlesss@users.noreply.github.com> fix(vscodedevcontainer): fix-taglib-build-issues - #4749 * Apply Gemini suggested changes Signed-off-by: floatlesss <117862164+floatlesss@users.noreply.github.com> * chore: install TagLib in devcontainer Dockerfile Move TagLib installation from postCreateCommand script into the devcontainer Dockerfile to leverage Docker layer caching and simplify setup.\n\nChanges:\n- Install cross-taglib v2.1.1-1 directly in Dockerfile using TARGETARCH for multi-arch support (amd64/arm64).\n- Remove redundant libtag1-dev apt dependency; keep ffmpeg only.\n- Add CROSS_TAGLIB_VERSION as a build arg for consistency with CI/Makefile.\n- Remove postCreateCommand from devcontainer.json and delete install-taglib.sh script.\n\nWhy:\n- Avoid re-downloading TagLib on each container create; benefit from cached image layers.\n- Reduce redundancy and potential version mismatch between apt libtag and cross-taglib.\n- Keep devcontainer aligned with production build approach and CI settings. --------- Signed-off-by: floatlesss <117862164+floatlesss@users.noreply.github.com> Co-authored-by: Deluan <deluan@navidrome.org>
64 lines
1.7 KiB
JSON
64 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",
|
|
"CROSS_TAGLIB_VERSION": "2.1.1-1"
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
} |