# A quick guide to configuring forked-daapd: # # For regular use, the most important setting to configure is "directories", # which should be the location of your media. Whatever user you have set as # "uid" must have read access to this location. If the location is a network # mount, please see the README. # # In all likelihood, that's all you need to do! general { # Username # Make sure the user has read access to the library directories you set # below, and full access to the databases, log and local audio uid = "daapd" # Database location # db_path = "/var/cache/forked-daapd/songs3.db" # Log file and level # Available levels: fatal, log, warning, info, debug, spam logfile = "/var/log/forked-daapd.log" loglevel = log # Admin password for the non-existent web interface admin_password = "unused" # Enable/disable IPv6 ipv6 = no # Location of cache database # cache_path = "/var/cache/forked-daapd/cache.db" # DAAP requests that take longer than this threshold (in msec) get their # replies cached for next time. Set to 0 to disable caching. # cache_daap_threshold = 1000 } # Library configuration library { # Name of the library as displayed by the clients # %h: hostname, %v: version name = "My Music on %h" # TCP port to listen on. Default port is 3689 (daap) port = 3689 # Password for the library. Optional. # password = "" # Directories to index directories = { "/srv/music" } # Directories containing podcasts # For each directory that is indexed the path is matched against these # names. If there is a match all items in the directory are marked as # podcasts. Eg. if you index /srv/music, and your podcasts are in # /srv/music/Podcasts, you can set this to "/Podcasts". # (changing this setting only takes effect after rescan, see the README) podcasts = { "/Podcasts" } # Directories containing audiobooks # For each directory that is indexed the path is matched against these # names. If there is a match all items in the directory are marked as # audiobooks. # (changing this setting only takes effect after rescan, see the README) audiobooks = { "/Audiobooks" } # Directories containing compilations (eg soundtracks) # For each directory that is indexed the path is matched against these # names. If there is a match all items in the directory are marked as # compilations. # (changing this setting only takes effect after rescan, see the README) compilations = { "/Compilations" } # Compilations usually have many artists, and if you don't want every # artist to be listed when artist browsing in Remote, you can set # a single name which will be used for all music in the compilation dir # (changing this setting only takes effect after rescan, see the README) compilation_artist = "Various artists" # There are 5 default playlists: "Library", "Music", "Movies", "TV Shows" # and "Podcasts". Here you can change the names of these playlists. # name_library = "Library" # name_music = "Music" # name_movies = "Movies" # name_tvshows = "TV Shows" # name_podcasts = "Podcasts" # name_audiobooks = "Audiobooks" # Artwork file names (without file type extension) # forked-daapd will look for jpg and png files with these base names # artwork_basenames = { "artwork", "cover", "Folder" } # File types the scanner should ignore # Non-audio files will never be added to the database, but here you # can prevent the scanner from even probing them. This might improve # scan time. By default .db, .ini, .db-journal and .pdf are ignored. # filetypes_ignore = { ".db", ".ini", ".db-journal", ".pdf" } # Disable startup file scanning # When forked-daapd starts it will do an initial file scan of your # library (and then watch it for changes). If you are sure your library # never changes while forked-daapd is not running, you can disable the # initial file scan and save some system ressources. Disabling this scan # may lead to forked-daapd's database coming out of sync with the # library. If that happens read the instructions in the README on how # to trigger a full rescan. # filescan_disable = false # Should iTunes metadata override ours? # itunes_overrides = false # Formats: mp4a, mp4v, mpeg, alac, flac, mpc, ogg, wma, wmal, wmav, aif, wav # Formats that should never be transcoded # no_transcode = { "alac", "mp4a" } # Formats that should always be transcoded # force_transcode = { "ogg", "flac" } } # Local audio output audio { # Name - used in the speaker list in Remote nickname = "Computer" # Audio device name for local audio output # card = "default" # Mixer channel to use for volume control - ALSA/Linux only # If not set, PCM will be used if available, otherwise Master. # mixer = "" } # AirPlay/Airport Express device settings # (make sure you get the capitalization of the device name right) #airplay "My AirPlay device" { # forked-daapd's volume goes to 11! If that's more than you can handle # you can set a lower value here # max_volume = 11 # AirPlay password # password = "s1kr3t" #} # Spotify settings (only have effect if Spotify enabled - see README/INSTALL) spotify { # Directory where user settings should be stored (credentials) # settings_dir = "/var/cache/forked-daapd/libspotify" # Cache directory # cache_dir = "/tmp" # Set preferred bitrate for music streaming # 0: No preference (default), 1: 96kbps, 2: 160kbps, 3: 320kbps # bitrate = 0 } # SQLite configuration (allows to modify the operation of the SQLite databases) # Make sure to read the SQLite documentation for the corresponding PRAGMA statements as # changing them from the defaults may increase the possibility of database corruptions! # By default the SQLite default values are used. sqlite { # Cache size in number of db pages for the library database # (SQLite default page size is 1024 bytes and cache size is 2000 pages) # pragma_cache_size_library = 2000 # Cache size in number of db pages for the daap cache database # (SQLite default page size is 1024 bytes and cache size is 2000 pages) # pragma_cache_size_cache = 2000 # Sets the journal mode for the database # DELETE (default), TRUNCATE, PERSIST, MEMORY, WAL, OFF # pragma_journal_mode = DELETE # Change the setting of the "synchronous" flag # 0: OFF, 1: NORMAL, 2: FULL (default) # pragma_synchronous = 2 }