Automated YouTube uploader with filesystem watching, subtitle generation, and intelligent scheduling.
  • Go 97.1%
  • Makefile 1.4%
  • Shell 1.1%
  • Dockerfile 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Mike 'Fuzzy' Partin 2d87ab7655
All checks were successful
Test and Release / test (pull_request) Successful in 3m8s
Test and Release / lint (pull_request) Successful in 3m44s
feat: mark v1.0.0 release preparation tasks as complete
2026-06-26 01:50:27 -07:00
.forgejo/workflows feat: update build configuration and version info for hermes command 2026-06-25 21:43:46 -07:00
cmd/hermes feat: add health check endpoint with graceful shutdown support 2026-06-26 01:47:16 -07:00
config feat: mark completed tasks in roadmap and add goconst nolint comments to test files 2026-06-26 01:38:47 -07:00
docs docs: add comprehensive documentation and setup guides 2026-06-26 01:37:09 -07:00
internal feat: mark completed tasks in roadmap and add goconst nolint comments to test files 2026-06-26 01:38:47 -07:00
pkg chore: add gitkeep file to pkg directory 2026-06-25 21:43:46 -07:00
.gitignore feat: add ci pipeline, pre-commit hooks, and project roadmap 2026-06-25 21:03:47 -07:00
.golangci.yml feat: add golangci-lint configuration and improve config package 2026-06-25 22:08:28 -07:00
.pre-commit-config.yaml feat: add ci pipeline, pre-commit hooks, and project roadmap 2026-06-25 21:03:47 -07:00
Dockerfile feat: add docker support and install script 2026-06-26 01:37:32 -07:00
example.yaml feat: add config loading and health endpoint with graceful shutdown 2026-06-26 01:45:55 -07:00
go.mod feat: add youtube authentication package with OAuth2 support 2026-06-25 22:45:49 -07:00
go.sum feat: add youtube authentication package with OAuth2 support 2026-06-25 22:45:49 -07:00
hermes.service feat: add docker support and install script 2026-06-26 01:37:32 -07:00
install.sh feat: add docker support and install script 2026-06-26 01:37:32 -07:00
Makefile feat: add makefile for building and managing hermes binary 2026-06-25 21:43:46 -07:00
README.md docs: add comprehensive documentation and setup guides 2026-06-26 01:37:09 -07:00
ROADMAP.md feat: mark v1.0.0 release preparation tasks as complete 2026-06-26 01:50:27 -07:00

hermes

Automated YouTube video uploader with filesystem watching, subtitle generation, and scheduling.

Quick Start

# Install
go install git.lan.thwap.org/thwap/hermes/cmd/hermes@latest

# Configure
cat > config.yaml <<EOF
base_dir: ./hermes-data
channels:
  - id: UC...
    handle: "@channel"
    rate_limit: 2
EOF

# Run
hermes -config config.yaml

Features

  • Filesystem watcher for staged video+zip pairs
  • YouTube Data API v3 upload with OAuth2
  • Whisper.cpp subtitle generation (SRT/VTT)
  • Per-channel rate limiting and scheduling
  • Notification hooks on upload events
  • Transaction-like processing with state recovery
  • Health monitoring (heartbeat, disk space)

Configuration

See docs/config.md for full reference.