#!/bin/bash set -e echo "Starting Obsidian Headless Sync Server..." cd /vault # Check if already logged in by testing ob login --status (or equivalent) echo "Checking login status..." LOGIN_STATUS=$(ob login 2>&1 || true) if echo "$LOGIN_STATUS" | grep -qi "not logged in\|unauthorized\|login required\|not authenticated"; then echo "" echo "============================================================" echo " NOT LOGGED IN — Action required!" echo "" echo " Run the following command from your host to authenticate:" echo "" echo " ./login.sh" echo "" echo " Then restart this container:" echo "" echo " docker-compose restart" echo "============================================================" echo "" echo "Waiting for login... (sleeping to keep container alive)" sleep infinity exit 0 fi echo "Login confirmed. Setting up sync for vault: $OBSIDIAN_VAULT_NAME" ob sync-setup \ --vault "$OBSIDIAN_VAULT_NAME" \ --password "$OBSIDIAN_SYNC_PASSWORD" \ --device-name "$OBSIDIAN_DEVICE_NAME" \ --path /vault echo "Entering continuous sync mode..." exec ob sync --continuous