diff --git a/multimedia/navidrome/Makefile b/multimedia/navidrome/Makefile index e956a3687f99..5ed3f12c88b0 100644 --- a/multimedia/navidrome/Makefile +++ b/multimedia/navidrome/Makefile @@ -1,62 +1,61 @@ PORTNAME= navidrome DISTVERSIONPREFIX= v DISTVERSION= 0.61.1 PORTREVISION= 1 CATEGORIES= multimedia MASTER_SITES= LOCAL/dtxdf/${PORTNAME}/:assets # For instructions on how to create assets: # https://github.com/DtxdF/port-assets-makejails/tree/main/navidrome DISTFILES= ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}.frontend${EXTRACT_SUFX}:assets \ ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}.vendor${EXTRACT_SUFX}:assets MAINTAINER= dtxdf@FreeBSD.org COMMENT= Modern Music Server and Streamer compatible with Subsonic/Airsonic WWW= https://www.navidrome.org/ LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE ONLY_FOR_ARCHS= aarch64 amd64 LIB_DEPENDS= libtag.so:audio/taglib -RUN_DEPENDS= ffmpeg:multimedia/ffmpeg USES= cpe go:1.25+,modules pkgconfig USE_GITHUB= yes USE_RC_SUBR= ${PORTNAME} GO_ENV+= CGO_CFLAGS_ALLOW="--define-prefix" GO_BUILDFLAGS= -ldflags="\ -X github.com/navidrome/navidrome/consts.gitSha=${GITID} \ -X github.com/navidrome/navidrome/consts.gitTag=${GH_TAGNAME}" \ -tags=netgo,sqlite_fts5 SUB_FILES+= config.toml.sample pkg-message SUB_LIST+= NAVIDROMEGROUP=${NAVIDROME_GROUP} \ NAVIDROMEUSER=${NAVIDROME_USER} \ PORTNAME=${PORTNAME} USERS= ${NAVIDROME_USER} GROUPS= ${NAVIDROME_GROUP} GITID= e7c7cba NAVIDROME_USER= www NAVIDROME_GROUP= www post-extract: @${MKDIR} ${WRKSRC}/vendor @cd ${WRKDIR}/${PORTNAME}-vendor && ${COPYTREE_SHARE} . ${WRKSRC}/vendor @${MKDIR} ${WRKSRC}/ui/build @cd ${WRKDIR}/${PORTNAME}-frontend && ${COPYTREE_SHARE} . ${WRKSRC}/ui/build post-install: @${MKDIR} ${STAGEDIR}${ETCDIR} @${MKDIR} ${STAGEDIR}${DESTDIR}/var/db/${PORTNAME} @${MKDIR} ${STAGEDIR}${DATADIR}/music ${INSTALL_DATA} ${WRKDIR}/config.toml.sample \ ${STAGEDIR}${ETCDIR}/config.toml.sample .include diff --git a/multimedia/navidrome/files/config.toml.sample.in b/multimedia/navidrome/files/config.toml.sample.in index 9aeda433ab9e..a4ccb4b24877 100644 --- a/multimedia/navidrome/files/config.toml.sample.in +++ b/multimedia/navidrome/files/config.toml.sample.in @@ -1,73 +1,74 @@ # Navidrome Configuration File # Anything that is commented out will use the default value shown # # Note: This file is installed by the port and not distributed as part of Navidrome # Folder where your music library is stored. Can be read-only MusicFolder = "%%DATADIR%%/music" # Folder to store application data (database, cache, etc.) -#DataFolder = "/var/db/navidrome" -# How frequently to scan for changes in your music library using cron syntax. Set it to 0 to disable scans -#ScanSchedule = "@every 1m" +#DataFolder = "/var/db/navidrome" + +# Enable/disable the scanner. Set to false to disable automatic scanning of the music library. +#Scanner.Enabled = true +# How frequently to scan for changes in your music library using cron syntax. +#Scanner.Schedule = "@every 1m" # Log level. Useful for troubleshooting. Possible values: error, info, debug, trace. Default: info -LogLevel = "info" +LogLevel = "info" # HTTP port Navidrome will use -#Port = 4533 +#Port = 4533 # IP address the server will bind to. Comment out to use 0.0.0.0 and :: (all IPs) Address = "127.0.0.1" # Enables transcoding configuration in the UI #EnableTranscodingConfig = false # Size of transcoding cache. Set to 0 to disable cache #TranscodingCacheSize = "100MB" # Size of image (art work) cache. Set to 0 to disable cache #ImageCacheSize = "100MB" # Enable/disable .m3u playlist auto-import #AutoImportPlaylists = true # Base URL (only the path part) to configure Navidrome behind a proxy (ex: /music). Comment out to leave empty #BaseUrl = "" # Change background image used in the Login page. Comment out to use random music image from Unsplash.com #UILoginBackgroundUrl = "" # Add a welcome message to the login screen #UIWelcomeMessage = "" # Send basic info to your own Google Analytics account. Must be in the format UA-XXXXXXXX Empty (disabled) #GATrackingID = "" # List of ignored articles when sorting/indexing artists -#IgnoredArticles = "The El La Los Las Le Les Os As O A" +#IgnoredArticles = "The El La Los Las Le Les Os As O A" # Match query strings anywhere in searchable fields, not only in word boundaries. Useful for languages where words are not space separated -#SearchFullString = false +#Search.FullString = false # Configure the order to look for cover art images. Use special embedded value to get embedded images from the audio files #CoverArtPriority = "embedded, cover.*, folder.*, front.*" -# Set JPEG quality percentage for resized cover art images -#CoverJpegQuality = 75 +# Set quality percentage for resized WebP cover art images +#CoverArtQuality = 75 # Enable the option in the UI to download music/albums/artists/playlists from the server #EnableDownloads = true # How long Navidrome will wait before closing web ui idle sessions -#SessionTimeout = "24h" +#SessionTimeout = "24h" # How many login requests can be processed from a single IP during the AuthWindowLength. Set to 0 to disable the limit rater -#AuthRequestLimit = 5 +#AuthRequestLimit = 5 # Window Length for the authentication rate limit -#AuthWindowLength = "20s" -# Select metadata extractor implementation. Options: taglib or ffmpeg -#Scanner.Extractor = "taglib" +#AuthWindowLength = "20s" +# Set this to false to completely disable Last.fm integration +#LastFM.Enabled = false # Last.FM ApiKey -#LastFM.ApiKey = "" +#LastFM.ApiKey = "" # Last.FM Shared Secret -#LastFM.Secret = "" +#LastFM.Secret = "" # Two letter-code for language to be used to retrieve biographies from Last.FM -#LastFM.Language = "en" - -# Spotify Client ID -#Spotify.ID = "" -# Spotify Client Secret -#Spotify.Secret = "" +#LastFM.Language = "en" # Use Gravatar images as the user profile image. Needs the user's email to be filled. Default: false -EnableGravatar = true +EnableGravatar = true + +# Path to ffmpeg executable. +FFmpegPath = "%%PREFIX%%/bin/ffmpeg" diff --git a/multimedia/navidrome/files/pkg-message.in b/multimedia/navidrome/files/pkg-message.in index a714d0d283db..f5c0575ba70e 100644 --- a/multimedia/navidrome/files/pkg-message.in +++ b/multimedia/navidrome/files/pkg-message.in @@ -1,27 +1,30 @@ [ { type: install message: <" to "navidrome_flags". +For transcoding to work, you must install multimedia/ffmpeg@default or +multimedia/ffmpeg@nox11. + EOM } ]