Four things to make at AWS, in this order: a bucket, a policy that allows only that bucket, a user with that policy, and that user's keys. Then four fields in the app. Twenty minutes the first time.
- Sign in at console.aws.amazon.com/s3 and tap Create bucket.
- In the region menu at the top right pick the region closest to you, for example Europe (Milan) eu-south-1 or Europe (Frankfurt) eu-central-1. Write the code down; the app asks for it.
- Bucket type: General purpose. Bucket namespace: Global namespace.
- Bucket name: lower-case letters, digits and hyphens, unique in the world, for example
my-name-photos. Write it down too. - Object Ownership: ACLs disabled. Block all public access: ticked, as it comes. Bucket Versioning: Disable. Leave encryption as it comes.
- Tap Create bucket. The bucket is empty; the app fills it.
- In the search box at the top type IAM and open it. In the left menu tap Policies, then Create policy.
- Switch the editor from Visual to JSON, delete what is there, and paste this, with your bucket's name in place of
my-name-photos, in both places:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": "arn:aws:s3:::my-name-photos"
},
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"],
"Resource": "arn:aws:s3:::my-name-photos/*"
}
]
}- If the editor shows a red mark, a line break got into the text while pasting: delete everything and paste again.
- Tap Next, name the policy
opensolr-photos, tap Create policy.
The policy lets its holder list that one bucket and write, read and delete files in it. It cannot see any other bucket or anything else in your AWS account.
- In the left menu tap IAM users, then Create user.
- User name:
opensolr-photos. Leave Provide user access to the AWS Management Console unticked: this user never signs in anywhere. Tap Next. - Pick Attach policies directly. In the search box type
opensolr-photos, tick the policy you just made, tap Next. - Check the summary: one user, one policy. Tap Create user.
- Tap the user
opensolr-photosin the list, then the Security credentials tab. - Under Access keys tap Create access key. Pick Application running outside AWS, tap Next, then Create access key.
- You see an Access key and, after Show, a Secret access key. Copy both now: the secret is shown this one time. If you lose it, make a new key here and type the new one into the app.
- Tap Done.
- Me, Settings, Backup, Storage backend. Pick S3 bucket.
- Name: anything, for example AWS. It is only how the app refers to this backend.
- Endpoint: leave it empty. Empty means AWS, in the region you give.
- Region: the code you wrote down, such as
eu-south-1. - Bucket: the bucket's name.
- Access key and Secret key: the two values from step 04.
- Folder in the bucket: leave it empty, or give a folder name if you keep other things in the same bucket.
- Pick Originals or 1080p, tap Test connection, then Save and start backup. See Test connection, Save.
Roughly what it costs at AWS: storage by the gigabyte per month, a small one-time amount for the uploads, and download traffic only when files come back to a phone. See what it costs.
Backup and restore
- Backup to your own storage
- Backup settings
- Setting up an AWS S3 bucket
- Backblaze B2, Cloudflare R2, Wasabi, MinIO
- Setting up a WebDAV folder
- Test connection, Save
- The Photo backup screen
- What is written into your storage
- A new phone: your photos come back
- Photos only in the backend
- Downloading a full file
- Download all originals
- Change, Forget and Clear backend
- What it costs, and what it never does