No description
  • Go 95.6%
  • Python 1.3%
  • Shell 0.8%
  • Rust 0.8%
  • TypeScript 0.7%
  • Other 0.8%
Find a file
zemdregon 083fbb2ca3 chore(deps): bump docker/setup-buildx-action to v4
Self-hosted CI workflows only.
2026-08-10 18:13:32 -05:00
.githooks Security hardening, new provider contracts & cross-node mesh routing — TLS hardening, auth, audit fixes, gap contracts, cluster mesh routing, README rewrite 2026-06-08 00:53:04 -05:00
.github chore(deps): bump docker/setup-buildx-action to v4 2026-08-10 18:13:32 -05:00
.well-known v1.0.0-rc.1: core infrastructure, security hardening, deployment tooling, and comprehensive testing 2026-06-12 09:41:17 -04:00
cmd fix(ci): drop -race on self-hosted and clear lifecycle lint 2026-08-10 10:48:32 -05:00
core Initial project bootstrap — project skeleton, CI, test infrastructure, module structure 2026-06-08 00:52:53 -05:00
deploy v1.0.0-rc.1: core infrastructure, security hardening, deployment tooling, and comprehensive testing 2026-06-12 09:41:17 -04:00
docs v1.0.0-rc.1: core infrastructure, security hardening, deployment tooling, and comprehensive testing 2026-06-12 09:41:17 -04:00
internal fix(events): stop workers before Close drain to avoid dropped events 2026-08-10 11:04:27 -05:00
pkg/contracts feat(storage): remote StorageService sidecar wiring (#63) 2026-08-10 05:22:07 -05:00
proto fix: add missing module protos, media events, and settings mesh SDK 2026-08-07 11:21:55 -05:00
scripts fix(ci): drop -race on self-hosted and clear lifecycle lint 2026-08-10 10:48:32 -05:00
sdk feat(sdk/rust): module register/lifecycle scaffold (v0.1.0) (#66) 2026-08-10 05:42:57 -05:00
.dockerignore Security hardening, new provider contracts & cross-node mesh routing — TLS hardening, auth, audit fixes, gap contracts, cluster mesh routing, README rewrite 2026-06-08 00:53:04 -05:00
.env.example v1.0.0-rc.1: core infrastructure, security hardening, deployment tooling, and comprehensive testing 2026-06-12 09:41:17 -04:00
.gitignore v1.0.0-rc.1: core infrastructure, security hardening, deployment tooling, and comprehensive testing 2026-06-12 09:41:17 -04:00
.go-arch-lint.yml fix: CI pipeline — lint, fuzz test, go-arch-lint, go-mod-outdated, protobuf 2026-06-12 14:07:25 -05:00
.golangci.yml fix: CI pipeline — lint, fuzz test, go-arch-lint, go-mod-outdated, protobuf 2026-06-12 14:07:25 -05:00
.goreleaser.yaml fix(release): drop cosign sign-blob --yes for runner cosign 2026-08-10 11:00:05 -05:00
CHANGELOG.md fix(release): install cosign 2.x before GoReleaser on self-hosted 2026-08-10 11:14:29 -05:00
COMPATIBILITY.md v1.0.0-rc.1: core infrastructure, security hardening, deployment tooling, and comprehensive testing 2026-06-12 09:41:17 -04:00
CONTRIBUTING.md v1.0.0-rc.1: core infrastructure, security hardening, deployment tooling, and comprehensive testing 2026-06-12 09:41:17 -04:00
cosign.pub SLSA provenance, audit logging & sidecar module architecture — SLSA build provenance, comprehensive audit logging, runtime module loading via sidecar gRPC, service bridge 2026-06-08 00:53:11 -05:00
docker-compose.yml Security audit fixes (May 2026) — call policy bypass fix, contract interface hardening, anti-vibe audit, Docker HEALTHCHECK, README badges 2026-06-08 00:53:32 -05:00
Dockerfile build(deps): bump golang from 87a41d2 to 2005724 (#24) 2026-08-09 19:08:41 -05:00
Dockerfile.goreleaser feat(release): publish muxcored image to GHCR via GoReleaser 2026-08-09 16:19:02 -05:00
go.mod fix(ci): bump grpc for GO-2026-6061 and fix SLSA predicate for cosign (#41) 2026-08-09 18:14:32 -05:00
go.sum fix(ci): bump grpc for GO-2026-6061 and fix SLSA predicate for cosign (#41) 2026-08-09 18:14:32 -05:00
LICENSE Initial project bootstrap — project skeleton, CI, test infrastructure, module structure 2026-06-08 00:52:53 -05:00
Makefile fix(ci): drop -race on self-hosted and clear lifecycle lint 2026-08-10 10:48:32 -05:00
muxcore.example.json Core completion — leader election, backpressure, WAL, admin UI removal, gaps round 2/3, batch 1 bugs, v0.1.0 release 2026-06-08 00:53:41 -05:00
muxcore.schema.json Core completion — leader election, backpressure, WAL, admin UI removal, gaps round 2/3, batch 1 bugs, v0.1.0 release 2026-06-08 00:53:41 -05:00
README.md fix(ci): drop -race on self-hosted and clear lifecycle lint 2026-08-10 10:48:32 -05:00
SECURITY-AUDIT-2026-05-27.md Security audit fixes (May 2026) — call policy bypass fix, contract interface hardening, anti-vibe audit, Docker HEALTHCHECK, README badges 2026-06-08 00:53:32 -05:00
SECURITY.md v1.0.0-rc.1: core infrastructure, security hardening, deployment tooling, and comprehensive testing 2026-06-12 09:41:17 -04:00

MuxCore

CI Go Version License: GPL-3.0 Release SLSA

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.

Rome wasn't built in a day, and neither will MuxCore.

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

Local / self-hosted muxcored image

Dockerfile is at the repo root. Laptop path:

# Preferred: workspace helper (starts localhost:5000 registry when needed)
../_mvp/local-registry.sh start
./scripts/local-image.sh v0.5.4

# Or: build/tag/push with docker|podman against an already-running local registry
CONTAINER_RUNTIME=docker ./scripts/local-image.sh v0.5.4

Image default: localhost:5000/muxcore/muxcored:<tag>.


License

GPL-3.0


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