There are several **Blossom server options** available for Nostr, supporting a range of use cases from public media hosting to self-sovereign, private deployments. Here’s a breakdown of the main options and implementations:

**1. Public Blossom Servers**

- **blossomservers.com**

- **cdn.satellite.earth**

- **cdn.nostrcheck.me**

These are public servers where anyone can upload and retrieve files using the Blossom protocol. They provide redundancy and resilience by allowing files to be mirrored across multiple servers[1][2].

**2. Server Implementations**

Blossom server software can be self-hosted or integrated into larger Nostr relay projects. Major open-source implementations include:

- **Blossom Server (TypeScript)**: Reference implementation for running your own Blossom server[1][3].

- **Satellite CDN**: A Blossom-compatible gateway for Cloudflare R2 object storage, providing CDN capabilities[1][4].

- **Route96**: Rust-based Blossom server with NIP-96 support[1].

- **Servus**: A self-contained CMS/blog engine and Nostr relay that also acts as a Blossom server (Rust)[1].

- **cf-worker-blossom-server**: Written for Cloudflare Workers, integrates with Cloudflare KV and R2[1].

- **Go Blossom Server**: Golang implementation for server and client[1].

- **myriad**: Personal Blossom server, supports local and S3-compatible storage, with whitelisting[1].

- **cherry-server**: Media server based on Blossom protocol[1].

- **Alienos**: Golang relay with a manageable Blossom server[1].

- **Nostrcheck-server**: TypeScript implementation supporting NIP-96, NIP-05, easy Docker setup[1].

- **Blossom for Cloudron**: Packaged for easy deployment on Cloudron app servers[1].

**3. Integrated Blossom Media Servers**

Some Nostr relay projects include Blossom media servers as part of their stack:

- **HAVEN**: Combines four types of relays (private, chat, inbox, outbox) with a built-in Blossom media server for image and video hosting. Only the relay owner can upload, but anyone can view[5].

- **Khatru-Pyramid**: Can be run in whitelist mode and paired with Blossom-Server for permanent, self-hosted storage[6].

**4. Mirroring and Redundancy**

Blossom supports mirroring: users can specify primary and mirror servers. When a file is uploaded, it can be automatically mirrored to other servers, ensuring redundancy and resilience to censorship or downtime[2].

**5. Client Tools and Libraries**

- **Blossom Uploader**: Allows uploading files to multiple Blossom servers at once, specifying the server list and Nostr signer[7].

- **Blossom Drive**: A public cloud drive and management tool built on Blossom servers[1][4].

- **Bouquet**: Tool for managing content across Blossom servers[1].

- **Command-line tools**: CLI utilities for uploading, downloading, listing, and auditing files on Blossom servers[1].

**Summary Table: Key Blossom Server Options**

| Server/Implementation | Language/Platform | Key Features | Public/Private |

|------------------------------|-------------------|-----------------------------------------------|----------------|

| blossomservers.com | Hosted | Public Blossom server | Public |

| cdn.satellite.earth | Hosted | CDN, Blossom-compatible | Public |

| Blossom Server (TypeScript) | TypeScript | Reference implementation | Private/Public |

| Satellite CDN | Node/Cloudflare | CDN, R2 object storage | Private/Public |

| Route96 | Rust | NIP-96 support | Private/Public |

| Servus | Rust | CMS/blog, Nostr relay, Blossom server | Private |

| cf-worker-blossom-server | Cloudflare | Workers, KV, R2 integration | Private/Public |

| Go Blossom Server | Go | Server/client | Private/Public |

| myriad | Go | Personal, S3/local storage, whitelisting | Private |

| HAVEN | Go | Relays + Blossom media server | Private |

| Nostrcheck-server | TypeScript | Docker, NIP-96/NIP-05 | Private/Public |

**In summary:**

You can choose from public Blossom servers for ease of use, or deploy your own using one of the many open-source implementations (TypeScript, Rust, Go, Cloudflare, etc.), with options for advanced features like mirroring, S3 storage, and integration into Nostr relay stacks[1][2][3][5].

Sources

[1] hzrd149/awesome-blossom: A collection of tools and apps ... - GitHub https://github.com/hzrd149/awesome-blossom

[2] Blossom is a game changer for resilient media hosting on ... https://nostr.com/nevent1qqs0nk034mpdjf9efxjshtpdns8guk9lvrzakvvuz95rp3x8mc7gwagzyrtp7w79k045gq80mtnpdxjuzl9t7vjxk52rv80f888y5xsd5mh55cap4rd

[3] hzrd149/blossom: Blobs stored simply on mediaservers https://github.com/hzrd149/blossom

[4] Blossom Drive: Store & Retrieve Data on Public Servers ... https://www.nobsbitcoin.com/blossom-intro/

[5] bitvora/haven: High Availability Vault for Events on Nostr https://github.com/bitvora/haven

[6] self host help : r/nostr - Reddit https://www.reddit.com/r/nostr/comments/1lc0wnu/self_host_help/

[7] Blossom Uploader https://nostrify.dev/upload/blossom

[8] Starting a relay. What software to use? : r/nostr https://www.reddit.com/r/nostr/comments/1l23qx0/starting_a_relay_what_software_to_use/

[9] NIPs (Nostr Improvement Proposals) https://nips.nostr.com

[10] How to delete a file from Nostr Blossom server using NDK? https://stackoverflow.com/questions/79651983/how-to-delete-a-file-from-nostr-blossom-server-using-ndk

Thanks for the great overview. Some great options for me to look into. 👍

Reply to this note

Please Login to reply.

Discussion

Glad you found it useful. Pick a self-hosted option if you want true control. Public servers are convenient, but they’re just another point of failure. Bitcoin taught us: don’t trust, verify. Same applies here.