mirror of
https://github.com/navidrome/navidrome.git
synced 2025-12-23 23:18:05 -05:00
* Adding environmental variable so that navidrome can detect if its running as an MSI install for insights * Renaming to be ND_PACKAGE_TYPE so we can reuse this for the .deb/.rpm stats as well * Packaged implies a bool, this is a description so it should be packaging or just package imo * wixl currently doesn't support <Environment> so I'm swapping out to a file next-door to the configuration file, we should be able to reuse this for deb/rpm as well * Using a file we should be able to add support for linux like this also * MSI should copy the package into place for us, it's not a KeyPath as older versions won't have it, so it's presence doesn't indicate the installed status of the package * OK this doesn't exist, need to find another way to do it * package to .package and moving to the datadir * fix(scanner): better log message when AutoImportPlaylists is disabled Fix #3861 Signed-off-by: Deluan <deluan@navidrome.org> * fix(scanner): support ID3v2 embedded images in WAV files Fix #3867 Signed-off-by: Deluan <deluan@navidrome.org> * feat(ui): show bitDepth in song info dialog Signed-off-by: Deluan <deluan@navidrome.org> * fix(server): don't break if the ND_CONFIGFILE does not exist Signed-off-by: Deluan <deluan@navidrome.org> * feat(docker): automatically loads a navidrome.toml file from /data, if available Signed-off-by: Deluan <deluan@navidrome.org> * feat(server): custom ArtistJoiner config (#3873) * feat(server): custom ArtistJoiner config Signed-off-by: Deluan <deluan@navidrome.org> * refactor(ui): organize ArtistLinkField, add tests Signed-off-by: Deluan <deluan@navidrome.org> * feat(ui): use display artist * feat(ui): use display artist Signed-off-by: Deluan <deluan@navidrome.org> --------- Signed-off-by: Deluan <deluan@navidrome.org> * chore: remove some BFR-related TODOs that are not valid anymore Signed-off-by: Deluan <deluan@navidrome.org> * chore: remove more outdated TODOs Signed-off-by: Deluan <deluan@navidrome.org> * fix(scanner): elapsed time for folder processing is wrong in the logs Signed-off-by: Deluan <deluan@navidrome.org> * Should be able to reuse this mechanism with deb and rpm, I think it would be nice to know which specific one it is without guessing based on /etc/debian_version or something; but it doesn't look like that is exposed by goreleaser into an env or anything :/ * Need to reference the installed file and I think Id's don't require [] * Need to add into the root directory for this to work * That was not deliberately removed * feat: add RPM and DEB package configuration files for Navidrome Signed-off-by: Deluan <deluan@navidrome.org> * Don't need this as goreleaser will sort it out --------- Signed-off-by: Deluan <deluan@navidrome.org> Co-authored-by: Deluan Quintão <deluan@navidrome.org>
91 lines
4.0 KiB
Go
91 lines
4.0 KiB
Go
package insights
|
|
|
|
type Data struct {
|
|
InsightsID string `json:"id"`
|
|
Version string `json:"version"`
|
|
Uptime int64 `json:"uptime"`
|
|
Build struct {
|
|
// build settings used by the Go compiler
|
|
Settings map[string]string `json:"settings"`
|
|
GoVersion string `json:"goVersion"`
|
|
} `json:"build"`
|
|
OS struct {
|
|
Type string `json:"type"`
|
|
Distro string `json:"distro,omitempty"`
|
|
Version string `json:"version,omitempty"`
|
|
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"`
|
|
TotalAlloc uint64 `json:"totalAlloc"`
|
|
Sys uint64 `json:"sys"`
|
|
NumGC uint32 `json:"numGC"`
|
|
} `json:"mem"`
|
|
FS struct {
|
|
Music *FSInfo `json:"music,omitempty"`
|
|
Data *FSInfo `json:"data,omitempty"`
|
|
Cache *FSInfo `json:"cache,omitempty"`
|
|
Backup *FSInfo `json:"backup,omitempty"`
|
|
} `json:"fs"`
|
|
Library struct {
|
|
Tracks int64 `json:"tracks"`
|
|
Albums int64 `json:"albums"`
|
|
Artists int64 `json:"artists"`
|
|
Playlists int64 `json:"playlists"`
|
|
Shares int64 `json:"shares"`
|
|
Radios int64 `json:"radios"`
|
|
Libraries int64 `json:"libraries"`
|
|
ActiveUsers int64 `json:"activeUsers"`
|
|
ActivePlayers map[string]int64 `json:"activePlayers,omitempty"`
|
|
} `json:"library"`
|
|
Config struct {
|
|
LogLevel string `json:"logLevel,omitempty"`
|
|
LogFileConfigured bool `json:"logFileConfigured,omitempty"`
|
|
TLSConfigured bool `json:"tlsConfigured,omitempty"`
|
|
ScannerEnabled bool `json:"scannerEnabled,omitempty"`
|
|
ScanSchedule string `json:"scanSchedule,omitempty"`
|
|
ScanWatcherWait uint64 `json:"scanWatcherWait,omitempty"`
|
|
ScanOnStartup bool `json:"scanOnStartup,omitempty"`
|
|
TranscodingCacheSize string `json:"transcodingCacheSize,omitempty"`
|
|
ImageCacheSize string `json:"imageCacheSize,omitempty"`
|
|
EnableArtworkPrecache bool `json:"enableArtworkPrecache,omitempty"`
|
|
EnableDownloads bool `json:"enableDownloads,omitempty"`
|
|
EnableSharing bool `json:"enableSharing,omitempty"`
|
|
EnableStarRating bool `json:"enableStarRating,omitempty"`
|
|
EnableLastFM bool `json:"enableLastFM,omitempty"`
|
|
EnableListenBrainz bool `json:"enableListenBrainz,omitempty"`
|
|
EnableDeezer bool `json:"enableDeezer,omitempty"`
|
|
EnableMediaFileCoverArt bool `json:"enableMediaFileCoverArt,omitempty"`
|
|
EnableSpotify bool `json:"enableSpotify,omitempty"`
|
|
EnableJukebox bool `json:"enableJukebox,omitempty"`
|
|
EnablePrometheus bool `json:"enablePrometheus,omitempty"`
|
|
EnableCoverAnimation bool `json:"enableCoverAnimation,omitempty"`
|
|
EnableNowPlaying bool `json:"enableNowPlaying,omitempty"`
|
|
SessionTimeout uint64 `json:"sessionTimeout,omitempty"`
|
|
SearchFullString bool `json:"searchFullString,omitempty"`
|
|
RecentlyAddedByModTime bool `json:"recentlyAddedByModTime,omitempty"`
|
|
PreferSortTags bool `json:"preferSortTags,omitempty"`
|
|
BackupSchedule string `json:"backupSchedule,omitempty"`
|
|
BackupCount int `json:"backupCount,omitempty"`
|
|
DevActivityPanel bool `json:"devActivityPanel,omitempty"`
|
|
DefaultBackgroundURLSet bool `json:"defaultBackgroundURL,omitempty"`
|
|
HasSmartPlaylists bool `json:"hasSmartPlaylists,omitempty"`
|
|
ReverseProxyConfigured bool `json:"reverseProxyConfigured,omitempty"`
|
|
HasCustomPID bool `json:"hasCustomPID,omitempty"`
|
|
HasCustomTags bool `json:"hasCustomTags,omitempty"`
|
|
} `json:"config"`
|
|
Plugins map[string]PluginInfo `json:"plugins,omitempty"`
|
|
}
|
|
|
|
type PluginInfo struct {
|
|
Name string `json:"name"`
|
|
Version string `json:"version"`
|
|
}
|
|
|
|
type FSInfo struct {
|
|
Type string `json:"type,omitempty"`
|
|
}
|