From 4ad8d819e1d78a17b05dd8c56c0396ce1300b671 Mon Sep 17 00:00:00 2001 From: ejurgensen Date: Tue, 13 May 2014 22:01:58 +0200 Subject: [PATCH] README update (network mounts, init-rescan and full-rescan) --- README | 60 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 19 deletions(-) diff --git a/README b/README index 1f15dc32..e40cd809 100644 --- a/README +++ b/README @@ -291,31 +291,24 @@ in any way in the database and there is no caching on forked-daapd's side. Library ------- -The library is scanned in bulk mode at startup, but the server will be -available even while this scan is in progress. Of course, if files have gone -missing while the server was not running a request for these files will -produce an error until the scan has completed and the file is no longer -offered. Similarly, new files added while the server was not running won't -be offered until they've been scanned. +The library is scanned in bulk mode at startup, but the server will be available +even while this scan is in progress. You can follow the progress of the scan in +the log file. + +Of course, if files have gone missing while the server was not running a request +for these files will produce an error until the scan has completed and the file +is no longer offered. Similarly, new files added while the server was not +running won't be offered until they've been scanned. Changes to the library are reflected in real time after the initial scan. The -directories are monitored for changes and rescanned on the fly. - -If you place a file with the filename ending .force-rescan in your library, -you can trigger a full rescan of your library. This will clear all music and -playlists from forked-daapd's database and initiate a fresh bulk scan. Pairing -and speaker information will be kept. Only use this for troubleshooting, it is -not necessary during normal operation. - -A full rescan might take some time, and sometimes you just want a rescan of a -particular part of your library. In this case the standard "touch" command is -very usefull, as it will update the timestamps of the arguments and thus trigger -a rescan. +directories are monitored for changes and rescanned on the fly. Note that if you +have your library on a network mount then real time updating may not work. Read +below about what to do in that case. If you change any of the directory settings in the library section of the configuration file a rescan is required before the new setting will take effect. Currently, this will not be done automatically, so you need to trigger the -rescan as described above. +rescan as described below. Symlinks are supported and dereferenced. This does interact in tricky ways with the above monitoring and rescanning, so you've been warned. Changes to @@ -336,6 +329,35 @@ Pipes have no metadata, so they will be added with "Unknown artist" and "Unknown album". The name of the pipe will be used as the track title. +Libraries on network mounts +--------------------------- +Most network filesharing protocols do not offer notifications when the library +is changed. So that means forked-daapd cannot update its database in real time. +Instead you can schedule a cron job to update the database. + +The first step in doing this is to add two entries to the 'directories' +configuration item in forked-daapd.conf: + + directories = { "/some/local/dir", "/your/network/mount/library/" } + +Now you can make a cron job that runs this command: + + touch /some/local/dir/trigger.init-rescan + +When forked-daapd detects a file with filename ending .init-rescan it will +perform a bulk scan similar to the startup scan. + + +Troubleshooting library issues +------------------------------ +If you place a file with the filename ending .full-rescan in your library, +you can trigger a full rescan of your library. This will clear all music and +playlists from forked-daapd's database and initiate a fresh bulk scan. Pairing +and speaker information will be kept. Only use this for troubleshooting, it is +not necessary during normal operation. + + + Command line and web interface ------------------------------