February 28Feb 28 Cloudberry syncs your photo libraries from iCloud and Google Photos to local storage and gives you a web UI to browse, search, organise, and download your photos. Single Docker container, no CLI config needed.Website: https://tindralabs.com/cloudberry Docker Hub: https://hub.docker.com/r/tindralabs/cloudberry Live Demo: https://demo.tindralabs.com GitHub: https://github.com/tindralabs/cloudberryWhat it doesIf you have photos in iCloud or Google Photos and want them on your own hardware, Cloudberry handles the full pipeline — authentication (including 2FA), downloading originals, generating thumbnails, and serving everything through a web interface.Syncs photos, videos, and Live Photos in original quality (HEIC, RAW, MOV, etc.)iCloud Photos and Google Photos support (more sources planned)Web UI with timeline view, albums, favourites, search, map view, and bulk ZIP downloadsMulti-account support — sync multiple accounts across providers to one server (family setups)Scheduled sync with change detection (new photos, deletions, metadata changes)Collections — curate and download selections for printing or backupConverts to max-quality JPG on download if needed32 languages with auto-detectionRuns on Intel, AMD64 and ARM64Install on UnraidAvailable from Community Apps — search for "Cloudberry". Or manually via Docker Hub:Image: tindralabs/cloudberry:latestPort: 6585 → 8080Config path: /mnt/user/appdata/cloudberry → /configPhotos path: Your preferred storage location → /photosMASTER_KEY: Required — encrypts your account credentials at rest. Generate with openssl rand -hex 32After install, open the web UI, add your iCloud or Google Photos account, and sync starts automatically.PricingCloudberry has a free tier and a paid tier. I want to be upfront about this.FreePremiumAccounts1UnlimitedPhotos1,000UnlimitedSyncManual onlyScheduled automaticChange detection—IncludedWeb UI, search, albums, map, downloadsIncludedIncludedPrice$0 forever$4.99/monthThe free tier is fully functional — no nag screens, no time limits. 1,000 photos is enough to evaluate whether it works for your setup. Premium unlocks unlimited photos and automatic scheduling.Why not completely free? Neither iCloud nor Google Photos have fully open APIs. Keeping sync working requires ongoing engineering as Apple and Google change their authentication and session management. The subscription funds that continuous compatibility work.Tech detailsSingle container running Node.js (Hono/tRPC), Caddy (reverse proxy), Valkey (job queue), and SQLite. Uses s6-overlay for process management. No external dependencies — everything runs inside the container.Photos are stored as original files on disk (not in a database). Your files are just files — if you ever stop using Cloudberry, your photos are right there in the folder structure.Known limitationsiCloud requires an active account with 2FA enabledGoogle Photos support is newer — please report any issuesInitial sync of large libraries (50K+ photos) takes time — subsequent syncs are incrementalShared Albums are not yet supported (iCloud uses a different API for these)I'm actively developing this and responding to bug reports. If something's broken, let me know here and I'll get it sorted. Edited February 28Feb 28 by tindralabs minor error
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.