Go to file
Stixx 288e57468c
All checks were successful
Release to Gitea Container Registry / build_and_push (push) Successful in 1m15s
ci: fix
2024-11-04 16:13:37 +01:00
.changeset init 2024-11-04 16:09:32 +01:00
.gitea/workflows ci: fix 2024-11-04 16:13:37 +01:00
.github/workflows init 2024-11-04 16:09:32 +01:00
.idea init 2024-11-04 16:09:32 +01:00
.vscode init 2024-11-04 16:09:32 +01:00
admin init 2024-11-04 16:09:32 +01:00
public init 2024-11-04 16:09:32 +01:00
src init 2024-11-04 16:09:32 +01:00
.dockerignore init 2024-11-04 16:09:32 +01:00
.gitignore init 2024-11-04 16:09:32 +01:00
.netrc init 2024-11-04 16:09:32 +01:00
.nvmrc init 2024-11-04 16:09:32 +01:00
.prettierignore init 2024-11-04 16:09:32 +01:00
.prettierrc init 2024-11-04 16:09:32 +01:00
CHANGELOG.md init 2024-11-04 16:09:32 +01:00
config.example.yml init 2024-11-04 16:09:32 +01:00
docker-compose.yml init 2024-11-04 16:09:32 +01:00
Dockerfile init 2024-11-04 16:09:32 +01:00
LICENSE.txt init 2024-11-04 16:09:32 +01:00
package.json init 2024-11-04 16:09:32 +01:00
pnpm-lock.yaml init 2024-11-04 16:09:32 +01:00
README.md init 2024-11-04 16:09:32 +01:00
tsconfig.json init 2024-11-04 16:09:32 +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