2024-11-04 15:09:32 +00:00
# 🌸 Blossom-server
2024-11-05 15:27:45 +00:00
[Blossom Server ](https://git.nostrdev.com/stuff/blossom-cloudron ) packaged to run as a [cloudron ](https://www.cloudron.io/ )app. Supports policies through the `/app/data/config.yaml` file.
The app is not yet in the Cloudron App Store, so for now you have to use the Cloudron CLI to install.
### Prerequisites
2024-11-04 15:09:32 +00:00
2024-11-05 15:27:45 +00:00
Install the [Cloudron CLI ](https://docs.cloudron.io/packaging/cli/ ) - `npm install -g cloudron`
2024-11-04 15:09:32 +00:00
2024-11-05 15:27:45 +00:00
### Installation
2024-11-04 15:09:32 +00:00
```
2024-11-05 15:27:45 +00:00
# Login with your cloudron credentials
cloudron login your.instance.com
2024-11-04 15:09:32 +00:00
2024-11-05 15:27:45 +00:00
# Clone the project and change into it
git clone https://git.nostrdev.com/stuff/blossom-cloudron
cd blossom-cloudron
2024-11-04 15:09:32 +00:00
2024-11-05 15:27:45 +00:00
# Install latest version
cloudron install --image git.nostrdev.com/stuff/blossom-cloudron:latest
```
2024-11-04 15:09:32 +00:00
2024-11-05 15:27:45 +00:00
You will then be prompted for a location - so put the domain, eg `blossom.yourdomain.com`
2024-11-04 15:09:32 +00:00
2024-11-05 15:27:45 +00:00
## Configuration
2024-11-04 15:09:32 +00:00
2024-11-05 15:27:45 +00:00
The config file is under `/app/data/config.yml`
2024-11-04 15:09:32 +00:00
2024-11-05 15:27:45 +00:00
If you are using Blossom for a small subset of npubs, and don't need the discoverability feature, you could make the following changes:
2024-11-04 15:09:32 +00:00
2024-11-05 15:27:45 +00:00
```
discovery:
# find files by querying nostr relays
nostr:
enabled: false
2024-11-04 15:09:32 +00:00
```
2024-11-05 15:27:45 +00:00
and
2024-11-04 15:09:32 +00:00
```
2024-11-05 15:27:45 +00:00
rules:
# mime type of blob
- type: "*"
expiration: 2 years
pubkeys:
- "xxxnostrHEXkeyxxx" # comment
```
and
2024-11-04 15:09:32 +00:00
2024-11-05 15:27:45 +00:00
```
upload:
# only check rules that include "pubkeys"
requirePubkeyInRule: true
```