blossom-server is a Typescript implementation of a Blossom Server
- BUD-01
GET /<sha256>
Retrieve blobHEAD /<sha256>
Check blob
- BUD-02
PUT /upload
Upload blobGET /list<pubkey>
List blobsDELETE /<sha256>
Delete blob
- BUD-04
PUT /mirror
Mirror blob
- BUD-06
HEAD /upload
Upload check
This app is also packaged as an npm module which you can easily run
# copy the example config
wget https://raw.githubusercontent.com/hzrd149/blossom-server/master/config.example.yml -O config.yml
# run using npx
npx blossom-server-ts
An example config file can be found here
# create data volume
docker volume create blossom_data
# run container
docker run -v blossom_data:/app/data -v $(pwd)/config.yml:/app/config.yml -p 3000:3000 ghcr.io/hzrd149/blossom-server:master
You can also run it using docker compose with the docker-compose.yml
file
This project uses pnpm to manage dependencies. It needs to be installed first in order to build the app
Next clone the repo, install the dependencies, and build
git clone https://github.com/hzrd149/blossom-server.git
cd blossom-server
pnpm install
cd admin && pnpm install && cd ../
pnpm build
Next copy the config and modify it
cp config.example.yml config.yml
nano config.yml
And finally start the app
pnpm start
# or
node .
Once the server is running you can open http://localhost:3000
to access the server