diff --git a/core/metrics/insights.go b/core/metrics/insights.go
index f4f8738e7..010c24c28 100644
--- a/core/metrics/insights.go
+++ b/core/metrics/insights.go
@@ -6,6 +6,7 @@ import (
"encoding/json"
"math"
"net/http"
+ "os"
"path/filepath"
"runtime"
"runtime/debug"
@@ -160,6 +161,13 @@ var staticData = sync.OnceValue(func() insights.Data {
data.Build.Settings, data.Build.GoVersion = buildInfo()
data.OS.Containerized = consts.InContainer
+ // Install info
+ packageFilename := filepath.Join(conf.Server.DataFolder, ".package")
+ packageFileData, err := os.ReadFile(packageFilename)
+ if err == nil {
+ data.OS.Package = string(packageFileData)
+ }
+
// OS info
data.OS.Type = runtime.GOOS
data.OS.Arch = runtime.GOARCH
diff --git a/core/metrics/insights/data.go b/core/metrics/insights/data.go
index 105a6218e..c46eb8743 100644
--- a/core/metrics/insights/data.go
+++ b/core/metrics/insights/data.go
@@ -16,6 +16,7 @@ type Data struct {
Containerized bool `json:"containerized"`
Arch string `json:"arch"`
NumCPU int `json:"numCPU"`
+ Package string `json:"package,omitempty"`
} `json:"os"`
Mem struct {
Alloc uint64 `json:"alloc"`
diff --git a/release/goreleaser.yml b/release/goreleaser.yml
index f71c38f31..30c0d6f3b 100644
--- a/release/goreleaser.yml
+++ b/release/goreleaser.yml
@@ -83,6 +83,15 @@ nfpms:
owner: navidrome
group: navidrome
+ - src: release/linux/.package.rpm # contents: "rpm"
+ dst: /var/lib/navidrome/.package
+ type: "config|noreplace"
+ packager: rpm
+ - src: release/linux/.package.deb # contents: "deb"
+ dst: /var/lib/navidrome/.package
+ type: "config|noreplace"
+ packager: deb
+
scripts:
preinstall: "release/linux/preinstall.sh"
postinstall: "release/linux/postinstall.sh"
diff --git a/release/linux/.package.deb b/release/linux/.package.deb
new file mode 100644
index 000000000..811c85f42
--- /dev/null
+++ b/release/linux/.package.deb
@@ -0,0 +1 @@
+deb
\ No newline at end of file
diff --git a/release/linux/.package.rpm b/release/linux/.package.rpm
new file mode 100644
index 000000000..7c88ef3c0
--- /dev/null
+++ b/release/linux/.package.rpm
@@ -0,0 +1 @@
+rpm
\ No newline at end of file
diff --git a/release/wix/build_msi.sh b/release/wix/build_msi.sh
index 9fc008446..7e595311e 100755
--- a/release/wix/build_msi.sh
+++ b/release/wix/build_msi.sh
@@ -49,6 +49,9 @@ cp "${DOWNLOAD_FOLDER}"/extracted_ffmpeg/${FFMPEG_FILE}/bin/ffmpeg.exe "$MSI_OUT
cp "$WORKSPACE"/LICENSE "$WORKSPACE"/README.md "$MSI_OUTPUT_DIR"
cp "$BINARY" "$MSI_OUTPUT_DIR"
+# package type indicator file
+echo "msi" > "$MSI_OUTPUT_DIR/.package"
+
# workaround for wixl WixVariable not working to override bmp locations
cp "$WORKSPACE"/release/wix/bmp/banner.bmp /usr/share/wixl-*/ext/ui/bitmaps/bannrbmp.bmp
cp "$WORKSPACE"/release/wix/bmp/dialogue.bmp /usr/share/wixl-*/ext/ui/bitmaps/dlgbmp.bmp
diff --git a/release/wix/navidrome.wxs b/release/wix/navidrome.wxs
index ec8b164e8..8ebba4632 100644
--- a/release/wix/navidrome.wxs
+++ b/release/wix/navidrome.wxs
@@ -69,6 +69,12 @@
+
+
+
+
+
+
@@ -81,6 +87,7 @@
+