63949628cc92b9437076a3f70761e41ec470465a
ImUpper
Photosync → Immich helper stack for Unraid. It watches a Photosync inbox, moves stable files to a drop folder, then uploads them to Immich using immich-go with parallel workers. A small monitor script prints queue counts and container status.
Components
photosync-mover(Alpine): inotify + periodic sweeps; moves files from inbox to drop after size is stable.photosync-uploader(immich-go): fast uploads from drop to Immich with configurable concurrency; optional delete-on-success.monitor.sh: quick health snapshot (queue sizes, container state, recent uploader logs).
Setup
- Fill
.envwith your values:- Paths:
INBOXandDROPpointing to your host shares (e.g.,/mnt/user/photosync/inbox,/mnt/user/photosync/drop). - Immich:
IMMICH_URL,IMMICH_API_KEY. - Tuning (optional):
STABLE_FOR,SCAN_FALLBACK,UPLOAD_CONCURRENCY,UPLOAD_SCAN_INTERVAL,UPLOAD_IDLE_SLEEP,DELETE_ON_SUCCESS,ALLOW_INSECURE_SSL. - Permissions:
PUID/PGID,TZ.
- Paths:
- Bring up the stack:
This starts:
docker compose up -dphotosync-mover(runsmove_stable.sh)photosync-uploader(runsuploader.sh)
Useful commands
- Check status/logs summary:
bash monitor.sh - View live logs:
docker logs -f photosync-uploader docker logs -f photosync-mover - Tear down:
docker compose down
Behavior and tuning
- Mover waits
STABLE_FORseconds to ensure file size is unchanged, then moves to drop. Falls back to full scans everySCAN_FALLBACKseconds. - Uploader scans drop every
UPLOAD_SCAN_INTERVALseconds, uploads withUPLOAD_CONCURRENCYworkers, and optionally deletes the source after success. ALLOW_INSECURE_SSL=trueallows self-signed Immich endpoints (not recommended unless needed).
Requirements
- Docker/Compose v2.
immich-gopulled viaghcr.io/immich-app/immich-go:release(adjust tag if desired).- inotify is installed inside the mover container automatically.
Description
Languages
Shell
100%