Go to file
Stixx a54bcbf38c
All checks were successful
Release to Gitea Container Registry / build_and_push (push) Successful in 7s
chore: fixing CloudronManifest
2024-11-05 12:11:36 +01:00
.gitea/workflows ci: fix 2024-11-04 16:13:37 +01:00
chief-config.toml fix: removing blossom source code from the repo 2024-11-05 12:04:03 +01:00
chief.json fix: removing blossom source code from the repo 2024-11-05 12:04:03 +01:00
CloudronManifest.json feat: Cloudron packing 2024-11-04 18:26:14 +01:00
config.example.yml init 2024-11-04 16:09:32 +01:00
DESCRIPTION.md feat: Cloudron packing 2024-11-04 18:26:14 +01:00
Dockerfile chore: fixing CloudronManifest 2024-11-05 12:11:36 +01:00
Dockerfile.backup fix: removing blossom source code from the repo 2024-11-05 12:04:03 +01:00
LICENSE.txt init 2024-11-04 16:09:32 +01:00
logo.png feat: Cloudron packing 2024-11-04 18:26:14 +01:00
POSTINSTALL.md feat: Cloudron packing 2024-11-04 18:26:14 +01:00
README.md init 2024-11-04 16:09:32 +01:00
start.sh fix: removing blossom source code from the repo 2024-11-05 12:04:03 +01:00

🌸 Blossom-server

blossom-server is a Typescript implementation of a Blossom Server

Supported BUDs

  • BUD-01
    • GET /<sha256> Retrieve blob
    • HEAD /<sha256> Check blob
  • BUD-02
    • PUT /upload Upload blob
    • GET /list<pubkey> List blobs
    • DELETE /<sha256> Delete blob
  • BUD-04
    • PUT /mirror Mirror blob
  • BUD-06
    • HEAD /upload Upload check

Running with npx

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

Running with docker

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

Running from source

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