Generalize the photos-originals rclone-mount pattern to a video-projects prefix so the video studio (and imajin ETL, per storage-portability-plan §2.3) can read/write multi-GB project sources/renders as local files while only hot data stays resident on plum (bounded VFS LRU cache). Lets a small-disk laptop work with large footage without filling APFS. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
58 lines
2 KiB
YAML
58 lines
2 KiB
YAML
name: mac-sync
|
|
description: Unified macOS sync agent — iMessage, Photos, Mail, Calendar (2-way), Reminders (2-way), Notes (2-way via AppleScript), Calls (read-only)
|
|
type: application
|
|
category: sync
|
|
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
|
|
- icalls # read-only Mac → server (Apple CallHistory.storedata)
|
|
|
|
platforms:
|
|
plum:
|
|
os: macos
|
|
host: 10.0.0.123
|
|
environment: production
|
|
services:
|
|
client:
|
|
type: launchagent
|
|
bundle_id: com.lilith.mac-sync
|
|
description: MacSync menu bar agent (Messages + Photos + Mail + Calendar + Reminders + Notes sync)
|
|
start:
|
|
path: ~/Code/@applications/@mac-sync
|
|
script: deploy/deploy-remote.sh
|
|
stop:
|
|
path: ~/Code/@applications/@mac-sync
|
|
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'"
|
|
|
|
black:
|
|
os: linux
|
|
host: 10.0.0.11
|
|
environment: production
|
|
services:
|
|
server:
|
|
type: systemd
|
|
unit: mac-sync-server
|
|
port: "3201"
|
|
description: Mac sync ingestion + query server (Bun/Hono)
|
|
start:
|
|
path: ~/Code/@applications/@mac-sync
|
|
script: deploy/deploy-server.sh
|
|
stop:
|
|
path: ~/Code/@applications/@mac-sync
|
|
script: "ssh 10.0.0.11 'sudo systemctl stop mac-sync-server'"
|
|
status:
|
|
command: "ssh 10.0.0.11 'curl -sf http://localhost:3201/health > /dev/null && echo ok'"
|
|
type: http
|
|
logs:
|
|
command: "ssh 10.0.0.11 'journalctl -u mac-sync-server -f --no-pager'"
|