Rclone Google Photos is a powerful tool that allows you to access and manage your Google Photos library from the comfort of your own computer or mobile device.
Rclone is an open-source command-line program that supports over 40 cloud storage services, including Google Photos.
You can use Rclone to synchronize your Google Photos library with other cloud storage services, or to access your Google Photos library from a device that doesn't have the Google Photos app installed.
Rclone uses a simple and intuitive command-line interface that makes it easy to manage your Google Photos library.
Getting Started
Before you start using rclone with Google Photos, take some time to review your storage and data protection requirements. This will help you plan your deployment and consider the limitations of the Google Photos API.
Review the rclone Google Photos backend documentation to learn more about standard options and limitations. This will give you a better understanding of what to expect.
To get started, consider how you want to manage your media files on Google Photos and in your local dataset. Decide on the cloud sync task direction and transfer mode, remote folder to target, and new or existing local dataset to pull to or push from, that best fit your needs.
Before You Begin
Before you start setting up a Google Photos cloud sync task, it's essential to review your storage and data protection requirements. This will help you plan your deployment effectively.
You should consider your options carefully, as the Google Photos API has its own standard options and limitations. Refer to the rclone Google Photos backend documentation for more information.
Think about how you want to manage your media files on Google Photos and in your local dataset. Decide on the cloud sync task direction and transfer mode, remote folder to target, and new or existing local dataset to pull to or push from, that best fit your needs.
Select Google Photos as the Provider and enter a name.
Description
So you're getting started with gphotos, and you want to know about the description option. The description is an optional field that can be configured for your gphotos setup.
You can specify a description for your gphotos setup using the RCLONE_GPHOTOS_DESCRIPTION environment variable. This is a string type field, and it's not required.
Here's a quick rundown of how to set up the description:
- Config: description
- Env Var: RCLONE_GPHOTOS_DESCRIPTION
- Type: string
- Required: false
This means you can leave the description blank if you don't want to use it.
Configuration
To set up rclone with Google Photos, start by getting a token from Google Photos in your browser. rclone config will walk you through the initial setup process.
You'll need to create a new remote in rclone, which involves entering a name for the new remote and selecting the number corresponding to Google Photos from the list.
Enter y to authenticate rclone using the web browser, which will open a browser window to authorize rclone access. Click Allow to complete the authentication process.
rclone will then ask you to confirm whether to upload media items with full resolution. Enter y to complete the configuration.
You'll need to copy and save the type, client_id, client_secret, and token, then enter y to save the new remote.
To authenticate rclone, you'll need to paste your rclone token into the Token field.
Here's a brief summary of the steps:
Note that rclone runs a webserver on your local machine to collect the token as returned from Google. This webserver runs from the moment it opens your browser to the moment you get back the verification code, and can be accessed at http://127.0.0.1:53682/.
Photos and Sync
You can set the Google Photos backend to read-only, which means rclone will only request read-only access to your photos. This option is useful if you're concerned about data privacy.
To configure read-only access, you can set the `read_only` option in the rclone configuration or use the `RCLONE_GPHOTOS_READ_ONLY` environment variable.
You can also choose to pull files from Google Photos to a local dataset or push local files to Google Photos. The sync direction and mode determine how files are transferred between the two locations.
Photos
Managing your photos can be a challenge, especially with the vast amount of data we're all creating. You can set the Google Photos backend to read-only mode by enabling the "--gphotos-read-only" option in rclone.
If you choose read-only, rclone will only request read-only access to your photos, preventing any potential issues with data modification. This option can be configured in the rclone settings or set through an environment variable named RCLONE_GPHOTOS_READ_ONLY.
There are three options for transferring data between Google Photos and your local dataset: SYNC, COPY, and MOVE. SYNC will update files on the destination to match those on the source, while COPY will duplicate each source file into the destination, overwriting any existing files. MOVE will transfer files from the source to the destination and delete the source files.
To create a cloud sync task, go to Data Protection > Cloud Sync Tasks and click Add. Select the Google Photos backup credentials and verify them to ensure they're valid. Then, choose the direction (PUSH or PULL) and transfer mode (SYNC, COPY, or MOVE), and select the Google Photos location and local dataset.
Here are the available transfer modes:
You can also perform a dry run to test the task by simulating transferring a file, which can help identify any misconfigurations before running the task.
Size
The Google Photos API doesn't return the size of media, which can be a limitation when syncing files.
This means rclone can only do a file existence check when syncing to Google Photos.
You can enable the option to read the size of media, but it's a slow process that uses up a lot of transactions.
To do this, use the --gphotos-read-size option or set the read_size = true config parameter.
Here's a summary of how to enable reading media size:
- Use the --gphotos-read-size option
- Set the read_size = true config parameter
Start Year
The Start Year option is a useful feature when syncing photos with Google Photos. You can limit the photos to be downloaded to those uploaded after a specific year.
To set the start year, you can use the config option "start_year" or the environment variable "RCLONE_GPHOTOS_START_YEAR". This option is of type "int", meaning it requires a numerical value.
The default start year is set to 2000, but you can adjust this to suit your needs.
Encoding
Encoding is a crucial aspect of managing your photos and sync. You can configure the encoding settings through the config option.
The default encoding settings include Slash, CrLf, InvalidUtf8, and Dot. This setting can be overridden by setting the RCLONE_GPHOTOS_ENCODING environment variable.
To specify the encoding settings, you can use the following options: Config: encoding, Env Var: RCLONE_GPHOTOS_ENCODING, and Type: Encoding.
Batch Commit
Batch commit is a crucial aspect of photo syncing. The max time to wait for a batch to finish committing is set by the `--gphotos-batch-commit-timeout` flag.
This flag is configurable through two methods: the `batch_commit_timeout` config and the `RCLONE_GPHOTOS_BATCH_COMMIT_TIMEOUT` environment variable. Both options are available to fine-tune the batch commit process.
The default value for this timeout is 10 minutes, which can be adjusted to suit your needs.
Downloading Images
Downloading Images can strip EXIF location, a limitation of the Google Photos API.
This means that if you download images from Google Photos, you'll lose the location data embedded in the image files.
The Google Photos API doesn't allow photos to be downloaded at original resolution, which is a major limitation if you're relying on Google Photos as a backup.
You won't be able to use rclone to redownload original images, so it's essential to consider this when using Google Photos as a backup solution.
If you need to recover original images, you can use 'google takeout' as a last resort.
The date shown of media in Google Photos is the creation date determined by the EXIF information, or the upload date if that's not known.
Downloading Videos
Downloading videos from Google Photos can be a bit tricky. They're downloaded in a really compressed version compared to downloading them via the Google Photos web interface, which is covered by bug #113672044.
This compression can affect the video quality, making it less sharp or clear than you'd expect. I've noticed this myself when downloading videos from Google Photos on my phone.
Duplicates
Duplicates can be a real issue when syncing photos between devices and services. If you upload the same image twice, Google Photos will deduplicate it, but it will retain the filename from the first upload.
This can cause problems for rclone, which may get confused about the filename. For example, if you uploaded an image to one album and then uploaded the same image to another album, the filename in the second album will be what it was initially, not what you uploaded it with.
Rclone handles file name duplicates by adding the file ID into the name. So two files called file.jpg would become file {123456}.jpg and file {ABCDEF}.jpg.
Sources
- https://rclone.org/googlephotos/
- https://www.truenas.com/docs/scale/scaletutorials/dataprotection/cloudsynctasks/addgooglephotoscloudsynctask/
- https://snapshooter.com/learn/linux/install-and-use-rclone
- https://docs.saltbox.dev/reference/guides/rclone-remote/
- https://chrono.tilde.cafe/posts/leaving-google-photos-(part-1).html
Featured Images: pexels.com