core

module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2026 License: GPL-3.0

README

MuxCore

CI Go Version Release

AI transparency: Portions of this codebase may be written with AI assistance. Every change — human, AI, or hybrid — goes through the same rigorous pipeline: mandatory code review, automated testing, Dependabot security scanning, and a capability-based security model that limits blast radius regardless of code origin.

Beta software: MuxCore is pre-1.0 beta software under active development. APIs, module interfaces, and contract definitions are not stable and may change or break without notice. Do not run it on production data or in environments where data loss, downtime, or unexpected behavior is unacceptable.

A distributed fabric for media orchestration. Core is the loom. Everything else is a thread you weave in.


The Problem

The *arr stack hits a ceiling. It's monolithic — you can't split the load across machines. Each media type needs its own program: Radarr for movies, Sonarr for TV, Lidarr for music. Your 1080p and 4K libraries? Two separate instances. Content pipelines are rigid. When a machine goes down, nothing takes over.


What MuxCore Is

MuxCore is a single platform that replaces the entire *arr stack. Every feature — downloading, indexing, playback, transcoding, notifications — is a pluggable module. Add what you need. Replace what you don't. Scale from a single machine to a cluster without rebuilding.

Core's iron rule: if a new media type requires changing the platform, the architecture is wrong. Core knows nothing about movies, TV, music, or books. It provides the base loom — an event bus, module registry, HTTP server, gRPC mesh, storage orchestrator, and audit pipeline — and gets out of the way. Everything else (secrets, databases, caches, metrics, tracing, and 20+ more services) is discovered at runtime via module capabilities. Everything media-specific lives in modules.

What you're used to How MuxCore does it
One program per media type One platform, any media type
Hardcoded workflows Configurable pipelines you define
One machine, one ceiling Add machines, split the load
1080p and 4K need two Sonarr instances One library, any number of qualities
If a node goes down, nothing takes over Task redistribution planned for pre-1.0
Storage must be local or NFS-mounted Storage can be local, S3, cloud, or mixed

Quick Start

go install github.com/Muxcore-Media/core/cmd/muxcored@latest
muxcored --tag default

That starts the loom and loads the official default modules from the spool. To start without modules (bare loom), omit --tag. → Full getting started guide

Config file: copy muxcore.example.json to muxcore.json and edit. JSON Schema for editor validation: muxcore.schema.json


Documentation

New to MuxCore? Building modules? Running it?
Core Concepts Module System Getting Started
Event System Writing Modules Deployment
Storage Contracts Reference Security
Workflow Engine Roadmap
Architecture
Configuration Reference

License

GPL-3.0


MuxCore is a distributed fabric for media orchestration. The loom never changes. The threads are yours to define.

Directories

Path Synopsis
cmd
muxcored command
internal
api
audit
Package audit provides a default file-based audit logger for MuxCore.
Package audit provides a default file-based audit logger for MuxCore.
eventpolicy
Package eventpolicy provides a built-in event publish policy that enforces module capability checks on event publication.
Package eventpolicy provides a built-in event publish policy that enforces module capability checks on event publication.
health
Package health provides core self-health checking.
Package health provides core self-health checking.
startup
Package startup provides invariant checks that run before core fully boots.
Package startup provides invariant checks that run before core fully boots.
version
Package version provides the core build version and compatibility checks.
Package version provides the core build version and compatibility checks.
pkg
proto
sdk
go/client module
go/module module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL