Merge pull request #11353 from kvuorine/fwknop-fixes
[feed/packages.git] / sound / forked-daapd / files / forked-daapd.conf
1 # A quick guide to configuring forked-daapd:
2 #
3 # For regular use, the most important setting to configure is "directories",
4 # which should be the location of your media. Whatever user you have set as
5 # "uid" must have read access to this location. If the location is a network
6 # mount, please see the README.
7 #
8 # In all likelihood, that's all you need to do!
9
10 general {
11 # Username
12 # Make sure the user has read access to the library directories you set
13 # below, and full access to the databases, log and local audio
14 uid = "daapd"
15
16 # Database location
17 # db_path = "/var/cache/forked-daapd/songs3.db"
18
19 # Log file and level
20 # Available levels: fatal, log, warning, info, debug, spam
21 logfile = "/var/log/forked-daapd.log"
22 loglevel = log
23
24 # Admin password for the web interface
25 # Note that access to the web interface from computers in
26 # "trusted_network" (see below) does not require password
27 # admin_password = ""
28
29 # Websocket port for the web interface.
30 # websocket_port = 3688
31
32 # Sets who is allowed to connect without authorisation. This applies to
33 # client types like Remotes, DAAP clients (iTunes) and to the web
34 # interface. Options are "any", "localhost" or the prefix to one or
35 # more ipv4/6 networks. The default is { "localhost", "192.168", "fd" }
36 # trusted_networks = { "localhost", "192.168", "fd" }
37
38 # Enable/disable IPv6
39 ipv6 = no
40
41 # Location of cache database
42 # cache_path = "/var/cache/forked-daapd/cache.db"
43
44 # DAAP requests that take longer than this threshold (in msec) get their
45 # replies cached for next time. Set to 0 to disable caching.
46 # cache_daap_threshold = 1000
47
48 # When starting playback, autoselect speaker (if none of the previously
49 # selected speakers/outputs are available)
50 # speaker_autoselect = no
51
52 # Most modern systems have a high-resolution clock, but if you are on an
53 # unusual platform and experience audio drop-outs, you can try changing
54 # this option
55 # high_resolution_clock = yes
56 }
57
58 # Library configuration
59 library {
60 # Name of the library as displayed by the clients (%h: hostname). If you
61 # change the name after pairing with Remote you may have to re-pair.
62 name = "My Music on %h"
63
64 # TCP port to listen on. Default port is 3689 (daap)
65 port = 3689
66
67 # Password for the library. Optional.
68 # password = ""
69
70 # Directories to index
71 directories = { "/srv/music" }
72
73 # Follow symlinks. Default: true.
74 # follow_symlinks = true
75
76 # Directories containing podcasts
77 # For each directory that is indexed the path is matched against these
78 # names. If there is a match all items in the directory are marked as
79 # podcasts. Eg. if you index /srv/music, and your podcasts are in
80 # /srv/music/Podcasts, you can set this to "/Podcasts".
81 # (changing this setting only takes effect after rescan, see the README)
82 podcasts = { "/Podcasts" }
83
84 # Directories containing audiobooks
85 # For each directory that is indexed the path is matched against these
86 # names. If there is a match all items in the directory are marked as
87 # audiobooks.
88 # (changing this setting only takes effect after rescan, see the README)
89 audiobooks = { "/Audiobooks" }
90
91 # Directories containing compilations (eg soundtracks)
92 # For each directory that is indexed the path is matched against these
93 # names. If there is a match all items in the directory are marked as
94 # compilations.
95 # (changing this setting only takes effect after rescan, see the README)
96 compilations = { "/Compilations" }
97
98 # Compilations usually have many artists, and sometimes no album artist.
99 # If you don't want every artist to be listed in artist views, you can
100 # set a single name which will be used for all compilation tracks
101 # without an album artist, and for all tracks in the compilation
102 # directories.
103 # (changing this setting only takes effect after rescan, see the README)
104 compilation_artist = "Various Artists"
105
106 # If your album and artist lists are cluttered, you can choose to hide
107 # albums and artists with only one track. The tracks will still be
108 # visible in other lists, e.g. songs and playlists. This setting
109 # currently only works in some remotes.
110 # hide_singles = false
111
112 # Internet streams in your playlists will by default be shown in the
113 # "Radio" library, like iTunes does. However, some clients (like
114 # TunesRemote+) won't show the "Radio" library. If you would also like
115 # to have them shown like normal playlists, you can enable this option.
116 # radio_playlists = false
117
118 # These are the default playlists. If you want them to have other names,
119 # you can set it here.
120 # name_library = "Library"
121 # name_music = "Music"
122 # name_movies = "Movies"
123 # name_tvshows = "TV Shows"
124 # name_podcasts = "Podcasts"
125 # name_audiobooks = "Audiobooks"
126 # name_radio = "Radio"
127
128 # Artwork file names (without file type extension)
129 # forked-daapd will look for jpg and png files with these base names
130 # artwork_basenames = { "artwork", "cover", "Folder" }
131
132 # Enable searching for artwork corresponding to each individual media
133 # file instead of only looking for album artwork. This is disabled by
134 # default to reduce cache size.
135 # artwork_individual = false
136
137 # File types the scanner should ignore
138 # Non-audio files will never be added to the database, but here you
139 # can prevent the scanner from even probing them. This might improve
140 # scan time. By default .db, .ini, .db-journal, .pdf and .metadata are
141 # ignored.
142 # filetypes_ignore = { ".db", ".ini", ".db-journal", ".pdf", ".metadata" }
143
144 # File paths the scanner should ignore
145 # If you want to exclude files on a more advanced basis you can enter
146 # one or more POSIX regular expressions, and any file with a matching
147 # path will be ignored.
148 # filepath_ignore = { "myregex" }
149
150 # Disable startup file scanning
151 # When forked-daapd starts it will do an initial file scan of your
152 # library (and then watch it for changes). If you are sure your library
153 # never changes while forked-daapd is not running, you can disable the
154 # initial file scan and save some system ressources. Disabling this scan
155 # may lead to forked-daapd's database coming out of sync with the
156 # library. If that happens read the instructions in the README on how
157 # to trigger a rescan.
158 # filescan_disable = false
159
160 # Should metadata from m3u playlists, e.g. artist and title in EXTINF,
161 # override the metadata we get from radio streams?
162 # m3u_overrides = false
163
164 # Should iTunes metadata override ours?
165 # itunes_overrides = false
166
167 # Should we import the content of iTunes smart playlists?
168 # itunes_smartpl = false
169
170 # Decoding options for DAAP clients
171 # Since iTunes has native support for mpeg, mp4a, mp4v, alac and wav,
172 # such files will be sent as they are. Any other formats will be decoded
173 # to raw wav. If forked-daapd detects a non-iTunes DAAP client, it is
174 # assumed to only support mpeg and wav, other formats will be decoded.
175 # Here you can change when to decode. Note that these settings have no
176 # effect on AirPlay.
177 # Formats: mp4a, mp4v, mpeg, alac, flac, mpc, ogg, wma, wmal, wmav, aif, wav
178 # Formats that should never be decoded
179 # no_decode = { "format", "format" }
180 # Formats that should always be decoded
181 # force_decode = { "format", "format" }
182
183 # Watch named pipes in the library for data and autostart playback when
184 # there is data to be read. To exclude specific pipes from watching,
185 # consider using the above _ignore options.
186 # pipe_autostart = true
187
188 # Enable automatic rating updates
189 # If enabled, rating is automatically updated after a song has either been
190 # played or skipped (only skipping to the next song is taken into account).
191 # The calculation is taken from the beets plugin "mpdstats" (see
192 # https://beets.readthedocs.io/en/latest/plugins/mpdstats.html).
193 # It consist of calculating a stable rating based only on the play- and
194 # skipcount and a rolling rating based on the current rating and the action
195 # (played or skipped). Both results are combined with a mix-factor of 0.75:
196 # new rating = 0.75 * stable rating + 0.25 * rolling rating)
197 # rating_updates = false
198
199 # Allows creating, deleting and modifying m3u playlists in the library directories.
200 # Only supported by the player web interface and some mpd clients
201 # Defaults to being disabled.
202 # allow_modifying_stored_playlists = false
203
204 # A directory in one of the library directories that will be used as the default
205 # playlist directory. forked-dapd creates new playlists in this directory if only
206 # a playlist name is provided (requires "allow_modify_stored_playlists" set to true).
207 # default_playlist_directory = ""
208 }
209
210 # Local audio output
211 audio {
212 # Name - used in the speaker list in Remote
213 nickname = "Computer"
214
215 # Type of the output (alsa, pulseaudio, dummy or disabled)
216 # type = "alsa"
217
218 # For pulseaudio output, an optional server hostname or IP can be
219 # specified (e.g. "localhost"). If not set, connection is made via local
220 # socket.
221 # server = ""
222
223 # Audio PCM device name for local audio output - ALSA only
224 # card = "default"
225
226 # Mixer channel to use for volume control - ALSA only
227 # If not set, PCM will be used if available, otherwise Master.
228 # mixer = ""
229
230 # Mixer device to use for volume control - ALSA only
231 # If not set, the value for "card" will be used.
232 # mixer_device = ""
233
234 # Enable or disable audio resampling to keep local audio in sync with
235 # e.g. Airplay. This feature relies on accurate ALSA measurements of
236 # delay, and some devices don't provide that. If that is the case you
237 # are better off disabling the feature.
238 # sync_disable = false
239
240 # Here you can adjust when local audio is started relative to other
241 # speakers, e.g. Airplay. Negative values correspond to moving local
242 # audio ahead, positive correspond to delaying it. The unit is
243 # milliseconds. The offset must be between -1000 and 1000 (+/- 1 sec).
244 # offset_ms = 0
245
246 # To calculate what and if resampling is required, local audio delay is
247 # measured each second. After a period the collected measurements are
248 # used to estimate drift and latency, which determines if corrections
249 # are required. This setting sets the length of that period in seconds.
250 # adjust_period_seconds = 100
251 }
252
253 # ALSA device settings
254 # If you have multiple ALSA devices you can configure them individually via
255 # sections like the below. Make sure to set the "card name" correctly. See the
256 # README about ALSA for details. Note that these settings will override the ALSA
257 # settings in the "audio" section above.
258 #alsa "card name" {
259 # Name - used in the speaker list in Remote
260 # If not set, the card name will be used
261 # nickname = "Computer"
262
263 # Mixer channel to use for volume control
264 # If not set, PCM will be used if available, otherwise Master
265 # mixer = ""
266
267 # Mixer device to use for volume control
268 # If not set, the card name will be used
269 # mixer_device = ""
270 #}
271
272 # Pipe output
273 # Allows forked-daapd to output audio data to a named pipe
274 #fifo {
275 # nickname = "fifo"
276 # path = "/path/to/fifo"
277 #}
278
279 # AirPlay settings common to all devices
280 #airplay_shared {
281 # UDP ports used when airplay devices make connections back to forked-daapd
282 # (choosing specific ports may be helpful when running forked-daapd behind a firewall)
283 # control_port = 0
284 # timing_port = 0
285 #}
286
287 # AirPlay per device settings
288 # (make sure you get the capitalization of the device name right)
289 #airplay "My AirPlay device" {
290 # forked-daapd's volume goes to 11! If that's more than you can handle
291 # you can set a lower value here
292 # max_volume = 11
293
294 # Enable this option to exclude a particular AirPlay device from the
295 # speaker list
296 # exclude = false
297
298 # Enable this option to keep a particular AirPlay device in the speaker
299 # list and thus ignore mdns notifications about it no longer being
300 # present. The speaker will remain until restart of forked-daapd.
301 # permanent = false
302
303 # Some devices spuriously disconnect during playback, and based on the
304 # device type forked-daapd may attempt to reconnect. Setting this option
305 # overrides this so reconnecting is either always enabled or disabled.
306 # reconnect = false
307
308 # AirPlay password
309 # password = "s1kr3t"
310 #}
311
312 # Chromecast settings
313 # (make sure you get the capitalization of the device name right)
314 #chromecast "My Chromecast device" {
315 # Enable this option to exclude a particular device from the speaker
316 # list
317 # exclude = false
318 #}
319
320 # Spotify settings (only have effect if Spotify enabled - see README/INSTALL)
321 spotify {
322 # Directory where user settings should be stored (credentials)
323 # settings_dir = "/var/cache/forked-daapd/libspotify"
324
325 # Cache directory
326 # cache_dir = "/tmp"
327
328 # Set preferred bitrate for music streaming
329 # 0: No preference (default), 1: 96kbps, 2: 160kbps, 3: 320kbps
330 # bitrate = 0
331
332 # Your Spotify playlists will by default be put in a "Spotify" playlist
333 # folder. If you would rather have them together with your other
334 # playlists you can set this option to true.
335 # base_playlist_disable = false
336
337 # Spotify playlists usually have many artist, and if you don't want
338 # every artist to be listed when artist browsing in Remote, you can set
339 # the artist_override flag to true. This will use the compilation_artist
340 # as album artist for Spotify items.
341 # artist_override = false
342
343 # Similar to the different artists in Spotify playlists, the playlist
344 # items belong to different albums, and if you do not want every album
345 # to be listed when browsing in Remote, you can set the album_override
346 # flag to true. This will use the playlist name as album name for
347 # Spotify items. Notice that if an item is in more than one playlist,
348 # it will only appear in one album when browsing (in which album is
349 # random).
350 # album_override = false
351 }
352
353 # MPD configuration (only have effect if MPD enabled - see README/INSTALL)
354 mpd {
355 # TCP port to listen on for MPD client requests.
356 # Default port is 6600, set to 0 to disable MPD support.
357 # port = 6600
358
359 # HTTP port to listen for artwork requests (only supported by some MPD
360 # clients and will need additional configuration in the MPD client to
361 # work). Set to 0 to disable serving artwork over http.
362 # http_port = 0
363
364 # By default forked-daapd will - like iTunes - clear the playqueue if
365 # playback stops. Setting clear_queue_on_stop_disable to true will keep
366 # the playlist like MPD does. Note that some dacp clients do not show
367 # the playqueue if playback is stopped.
368 # clear_queue_on_stop_disable = false
369 }
370
371 # SQLite configuration (allows to modify the operation of the SQLite databases)
372 # Make sure to read the SQLite documentation for the corresponding PRAGMA
373 # statements as changing them from the defaults may increase the possibility of
374 # database corruptions! By default the SQLite default values are used.
375 sqlite {
376 # Cache size in number of db pages for the library database
377 # (SQLite default page size is 1024 bytes and cache size is 2000 pages)
378 # pragma_cache_size_library = 2000
379
380 # Cache size in number of db pages for the daap cache database
381 # (SQLite default page size is 1024 bytes and cache size is 2000 pages)
382 # pragma_cache_size_cache = 2000
383
384 # Sets the journal mode for the database
385 # DELETE (default), TRUNCATE, PERSIST, MEMORY, WAL, OFF
386 # pragma_journal_mode = DELETE
387
388 # Change the setting of the "synchronous" flag
389 # 0: OFF, 1: NORMAL, 2: FULL (default)
390 # pragma_synchronous = 2
391
392 # Number of bytes set aside for memory-mapped I/O for the library database
393 # (requires sqlite 3.7.17 or later)
394 # 0: disables mmap (default), any other value > 0: number of bytes for mmap
395 # pragma_mmap_size_library = 0
396
397 # Number of bytes set aside for memory-mapped I/O for the cache database
398 # (requires sqlite 3.7.17 or later)
399 # 0: disables mmap (default), any other value > 0: number of bytes for mmap
400 # pragma_mmap_size_cache = 0
401
402 # Should the database be vacuumed on startup? (increases startup time,
403 # but may reduce database size). Default is yes.
404 # vacuum = yes
405 }
406
407 # Streaming audio settings for remote connections (ie stream.mp3)
408 streaming {
409 # Sample rate, typically 44100 or 48000
410 # sample_rate = 44100
411
412 # Set the MP3 streaming bit rate (in kbps), valid options: 64 / 96 / 128 / 192 / 320
413 # bit_rate = 192
414 }