Selfhosted Owncast directory written in Rust
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Yarmo Mackenbach 6ecc0f28c2
Don't assume number in HLS url
3 months ago
src Don't assume number in HLS url 3 months ago
static Initial commit 3 months ago
templates Generate local logo images 3 months ago
.drone.yml Add drone.yml 3 months ago
.gitignore Initial commit 3 months ago
CHANGELOG.md Release 0.1.0 3 months ago
Cargo.lock Initial commit 3 months ago
Cargo.toml Initial commit 3 months ago
Dockerfile Initial commit 3 months ago
LICENSE Initial commit 3 months ago
README.md Release 0.1.0 3 months ago
config.template.toml Initial commit 3 months ago

README.md

Ownroll

Selfhosted Owncast directory written in Rust.

Introduction

Ownroll is a curated Owncast directory.

This tool fetches the status of the Owncast instances provided in the config.toml file and, if online, generates a thumbnail for the streams. Then a static site is generated and the tool exits.

The idea is that the tool is run periodically by cron jobs/systemd timers/etc. and the generated website served statically.

Ownroll needs ffmpeg to be installed.

Usage

Config

Copy the config.template.toml to config.toml and edit the new file.

Native rust

If you have rust installed, run:

cargo run

Docker (local build)

If you have docker installed, run:

docker build -t ownroll .
docker run --rm --user "$(id -u)":"$(id -g)" -v "$PWD":/usr/src/ownroll -w /usr/src/ownroll ownroll:latest ownroll

Docker (dockerhub)

If you have docker installed, run:

docker run --rm --user "$(id -u)":"$(id -g)" -v "$PWD":/usr/src/ownroll -w /usr/src/ownroll yarmo/ownroll:latest ownroll

There is also an unstable "dev" channel.

State of the project

I'm using Ownroll to learn the rust programming language and while I wouldn't publish the code if it couldn't run, do:

  • expect bugs;
  • expect suboptimal code;
  • expect big breaking changes at any point.

I greatly appreciate all constructive criticism and improvement tips. All contributions are welcome.

Roadmap

  • Binary builds
  • Make ffmpeg optional
  • ActivityPub notification posting
  • Documentation
  • Tests