route96/README.md

67 lines
1.5 KiB
Markdown
Raw Normal View History

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