Skip to content

Remote Publishing with Alfred Remote for Quartz Sites

Remote Publishing with Alfred Remote for Quartz Sites

Section titled “Remote Publishing with Alfred Remote for Quartz Sites”

Trigger publishing from anywhere using Alfred Remote on your iPhone or iPad. Your always-on Mac mini handles the work while you publish on-the-go.

  1. What You’ll Build
  2. Prerequisites
  3. How It Works
  4. Setup on Mac Mini
  5. Setup on iPhone/iPad
  6. Configure File Sync
  7. Testing Remote Publishing
  8. Troubleshooting

Remote publishing system that lets you:

  • Trigger publishing from iPhone/iPad
  • Publish from anywhere with Obsidian Sync or iCloud
  • Use your always-on Mac mini as a publishing server
  • No need for Obsidian app to run on Mac mini
  • Get notifications when publishing completes

The remote workflow:

Edit on iPad → Obsidian Sync → Tap "publish" on iPhone → Mac mini builds → Site live

Why Quartz makes this easier:

  • No wikilink conversion step
  • Quartz reads directly from synced vault
  • Fewer moving parts = fewer failures

Time to complete: 15-20 minutes


Before setting up remote publishing, you must have:

  • Alfred workflows already set up and working
    • Must have tested preview and publish successfully on your Mac
  • Alfred Powerpack on your Mac
  • Alfred Remote app on iPhone/iPad (free, requires Powerpack on Mac)
  • Always-on Mac (Mac mini recommended)
    • Must stay powered on and connected to internet
    • Alfred must launch at login
  • File sync service:
    • Obsidian Sync (paid), OR
    • iCloud Drive with Obsidian vault, OR
    • Dropbox/other cloud sync

Test that local workflows work on your Mac:

Terminal window
# Test publish manually
cd ~/Developer/mementropy-quartz && ./scripts/publish.sh

If this fails, fix your core workflows first.


┌──────────────────────────────────────────────────────────┐
│ Your iPad/Laptop │
│ ┌─────────────────┐ │
│ │ Edit in │ │
│ │ Obsidian │ │
│ └────────┬────────┘ │
└───────────┼──────────────────────────────────────────────┘
│ Obsidian Sync / iCloud (automatic)
┌──────────────────────────────────────────────────────────┐
│ Mac Mini (always on) │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Synced Vault │────▶│ Quartz Project │ │
│ │ (markdown) │ │ (content/) │ │
│ └─────────────────┘ └────────┬────────┘ │
│ │ │
│ │ Alfred triggers │
│ ▼ │
│ ┌─────────────────┐ │
│ │ npx quartz │ │
│ │ build & push │ │
│ └────────┬────────┘ │
└───────────────────────────────────┼──────────────────────┘
┌──────────────────────────────────────────────────────────┐
│ Your iPhone │
│ ┌─────────────────┐ │
│ │ Alfred Remote │──── "Tap publish" ─────────────────▶│
│ │ (triggers Mac) │ │
│ └─────────────────┘ │
└──────────────────────────────────────────────────────────┘

Critical Point: Obsidian App NOT Required on Mac Mini

Section titled “Critical Point: Obsidian App NOT Required on Mac Mini”

The Mac mini only needs:

  • macOS - Running
  • File sync - iCloud daemon or Obsidian Sync service (background)
  • Alfred - To receive Remote triggers
  • Node.js - For Quartz builds
  • Git - For pushing to GitHub

The Obsidian application does not need to run. Quartz reads markdown files directly from disk.


Ensure Mac mini never sleeps:

  1. System SettingsEnergy
  2. Enable:
    • Prevent sleeping when display is off: ON
    • Start up automatically after a power failure: ON

Make Alfred launch automatically:

  1. System SettingsGeneralLogin Items
  2. Click ”+” under “Open at Login”
  3. Select Alfred from Applications

Test: Restart Mac mini and verify Alfred appears in menu bar.

  1. Open Alfred Preferences on Mac mini
  2. Click Remote tab
  3. Check “Enable Remote on this Mac”
  4. Choose connection method:

Option A - Local Network (same WiFi only):

  • Click “Add iOS Device”
  • Note the IP address shown

Option B - iCloud (Recommended - works anywhere):

  • Click “Enable iCloud Sync”
  • Sign in with your Apple ID

Organize your workflows for easy access:

  1. In Alfred Preferences → Remote tab
  2. Click ”+” to create new page
  3. Name: “Quartz”
  4. Drag these workflows to the page:
    • preview
    • publish
    • stoppreview

  1. Open App Store
  2. Search: “Alfred Remote”
  3. Download (free, requires Powerpack on Mac)
  1. Open Alfred Remote
  2. Tap Settings (gear icon)
  3. Tap “Sign in with iCloud”
  4. Use same Apple ID as your Mac mini
  5. Wait 30 seconds - Mac should appear
  6. Tap Mac name to connect
  1. Open Alfred Remote
  2. Tap ”+”“Add Mac”
  3. Your Mac mini should appear
  4. Tap to connect
  5. Enter PIN shown in Alfred Preferences
  • Green dot = Connected
  • Your workflows should be visible
  • Test: Tap any workflow

For remote publishing to work, your edits must sync to the Mac mini.

  1. On Mac mini, open Obsidian once
  2. Settings → Sync → Verify vault connected
  3. Close Obsidian (don’t need it running)
  4. Sync runs in background automatically
  1. Ensure vault is in iCloud location:

    ~/Library/Mobile Documents/iCloud~md~obsidian/Documents/YourVault/
  2. Update Quartz content/ to symlink or copy from there

  3. Verify iCloud is active:

    Terminal window
    brctl status
    # Should show: iCloud is active

If your Quartz project’s content/ folder is a symlink to your Obsidian vault:

Terminal window
# Check if content is a symlink
ls -la ~/Developer/mementropy-quartz/content
# Should show something like:
# content -> /Users/ryan/Obsidian/Ingenium/mementropy-site

The sync happens at the Obsidian vault level, and Quartz picks it up automatically.

  1. On iPad: Edit a file in Obsidian
  2. Wait 30-60 seconds
  3. On Mac mini:
    Terminal window
    ls -lt ~/Obsidian/Ingenium/mementropy-site/ | head -5
  4. Verify: Modified file shows recent timestamp

  1. On iPhone: Open Alfred Remote
  2. Find your Quartz page (or default)
  3. Tap preview

Expected on Mac mini:

  • Quartz server starts
  • Browser opens to localhost:8080
  • Notification appears
  1. On iPhone: Tap stoppreview

Expected:

  • Server stops
  • Notification: “Preview server stopped”
  1. On iPhone: Tap publish

Expected:

  • Notification: “Already up to date” (if no changes)
  • Or “Published successfully” (if there were changes)
  1. On iPad: Edit a file in Obsidian
  2. Wait 60 seconds for sync
  3. On iPhone: Tap publish
  4. Verify: Check GitHub Actions → should show new workflow run
  1. On iPhone: Turn off WiFi (use cellular)
  2. Open Alfred Remote
  3. Verify Mac still shows “Connected”
  4. Tap publish

If using iCloud: Works from anywhere with internet!


Situation: Spotted typo while reading site on phone.

Steps:

  1. Open Obsidian on phone
  2. Fix the typo
  3. Wait 30 seconds for sync
  4. Open Alfred Remote → Tap publish
  5. Done in under 2 minutes

Scenario 2: Write on iPad, Publish from Phone

Section titled “Scenario 2: Write on iPad, Publish from Phone”

Situation: Wrote new post on iPad at coffee shop.

Steps:

  1. Finish writing in Obsidian on iPad
  2. Ensure draft: false in frontmatter
  3. Wait for Obsidian Sync (check status icon)
  4. On iPhone: Alfred Remote → publish
  5. Site updates in ~3 minutes

Situation: Want to see how site looks on phone.

Steps:

  1. Tap preview in Alfred Remote
  2. On iPhone Safari: http://[MAC_IP]:8080
  3. Browse site on actual mobile device
  4. Tap stoppreview when done

Problem: Mac Not Appearing in Alfred Remote

Section titled “Problem: Mac Not Appearing in Alfred Remote”

Solutions:

  1. Same Apple ID: Both devices must use same Apple ID for iCloud
  2. Wait for sync: iCloud can take 2-3 minutes
  3. Restart Alfred on Mac: Quit completely, relaunch
  4. Check firewall: System Settings → Network → Firewall → Allow Alfred

Solutions:

  1. Test locally first:
    Terminal window
    cd ~/Developer/mementropy-quartz && ./scripts/publish.sh
  2. Check Alfred is running: Look for icon in Mac menu bar
  3. Verify Mac is awake: Energy settings → Prevent sleep

Solutions:

  1. Check timestamps on Mac mini:
    Terminal window
    ls -lt ~/Obsidian/Ingenium/mementropy-site/ | head -5
  2. For Obsidian Sync: Check sync status in Obsidian Settings
  3. For iCloud: Run killall bird to restart sync daemon
  4. Create test file: Make new file on iPad, verify it appears on Mac

Solutions:

  1. Check log:
    Terminal window
    cat /tmp/quartz-publish.log
  2. Run manual build:
    Terminal window
    cd ~/Developer/mementropy-quartz && npx quartz build
  3. Check for syntax errors in recent edits

  • Mac mini: Alfred running
  • Mac mini: Energy settings prevent sleep
  • Mac mini: Alfred Remote enabled
  • iPhone: Alfred Remote app installed
  • iPhone: Connected (green dot)
  • File sync: Working (test with timestamp check)
FilePurpose
/tmp/quartz-publish.logPublish output
/tmp/quartz-preview.logPreview server output
Terminal window
# Check if Quartz server is running
lsof -i :8080
# Check recent file modifications
ls -lt ~/Obsidian/Ingenium/mementropy-site/ | head -10
# View publish log
cat /tmp/quartz-publish.log
# Manual publish test
cd ~/Developer/mementropy-quartz && ./scripts/publish.sh


Last updated: 2025-01-13