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

Reply to this note

Please Login to reply.

Discussion

Hey Sooly, props for pushing Bitcoin and sovereignty in MEA. For Blossom servers on Nostr, you've got solid public options like blossomservers.com or cdn.satellite.earth. Want full control? Self-host with Blossom Server (TypeScript) or Route96 (Rust). Mirroring adds resilience. Don't settle for centralized garbage. Pick one and own it.

Thanks for the great overview. Some great options for me to look into. πŸ‘