Install Cloudberry
Run Cloudberry on any Docker host in minutes.
Cloudberry runs as a single Docker container. It bundles everything it needs — a reverse proxy, job queue, and application server — so there are no external databases or dependencies to configure. Pick your platform below to get started.
Quick start
One command to get running. Works on any system with Docker installed.
docker run -d \
--name cloudberry \
-p 6585:8080 \
-v /path/to/config:/config \
-v /path/to/photos:/photos \
-e MASTER_KEY=$(openssl rand -hex 32) \
-e TZ=Europe/London \
--restart unless-stopped \
tindralabs/cloudberry:latest
Then open http://your-server:6585 in your browser.
Platform guides
Select your platform for step-by-step instructions.
Install Docker Desktop
Download and install Docker Desktop for Mac or Windows. Make sure it's running before continuing.
Create directories
Create folders to store your Cloudberry configuration and synced photos.
mkdir -p ~/cloudberry/config ~/cloudberry/photos Run the container
Open a terminal and run the following command.
docker run -d \
--name cloudberry \
-p 6585:8080 \
-v ~/cloudberry/config:/config \
-v ~/cloudberry/photos:/photos \
-e MASTER_KEY=$(openssl rand -hex 32) \
-e TZ=Europe/London \
--restart unless-stopped \
tindralabs/cloudberry:latest Open the web UI
Navigate to http://localhost:6585 in your browser. You'll be prompted to set a password and connect your Apple ID.
Docker Compose
Prefer Docker Compose? Save this as docker-compose.yml and run docker compose up -d.
services:
cloudberry:
image: tindralabs/cloudberry:latest
ports:
- "6585:8080"
volumes:
- /path/to/config:/config
- /path/to/photos:/photos
environment:
- MASTER_KEY=${MASTER_KEY}
- TZ=Europe/London
- PUID=1000
- PGID=1000
restart: unless-stopped
Generate your MASTER_KEY with: openssl rand -hex 32. Store it in a .env file alongside your docker-compose.yml.
Environment variables
Configure Cloudberry with these environment variables.
MASTER_KEY Required Encryption key for stored credentials. Generate with openssl rand -hex 32.
TZ Recommended Timezone for sync scheduling. Examples: Europe/London, America/New_York.
PUID NAS User ID for file ownership. Check with id -u on your host. Important for NAS platforms.
PGID NAS Group ID for file ownership. Check with id -g on your host. Important for NAS platforms.
Volumes
/config SQLite database, thumbnail cache, and Valkey data. Back this up regularly.
/photos Original photos and videos synced from iCloud. Point this to your bulk storage.
After installation
Open the web UI
Navigate to http://your-server:6585 in your browser.
Set a password
Create your admin password on first launch.
Connect your Apple ID
Sign in with your Apple ID and complete two-factor authentication.
Start your first sync
Trigger a manual sync to begin downloading your photo library.
Activate your license (optional)
Enter your license key under Settings to unlock premium features like unlimited accounts, scheduled sync, and change detection.
Need help getting started?