up:: Obsidian Plugins
tags:: #obsidian #plugin
Obsidian Plugin - S3 Image Uploader
- GitHub:: https://github.com/jvsteiner/s3-image-uploader
- Documentation:: No docs found
- Obsidian URL:: https://obsidian.md/plugins?id=s3-image-uploader
- Obsidian URI:: obsidian://show-plugin?id=s3-image-uploader
- Settings:: obsidian://advanced-uri?settingid=s3-image-uploader
- Mobile-compatible:: true
Overview
- It is a solution for uploading media files like images, videos, audios, and PDF, to a S3-Compatible cloud storage.
- It supports upload on:
- drag and drop
- copy and paste
- It supports the option to copying the files to a local folder instead of uploading
If you do not want this behavior in all notes, you can customize it on a per note basis.
- You can add an
uploadOnDrag
YAML frontmatter tag to the note, as seen below. - You can also set the
localUpload
option totrue
, which will copy the images to a folder in your local file system, instead of uploading them to the cloud, overriding the global setting. - You can also set note specific folder where the images will be uploaded to, by adding the
localUploadFolder
option to the YAML frontmatter. This overrides the global setting.
These settings override the global settings. The uploadOnDrag
tag affects both S3 and local uploads. The other two options only affect local uploads.
---
uploadOnDrag: true
localUpload: true
localUploadFolder: "my-folder"
---
Installation
You have to set up your own s3 bucket, or s3-compatible service like Cloudflare R2, and configure it as below:
- Create an R2 Bucket
- Generate an R2 API Token to get:
- Token value
- Access Key ID
- Secret Access Key
- Use jurisdiction-specific endpoints for S3 clients
- Set your bucket for public access and get
Public R2.dev Bucket URL
- Configure as below
- Set
AWS Access Key ID
as "Access Key ID" value you got on step 2.3 - Set
AWS Secret Key
as "Secret Access Key" value you got on step 2.2 - Set
Region
asauto
- Set
S3 Bucket
as the name of the bucket you created in step 1 Bucket folder
: the folder in your bucket where you want to store the images (optional, and will be created on the fly if it does not exist.)- Enable flag
Use custom endpoint
- Set
Custom S3 Endpoint
as "Use jurisdiction-specific endpoints for S3 clients" value you got on step 2.4 - Enable flag
Use custom image URL
- Set
Custom image URL
as "Public R2.dev Bucket URL" value you got on step 3 - NECESSARY STEP: Restart Obsidian
- Set
Preferences
I am using Cloudflare R2 Cloud Storage, since it has a generous free-tier, and I am already hosting my website.
Tricks
- It requires restarting Obsidian to update the settings.
- The region for R2 is
wnam