From e0f2114736fa08639f60d71a1fcfe4cd88b276f3 Mon Sep 17 00:00:00 2001 From: Ryan Chen Date: Fri, 24 Apr 2026 09:04:21 -0400 Subject: [PATCH] Fix Obsidian sync by running sync-setup before sync The container was failing with "No sync configuration found" because ob sync was called without first running ob sync-setup. Now startup.sh configures sync using environment variables before starting continuous sync, and gracefully skips sync if setup fails. Co-Authored-By: Claude Opus 4.6 --- startup.sh | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/startup.sh b/startup.sh index 93702ed..2d9cb78 100644 --- a/startup.sh +++ b/startup.sh @@ -8,8 +8,25 @@ mkdir -p /app/data/obsidian # Start continuous Obsidian sync if enabled if [ "${OBSIDIAN_CONTINUOUS_SYNC}" = "true" ]; then - echo "Starting Obsidian continuous sync in background..." - ob sync --continuous & + VAULT_PATH="${OBSIDIAN_VAULT_PATH:-/app/data/obsidian}" + + # Setup sync if not already configured + if ! ob sync-status --path "$VAULT_PATH" > /dev/null 2>&1; then + echo "Configuring Obsidian sync..." + ob sync-setup \ + --vault "${OBSIDIAN_VAULT_ID}" \ + --path "$VAULT_PATH" \ + --password "${OBSIDIAN_E2E_PASSWORD}" \ + --device-name "${OBSIDIAN_DEVICE_NAME:-simbarag}" || { + echo "Failed to configure Obsidian sync. Skipping." + OBSIDIAN_CONTINUOUS_SYNC=false + } + fi + + if [ "${OBSIDIAN_CONTINUOUS_SYNC}" = "true" ]; then + echo "Starting Obsidian continuous sync in background..." + ob sync --path "$VAULT_PATH" --continuous & + fi fi echo "Starting application..."