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/linux/postinstall.sh b/release/linux/postinstall.sh
index f3d9c9277..b5eaf694c 100644
--- a/release/linux/postinstall.sh
+++ b/release/linux/postinstall.sh
@@ -14,6 +14,11 @@ if [ ! -f /etc/navidrome/navidrome.toml ]; then
fi
postinstall_flag="/var/lib/navidrome/.installed"
+package_file="/var/lib/navidrome/.package"
+
+if [ ! -f "$package_file" ]; then
+ echo "deb/rpm" > "$package_file";
+fi
if [ ! -f "$postinstall_flag" ]; then
# The primary reason why this would fail is if the service was already installed AND
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 @@
+