2026-05-15 17:05:13 -07:00
|
|
|
name: mac-sync
|
2026-06-28 21:10:13 -04:00
|
|
|
description: Unified macOS sync agent — iMessage, Photos, Mail, Calendar (2-way), Reminders (2-way), Notes (2-way via AppleScript), Calls (read-only)
|
2026-05-15 17:05:13 -07:00
|
|
|
type: application
|
|
|
|
|
category: sync
|
2026-05-15 18:02:04 -07:00
|
|
|
version: 0.2.0
|
|
|
|
|
modules:
|
|
|
|
|
- imessage # bidirectional via SendQueueClient over legacy send_queue table
|
|
|
|
|
- iphoto # read-only Mac → server
|
|
|
|
|
- imail # bidirectional via AppleScript
|
|
|
|
|
- ical # bidirectional via SendQueueClient
|
|
|
|
|
- ireminders # bidirectional via SendQueueClient
|
|
|
|
|
- inotes # bidirectional via AppleScript
|
2026-06-28 21:10:13 -04:00
|
|
|
- icalls # read-only Mac → server (Apple CallHistory.storedata)
|
2026-05-15 17:05:13 -07:00
|
|
|
|
|
|
|
|
platforms:
|
|
|
|
|
plum:
|
|
|
|
|
os: macos
|
2026-06-29 11:35:13 -04:00
|
|
|
# plum (fennel) roams — no fixed LAN IP; reach over wg mesh. `ssh plum`
|
|
|
|
|
# (ssh-config alias) is the canonical handle the scripts below use.
|
|
|
|
|
host: 10.9.0.3
|
2026-05-15 17:05:13 -07:00
|
|
|
environment: production
|
|
|
|
|
services:
|
|
|
|
|
client:
|
|
|
|
|
type: launchagent
|
|
|
|
|
bundle_id: com.lilith.mac-sync
|
2026-05-15 18:02:04 -07:00
|
|
|
description: MacSync menu bar agent (Messages + Photos + Mail + Calendar + Reminders + Notes sync)
|
2026-05-15 17:05:13 -07:00
|
|
|
start:
|
2026-06-29 11:41:59 -04:00
|
|
|
path: ~/Code/@ct/@applications/macsync
|
2026-05-15 17:05:13 -07:00
|
|
|
script: deploy/deploy-remote.sh
|
|
|
|
|
stop:
|
2026-06-29 11:41:59 -04:00
|
|
|
path: ~/Code/@ct/@applications/macsync
|
2026-05-15 17:05:13 -07:00
|
|
|
script: |
|
|
|
|
|
ssh plum "launchctl unload ~/Library/LaunchAgents/com.lilith.mac-sync.plist 2>/dev/null || true"
|
|
|
|
|
status:
|
|
|
|
|
command: "ssh plum 'pgrep -x MacSyncApp > /dev/null && echo ok || echo stopped'"
|
|
|
|
|
type: process
|
|
|
|
|
logs:
|
|
|
|
|
command: "ssh plum 'tail -f ~/Library/Application\\ Support/MacSync/stderr.log'"
|
|
|
|
|
|
2026-06-29 11:35:13 -04:00
|
|
|
# DO backend droplet (lilith-store-backend) — replaces dead homelan `black`.
|
2026-06-29 22:23:00 -04:00
|
|
|
# public 165.227.96.183 · wg 10.9.0.5 · VPC 10.20.0.2. See uvlava plan
|
2026-06-29 11:35:13 -04:00
|
|
|
# (~/.claude/plans/nested-jingling-truffle.md, replacement item #8).
|
|
|
|
|
backend-droplet:
|
2026-05-15 17:05:13 -07:00
|
|
|
os: linux
|
2026-06-29 22:23:00 -04:00
|
|
|
host: 165.227.96.183
|
2026-05-15 17:05:13 -07:00
|
|
|
environment: production
|
|
|
|
|
services:
|
|
|
|
|
server:
|
|
|
|
|
type: systemd
|
|
|
|
|
unit: mac-sync-server
|
|
|
|
|
port: "3201"
|
|
|
|
|
description: Mac sync ingestion + query server (Bun/Hono)
|
|
|
|
|
start:
|
2026-06-29 11:41:59 -04:00
|
|
|
path: ~/Code/@ct/@applications/macsync
|
2026-05-15 17:05:13 -07:00
|
|
|
script: deploy/deploy-server.sh
|
|
|
|
|
stop:
|
2026-06-29 11:41:59 -04:00
|
|
|
path: ~/Code/@ct/@applications/macsync
|
2026-06-29 22:23:00 -04:00
|
|
|
script: "ssh 165.227.96.183 'sudo systemctl stop mac-sync-server'"
|
2026-05-15 17:05:13 -07:00
|
|
|
status:
|
2026-06-29 22:23:00 -04:00
|
|
|
command: "ssh 165.227.96.183 'curl -sf http://localhost:3201/health > /dev/null && echo ok'"
|
2026-05-15 17:05:13 -07:00
|
|
|
type: http
|
|
|
|
|
logs:
|
2026-06-29 22:23:00 -04:00
|
|
|
command: "ssh 165.227.96.183 'tail -f /var/log/mac-sync-server.log'"
|