Guard against missing Obsidian credentials to prevent startup hang
ob login blocks waiting for interactive input when OBSIDIAN_EMAIL or OBSIDIAN_PASSWORD is empty. Check required env vars before attempting login to skip sync gracefully with a warning instead of hanging. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+19
-15
@@ -8,22 +8,26 @@ mkdir -p /app/data/obsidian
|
|||||||
|
|
||||||
# Start continuous Obsidian sync if enabled
|
# Start continuous Obsidian sync if enabled
|
||||||
if [ "${OBSIDIAN_CONTINUOUS_SYNC}" = "true" ]; then
|
if [ "${OBSIDIAN_CONTINUOUS_SYNC}" = "true" ]; then
|
||||||
echo "Setting up Obsidian sync..."
|
if [ -z "${OBSIDIAN_EMAIL}" ] || [ -z "${OBSIDIAN_PASSWORD}" ] || [ -z "${OBSIDIAN_VAULT_ID}" ]; then
|
||||||
|
echo "WARNING: OBSIDIAN_EMAIL, OBSIDIAN_PASSWORD, or OBSIDIAN_VAULT_ID not set. Skipping sync."
|
||||||
VAULT_PATH="${OBSIDIAN_VAULT_PATH:-/app/data/obsidian}"
|
|
||||||
|
|
||||||
# Login and setup sync (foreground, must complete before sync starts)
|
|
||||||
if ob login --email "${OBSIDIAN_EMAIL}" --password "${OBSIDIAN_PASSWORD}" && \
|
|
||||||
ob sync-setup \
|
|
||||||
--vault "${OBSIDIAN_VAULT_ID}" \
|
|
||||||
--path "${VAULT_PATH}" \
|
|
||||||
--password "${OBSIDIAN_E2E_PASSWORD}" \
|
|
||||||
--device-name "${OBSIDIAN_DEVICE_NAME:-simbarag}"; then
|
|
||||||
# Start continuous sync in background
|
|
||||||
echo "Starting Obsidian continuous sync..."
|
|
||||||
ob sync --continuous --path "${VAULT_PATH}" &
|
|
||||||
else
|
else
|
||||||
echo "WARNING: Obsidian sync setup failed. Continuing without sync."
|
echo "Setting up Obsidian sync..."
|
||||||
|
|
||||||
|
VAULT_PATH="${OBSIDIAN_VAULT_PATH:-/app/data/obsidian}"
|
||||||
|
|
||||||
|
# Login and setup sync (foreground, must complete before sync starts)
|
||||||
|
if ob login --email "${OBSIDIAN_EMAIL}" --password "${OBSIDIAN_PASSWORD}" && \
|
||||||
|
ob sync-setup \
|
||||||
|
--vault "${OBSIDIAN_VAULT_ID}" \
|
||||||
|
--path "${VAULT_PATH}" \
|
||||||
|
--password "${OBSIDIAN_E2E_PASSWORD}" \
|
||||||
|
--device-name "${OBSIDIAN_DEVICE_NAME:-simbarag}"; then
|
||||||
|
# Start continuous sync in background
|
||||||
|
echo "Starting Obsidian continuous sync..."
|
||||||
|
ob sync --continuous --path "${VAULT_PATH}" &
|
||||||
|
else
|
||||||
|
echo "WARNING: Obsidian sync setup failed. Continuing without sync."
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user