No description
  • Go 69.9%
  • TypeScript 25.9%
  • Dockerfile 3.9%
  • JavaScript 0.2%
Find a file
2026-03-25 04:19:17 +00:00
cmd whole thing 2026-03-25 04:15:34 +00:00
dashboard whole thing 2026-03-25 04:15:34 +00:00
internal fixes for using right image location 2026-03-25 04:19:17 +00:00
pkg git keep file 2026-02-25 22:18:51 +00:00
third_party/linuxmatters whole thing 2026-03-25 04:15:34 +00:00
.dockerignore whole thing 2026-03-25 04:15:34 +00:00
.gitignore Initial commit 2026-02-25 23:17:28 +01:00
config.yaml whole thing 2026-03-25 04:15:34 +00:00
Dockerfile whole thing 2026-03-25 04:15:34 +00:00
go.mod whole thing 2026-03-25 04:15:34 +00:00
go.sum whole thing 2026-03-25 04:15:34 +00:00
LICENSE Initial commit 2026-02-25 23:17:28 +01:00
README.md fixes for using right image location 2026-03-25 04:19:17 +00:00

automation

Queue-based automation for jivetalking, jivedrop, and jivefire using libfilerunner-go. The worker calls the vendored Go projects directly (no subprocess exec).

The default queue backend is S3. Directory backend remains available as fallback.

Queues

Each queue uses <queue_dir>/{input,in-progress,failed}:

  • jivetalking (file queue): one audio file per claim.
  • jivedrop_standalone (directory queue): one audio file + one metadata file (.json or .yaml/.yml).
  • jivedrop_hugo (directory queue): one audio file + one Hugo markdown file (.md).
  • jivefire_standalone (directory queue): one audio file + one metadata file (.json or .yaml/.yml).

Outputs are written to each queue's configured output_dir and are not kept inside queue claims.

Run

go run ./cmd/automation --config config.yaml

Process a single polling cycle and exit:

go run ./cmd/automation --config config.yaml --once

For directory queues instead of S3, set queue_backend: directory and use each queue's queue_dir.

Metadata Contracts

jivedrop_standalone

cover must be a URL in standalone mode. The worker downloads it and passes the local temporary file into jivedrop's encoder/tagging flow.

title: "Episode Title"
num: 67
cover: "https://example.com/artwork.png"
artist: "Linux Matters"
album: "All Seasons"
date: "2026-03"
comment: "https://linuxmatters.sh/67"
stereo: false

jivefire_standalone

background_image and thumbnail_image must be URLs. The worker downloads them and passes the local temporary files into jivefire's renderer. Both fields are optional.

episode: 67
title: "Episode Title"
channels: 1
bar_color: "#A40000"
text_color: "#F8B31D"
background_image: "https://example.com/background.png"
thumbnail_image: "https://example.com/thumbnail.png"
no_preview: true
encoder: "software"
output: "episode-67.mp4"