https://github.com/sebdeveloper6952/blossom-server
https://github.com/sebdeveloper6952/blossom-server
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/sebdeveloper6952/blossom-server
- Owner: sebdeveloper6952
- License: unlicense
- Created: 2024-03-29T20:36:56.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-07-21T00:06:33.000Z (10 months ago)
- Last Synced: 2024-07-24T10:26:54.301Z (10 months ago)
- Language: Go
- Size: 102 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Blossom Server
Go implementation of [Blossom Server](https://github.com/hzrd149/blossom/blob/master/Server.md)
### Live Instance
![]()
Running instance at [cdn.sebdev.io](https://cdn.sebdev.io). Currently there is no frontend, but you can use the instance with any Blossom client, like the awesome [Bouquet](https://bouquet.slidestr.net/)
### BUDs Implementation Status
- [x] [BUD-01](https://github.com/hzrd149/blossom/blob/master/buds/01.md)
- [x] [BUD-02](https://github.com/hzrd149/blossom/blob/master/buds/02.md)
- [x] [BUD-04](https://github.com/hzrd149/blossom/blob/master/buds/04.md)
- [x] [BUD-06](https://github.com/hzrd149/blossom/blob/master/buds/06.md)
- [x] [BUD-08](https://github.com/hzrd149/blossom/blob/master/buds/08.md) (basic)### Features
- set which pubkey(s) can upload/get blobs
- set which mime-type(s) are allowed (i.e. pdf, jpeg)
- set upload max file limit### Configuration
1. edit the `config.yml` file (use `config.yml.example` as base):
2. set `admin_pubkey` to the pubkey you want to have admin privileges. The admin can update the server settings: pubkey access, mime types, file size, etc.
3. set `api_addr` to the address where you want the CDN listening. If deploying behind a reverse proxy, this value could be left as `localhost:8000`.
4. set `cdn_url` to the domain where you will serve the CDN, i.e. `https://cdn.sebdev.io`. This value is used when listing blobs, it is prepended to the blob hash: `${cdn_url}/hash`.### Running
1. clone repo
2. build docker image `docker build -t blossom .`
3. run container `docker run --rm --name blossom -v ${PWD}/config.yml:/config.yml -v ${PWD}/db:/db -p 8000:8000 blossom`