Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Copyparty Uploader

requisiterequisite32 downloads

Paste or drop media files and have them automatically uploaded to your self-hosted Copyparty server and embedded in your note.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates1

[!WARNING] Back up your vault before using this plugin. By default, it uploads attachments to Copyparty based on your current Obsidian attachment settings, and it may remove the local files from your vault without rewriting the links in your notes.

If you want to migrate gradually, use the migration command to upload and rewrite attachments note by note.

To test the plugin safely before fully committing, temporarily change Settings → Files & Links → Default location for new attachments to a separate folder and try it there first.


Paste or drop any media file into Obsidian and it gets uploaded to your self-hosted Copyparty server automatically. The file never touches your vault — only the embed is inserted.

Demo

record-2026-05-26_02-28-51

What it does

Action Result
Paste image from clipboard Uploads → ![filename](https://raw.githubusercontent.com/r3quisitevariety/copyparty-obsidian/HEAD/url?raw)
Paste/drop video Uploads → <video src="url?raw" controls>
Paste/drop audio Uploads → <audio src="url?raw" controls>
Paste/drop PDF Uploads → ![filename](https://raw.githubusercontent.com/r3quisitevariety/copyparty-obsidian/HEAD/url?raw)
Drop any other file Uploads → [filename](url?raw)
Run "Migrate local attachments" command Uploads existing local files in currently viewed note and rewrites links

Installation

If you have downloaded the plugin through the community plugins tab, skip the installation section and head over towards Configuration.

1. Download Release on Github

Download the latest release, ensuring you have downloaded main.js & manifest.json.

2. Install

Copy the files into your vault's plugin folder:

# make the directory "copyparty-uploader" under .obsidian/plugins if it doesnt exist
cp main.js manifest.json ~/path/to/vault/.obsidian/plugins/copyparty-uploader

# this is what the directory should look like
.obsidian/plugins/copyparty-uploader/
  main.js
  manifest.json

If you are on windows, drag the files to the plugins directory under your vault, ensuring you have made a folder called "copyparty-uploader".

Then enable the plugin in Obsidian → Settings → Community Plugins. (Should be called "Copyparty Uploader")

Development

Installation steps for development. Follow steps above instead if you just want to use the plugin without developing it.

1. Build

git clone https://github.com/r3quisitevariety/copyparty-obsidian.git
cd copyparty-obsidian
npm install
npm run build

2. Install

Copy the output files into your vault's plugin folder:

# make the directory "copyparty-uploader" under .obsidian/plugins if it doesnt exist
cp main.js manifest.json ~/path/to/vault/.obsidian/plugins/copyparty-uploader

# this is what the directory should look like
.obsidian/plugins/copyparty-uploader/
  main.js
  manifest.json

Then enable the plugin in Obsidian → Settings → Community Plugins. (Should be called "Copyparty Uploader")

Configuration

1. Configure

Go to Settings → Copyparty Uploader:

  • Server URL: http://your-ip-here:3923 (no trailing slash)
  • Upload path: /obsidian-uploads or wherever you want files to land
  • Username / Password: leave blank if your upload path has w: * (world-writable)

Hit Test to confirm connectivity.

2. Copyparty config

Make your upload directory world-writable so no credentials are needed:

[/obsidian-uploads]
/path/to/obsidian-uploads
accs:
  rwda: you
  rw: *        ← world read+write, no password

Or keep it write-only from outside and enter your credentials in plugin settings.

Also ensure you have the following option in your global config to allow copyparty to properly communicate with obsidian:

[global]
allow-csrf

Note that this plugin has been tested on a LAN + tailscale setup. The allow-csrf option is unsafe on the public internet, and the author advises against using it in general. A more secure setup would involve a reverse proxy configuration, but I have not tested that yet.

Migrate existing local attachments

Run the command palette → Copyparty: Upload all local attachments in this note to retroactively move any ![[local-file.png]] or ![](https://raw.githubusercontent.com/r3quisitevariety/copyparty-obsidian/HEAD/relative/path.mp4) references out of your vault and onto the server.

Notes

  • Filenames are sanitized with timestamps + original filename before upload.
  • If upload fails, Obsidian's default paste behaviour is blocked for that file and an error notice is shown. The file is not saved locally as fallback — this is intentional for a thin-client setup.
  • Auth credentials are stored in .obsidian/plugins/copyparty-uploader/data.json (plain text). Fine for a local homelab, not for anything public-facing.
HealthExcellent
ReviewPassed
About
Upload pasted or dropped media and files to your self-hosted Copyparty server, inserting remote embeds or links so files never enter your vault. Migrate local attachments in the current note and rewrite links, handling images, video, audio, PDFs and other file types with appropriate embeds.
AttachmentsImportIntegrations
Details
Current version
1.0.0
Last updated
3 weeks ago
Created
3 weeks ago
Updates
1 release
Downloads
32
Compatible with
Obsidian 1.0.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
requisiterequisiter3quisitevariety
GitHubr3quisitevariety
  1. Community
  2. Plugins
  3. Attachments
  4. Copyparty Uploader

Related plugins

Zotero Integration

Insert and import citations, bibliographies, notes, and PDF annotations from Zotero.

Readwise Official

Sync highlights from Readwise to your vault.

ZotLit

Integrate with Zotero, create literature notes, and insert citations from a Zotero library.

Local Images Plus

A reincarnation of Local Images to download images in Markdown notes to local storage.

Nexus AI Chat Importer

Import AI chat conversations from ChatGPT, Claude, and Mistral Vibe (formerly Le Chat) exports into Obsidian as clean, readable Markdown files.

Image auto upload

Upload images from your clipboard by PicGo.

Make It Rain

Pull Raindrop.io bookmarks, highlights, and attachments into Markdown notes with rich metadata, smart folder structures, and native file support.

Snipd Official

Sync Snipd podcast highlights to your vault with transcript, notes, AI summaries and metadata.

Telegram Sync

Transfer messages and files from Telegram to Obsidian.

Importer

Convert your data to Markdown files you can use in Obsidian. Works with Apple Notes, OneNote, Evernote, Notion, Google Keep, and many other formats.