2024-09-22 14:26:23 +01:00
|
|
|
# route96
|
2024-05-14 10:04:42 +01:00
|
|
|
|
|
|
|
Image hosting service
|
|
|
|
|
|
|
|
## Features
|
2024-10-04 18:00:37 +01:00
|
|
|
|
2024-05-14 10:11:10 +01:00
|
|
|
- [NIP-96 Support](https://github.com/nostr-protocol/nips/blob/master/96.md)
|
2024-08-30 19:58:36 +01:00
|
|
|
- [Blossom Support](https://github.com/hzrd149/blossom/blob/master/buds/01.md)
|
2024-09-22 14:26:23 +01:00
|
|
|
- [BUD-01](https://github.com/hzrd149/blossom/blob/master/buds/01.md)
|
|
|
|
- [BUD-02](https://github.com/hzrd149/blossom/blob/master/buds/02.md)
|
|
|
|
- [BUD-06](https://github.com/hzrd149/blossom/blob/master/buds/06.md)
|
2024-08-30 19:58:36 +01:00
|
|
|
- Image compression to WebP (FFMPEG, NIP-96 only)
|
2024-05-29 12:14:00 +01:00
|
|
|
- Blurhash calculation (NIP-96 only)
|
|
|
|
- AI image labeling ([ViT224](https://huggingface.co/google/vit-base-patch16-224))
|
2024-05-14 10:04:42 +01:00
|
|
|
|
|
|
|
## Planned
|
2024-10-04 18:00:37 +01:00
|
|
|
|
2024-05-14 11:27:54 +01:00
|
|
|
- Torrent seed V2
|
|
|
|
|
|
|
|
## Running
|
|
|
|
|
|
|
|
### Docker Compose
|
2024-10-04 18:00:37 +01:00
|
|
|
|
2024-09-22 14:26:23 +01:00
|
|
|
The easiest way to run `route96` is to use `docker compose`
|
2024-05-14 11:27:54 +01:00
|
|
|
|
|
|
|
```bash
|
|
|
|
docker compose -f docker-compose.prod.yml up
|
|
|
|
```
|
2024-10-04 18:00:37 +01:00
|
|
|
|
2024-05-14 11:27:54 +01:00
|
|
|
### Manual
|
2024-10-04 18:00:37 +01:00
|
|
|
|
2024-05-14 11:27:54 +01:00
|
|
|
Assuming you already created your `config.toml` and configured the `database` run:
|
2024-10-04 18:00:37 +01:00
|
|
|
|
2024-05-14 11:27:54 +01:00
|
|
|
```bash
|
|
|
|
docker run --rm -it \
|
|
|
|
-p 8000:8000 \
|
|
|
|
-v ./config.toml:/app/config.toml \
|
|
|
|
-e "RUST_LOG=info" \
|
2024-09-22 14:26:23 +01:00
|
|
|
voidic/route96
|
2024-08-30 19:58:36 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
## Building
|
|
|
|
|
|
|
|
### Feature Flags
|
2024-10-04 18:00:37 +01:00
|
|
|
|
2024-08-30 19:58:36 +01:00
|
|
|
Default = `nip96` & `blossom`
|
2024-10-04 18:00:37 +01:00
|
|
|
|
2024-08-30 19:58:36 +01:00
|
|
|
- `nip96`: Enable NIP-96 support
|
|
|
|
- `blossom`: Enable blossom support
|
|
|
|
- `labels`: Enable AI image labeling (Depends on `nip96`)
|
|
|
|
|
2024-10-04 18:00:37 +01:00
|
|
|
### Default build:
|
|
|
|
|
2024-08-30 19:58:36 +01:00
|
|
|
`cargo build --release`
|
|
|
|
|
|
|
|
### Build only Blossom support
|
2024-10-04 18:00:37 +01:00
|
|
|
|
2024-08-30 19:58:36 +01:00
|
|
|
`cargo build --release --no-default-features --features blossom`
|
|
|
|
|
|
|
|
### Build dependencies
|
2024-10-04 18:00:37 +01:00
|
|
|
|
2024-08-30 19:58:36 +01:00
|
|
|
If you want to support NIP-96 you will need the following dependencies:
|
2024-10-04 18:00:37 +01:00
|
|
|
|
2024-08-30 19:58:36 +01:00
|
|
|
```bash
|
|
|
|
libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libavdevice-dev libavfilter-dev
|
2024-10-04 18:00:37 +01:00
|
|
|
```
|