DEV Community

Xinzhi Sherry Zhu
Xinzhi Sherry Zhu

Posted on • Originally published at zenn.dev

Sync Obsidian via S3 with Remotely Save Plugin

Sync Obsidian via S3 with Remotely Save Plugin

Setting up Obsidian sync via S3 using the Remotely Save plugin.

Overview

While Obsidian offers official sync through a paid subscription, I wanted a cost-effective, pay-as-you-go solution. This guide shows how to sync Obsidian content across different devices using the Remotely Save community plugin with AWS S3 as storage.

Plugin Used: Remotely Save

https://github.com/remotely-save/remotely-save

Process Overview

  • Create an S3 bucket in AWS
  • Create an IAM user with S3 bucket permissions
  • Get user credentials
  • Configure Remotely Save with the credentials

AWS Setup

I'll use AWS CLI commands (assuming AWS CLI is already configured).

1. Create S3 Bucket for Obsidian Sync

aws s3 mb s3://your-bucket-name
Enter fullscreen mode Exit fullscreen mode

Replace your-bucket-name with your chosen bucket name. It must be globally unique.
The bucket will be created in your AWS CLI profile's default region. Remember which region you use.

2. Create IAM User

# Create user
aws iam create-user --user-name s3-sync-user
Enter fullscreen mode Exit fullscreen mode

3. Attach IAM Policy

For security, we'll create a policy that grants minimal permissions only to the specific bucket.
Replace your-bucket-name with your actual bucket name:

aws iam put-user-policy --user-name s3-sync-user --policy-name ObsidianS3Access --policy-document '{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject", 
        "s3:DeleteObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::your-bucket-name",
        "arn:aws:s3:::your-bucket-name/*"
      ]
    }
  ]
}'
Enter fullscreen mode Exit fullscreen mode

4. Generate Credentials

Create access key and secret key for the user:

aws iam create-access-key --user-name s3-sync-user
Enter fullscreen mode Exit fullscreen mode

You'll get credentials like this:

{
    "AccessKey": {
        "UserName": "s3-sync-user",
        "AccessKeyId": "your-access-key-id",
        "Status": "Active",
        "SecretAccessKey": "your-secret-access-key",
        "CreateDate": "2025-07-21T08:39:23+00:00"
    }
}
Enter fullscreen mode Exit fullscreen mode

Obsidian Setup

You need to configure each device (PC/smartphone) you want to sync.

1. Enable Community Plugins and Install Remotely Save

Go to Preferences → Community Plugins → Browse
community-plugins

2. Enable Remotely Save

remotely-save

3. Configure Remotely Save

remotely-save-setting

The endpoint and region must match your bucket's region:

  • Choose A Remote Service: S3 or compatible
  • Endpoint: s3.ap-northeast-1.amazonaws.com
  • Region: ap-northeast-1
  • Access Key ID: Your obtained Access Key ID
  • Secret Access Key: Your obtained Secret Access Key
  • Bucket Name: Your created bucket name
  • S3 URL style: Path-style

Other settings are personal preferences.

4. Test Connection

Click "Check Connectivity" to verify the connection works.
If successful, no need to save manually - just close the window to exit settings.
Once complete, you'll see a new Sync icon on the left sidebar. Click it to test actual syncing.

5. Configure Other Devices

For cross-device sync, apply the same configuration on your smartphone/other PCs to enable syncing.

Summary

This article explained how to use AWS IAM to generate credentials and sync with an S3 bucket using Obsidian's Remotely Save plugin.

Original Article

This is the English translation of my original Japanese article: https://zenn.dev/arvehisa/articles/8748b1847b0c5e

Top comments (0)