blumeops/ansible/roles
Erich Blume 54945be0e3 Add immich-sync ansible role for photo library sync (#63)
## Summary
- Add `immich_sync` role that syncs macOS Photos Library to Immich
- Uses osxphotos to export photos with metadata to staging directory
- Uses immich-cli (via Docker) to upload to Immich server
- LaunchAgent schedules hourly syncs following mcquack pattern
- API key fetched from 1Password in playbook pre_tasks

## Architecture
```
Photos Library → osxphotos export → ~/Pictures/immich-export/ → immich-cli upload → Immich
```

## Prerequisites (manual)
- Install osxphotos on indri: Add `"pipx:osxphotos" = "latest"` to `~/.config/mise/config.toml`, run `mise install`
- Docker is already installed on indri

## Deployment and Testing
- [ ] Dry run: `mise run provision-indri -- --tags immich_sync --check --diff`
- [ ] Deploy: `mise run provision-indri -- --tags immich_sync`
- [ ] Verify LaunchAgent: `ssh indri 'launchctl list | grep immich'`
- [ ] Test manual sync: `ssh indri '~/bin/immich-sync.sh'`
- [ ] Check logs: `ssh indri 'tail -50 ~/Library/Logs/mcquack.immich-sync.out.log'`
- [ ] Verify photos in Immich at https://photos.ops.eblu.me

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/63
2026-01-26 12:38:38 -08:00
..
alloy Migrate k8s services to Caddy (*.ops.eblu.me) (#59) 2026-01-25 12:56:31 -08:00
borgmatic Migrate k8s services to Caddy (*.ops.eblu.me) (#59) 2026-01-25 12:56:31 -08:00
borgmatic_metrics Fix borgmatic-metrics script PATH issue (#28) 2026-01-18 14:57:35 -08:00
caddy Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00
forgejo Add Caddy layer4 for Forgejo SSH (#56) 2026-01-25 11:37:23 -08:00
immich_sync Add immich-sync ansible role for photo library sync (#63) 2026-01-26 12:38:38 -08:00
minikube Migrate registry to Caddy (registry.ops.eblu.me) (#58) 2026-01-25 12:06:15 -08:00
minikube_metrics Migrate observability stack to Kubernetes (#42) 2026-01-22 12:06:02 -08:00
plex_metrics Remove ansible role meta dependencies to fix duplicate execution (#20) 2026-01-16 22:50:34 -08:00
zot K8s Migration Phase 0: Foundation Infrastructure (#26) 2026-01-18 12:06:28 -08:00
zot_metrics K8s Migration Phase 0: Foundation Infrastructure (#26) 2026-01-18 12:06:28 -08:00