diff --git a/web_server.py b/web_server.py
index f7409465..eec6769b 100644
--- a/web_server.py
+++ b/web_server.py
@@ -4342,6 +4342,20 @@ def run_service_test(service, test_config):
except Exception as e:
return False, f"Navidrome connection error: {str(e)}"
+ elif service == "soulsync":
+ transfer_path = docker_resolve_path(config_manager.get('soulseek.transfer_path', './Transfer'))
+ if os.path.isdir(transfer_path):
+ # Count audio files
+ count = 0
+ for root, dirs, files in os.walk(transfer_path):
+ for f in files:
+ if os.path.splitext(f)[1].lower() in ('.mp3', '.flac', '.ogg', '.opus', '.m4a', '.aac', '.wav'):
+ count += 1
+ if count > 100:
+ break # Don't count everything, just confirm files exist
+ return True, f"SoulSync standalone ready! Transfer folder: {transfer_path} ({count}+ audio files)"
+ else:
+ return False, f"Transfer folder not found: {transfer_path}"
elif service == "soulseek":
if soulseek_client is None:
return False, "Download orchestrator failed to initialize. Check server logs for startup errors."
diff --git a/webui/index.html b/webui/index.html
index 7b41fac5..c939a173 100644
--- a/webui/index.html
+++ b/webui/index.html
@@ -4307,6 +4307,12 @@
class="server-logo">
Navidrome
+
@@ -4407,6 +4413,24 @@
+
+
+

+
+
Standalone Mode
+
SoulSync manages your library directly without an external media server. Downloads and imports are added to the library automatically.
+
+
+
+
+
+ Files in this folder are your library. Configure the path in the Paths section.
+
+
+
+
+
+