# podserv-b
[](https://github.com/l5yth/podserv-b/actions/workflows/rust.yml)
[](https://codecov.io/gh/l5yth/podserv-b)
[](https://github.com/l5yth/podserv-b/releases)
[](https://crates.io/crates/podserv-b)
[](https://github.com/l5yth/podserv-b)
[](https://github.com/l5yth/podserv-b/blob/main/LICENSE)
_a minimalist podcast server (type b) for serving media files on the web._

scans a provided directory of MP3 files, reads their ID3 tags, and serves a
minimalist-themed single-page web page with an embedded audio player, album
art, and download links. supports flat and nested media directories.
## installation
```sh
cargo build --release
```
binary is at `target/release/podserv-b`
## usage
```sh
./target/release/podserv-b
```
open `http://127.0.0.1:3000` in a browser.
### environment
| `MEDIA_DIR` | `media` | Path to the directory of MP3s |
| `BIND` | `127.0.0.1:3000` | Address and port to listen on |
```sh
MEDIA_DIR=/srv/podcasts BIND=0.0.0.0:8080 ./podserv-b
```
### configuration
create `Config.toml` in the working directory to customise the page:
```toml
title = "Funkfabrik B"
description = "FM Radio for Punks, Listeners, and Dogs"
website = "https://funkfabrik-b.de"
```
all fields are optional; defaults are used when the file is absent.