Skip to content
FoldedOdinPublic

About

OdinRun is a self-hosted, container-native CI/CD runtime that executes Docker pipelines with real-time telemetry, local AI failure diagnosis (Ollama), and auto-remediation — giving developers full control without cloud lock-in or traditional CI complexity.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

OdinRun

Self-hosted, container-native CI/CD that understands your pipelines, not just runs them.

OdinRun executes Docker-backed stages triggered by GitHub webhooks or polling triggers, then goes further: it streams real-time CPU & memory telemetry, diagnoses failures with AI (Ollama / OpenAI), and lets you define auto-remediation rules. All observable through a modern React dashboard. No cloud lock-in. No per-seat pricing. Runs entirely on your infrastructure.


What makes OdinRun different?

Capability Feature & How It Works
Zero-Config Setup Launches in seconds with SQLite and in-memory queues, guided by an interactive Web Setup Wizard.
Real-time Telemetry Live streaming CPU & Memory utilization metrics directly from the Docker Engine API per stage.
AI Failure Diagnosis Instant AI-generated root cause analysis using local Ollama models or OpenAI.
Auto-Remediation Define intelligent rules: "If stage X fails with log pattern Y, execute remediation rule Z automatically."
GitHub Webhooks & Polling HMAC-verified webhook handler + background commit polling worker for push & PR triggers.
Multi-Repo Management Group and isolate pipeline runs across multiple repositories with persistent workspace configurations.
Resilient Runner Fleet Atomic run scheduling, automatic 60s claim lease expirations, and self-healing worker loops.

Quick start

Prerequisites: Docker Desktop (Compose v2), Node.js 20+

Option 1: Setup Wizard (Recommended)

Get started in under 60 seconds without manually editing database or environment configurations:

# 1. Clone the repository
git clone https://github.com/FoldedOdin/OdinRun.git
cd OdinRun

# 2. Copy default environment settings
cp deploy/.env.example deploy/.env

# 3. Start OdinRun
./odinrun start

Open http://localhost:3000 to launch the Setup Wizard. It will guide you through repository onboarding, GitHub PAT setup, and automatic pipeline triggering.

Option 2: Advanced Mode (Production with MongoDB & Redis)

For production scale and high availability:

./odinrun advanced
Service Port Description
api 3001 REST API, WebSockets, Webhook intake & Fleet Scheduler
runner — Polls API, prepares workspaces, executes Docker containers
frontend 3000 Real-time React telemetry dashboard
mongo 27017 Primary document store (Advanced Mode)
redis 6379 Distributed event queue (Advanced Mode)
jaeger 16686 / 4318 Distributed tracing (Advanced Mode)

Connect your repository

Step 1 — Add .odinrun.yml (or .pipelineos.yml) to your repo root

name: "CI Build & Test"
on:
  - push
  - pull_request

stages:
  - name: install
    image: node:20-alpine
    run: npm ci

  - name: test
    image: node:20-alpine
    run: npm test
    depends_on:
      - install

Full schema reference → docs/pipeline-schema.md

Step 2 — Configure GitHub Integration

  • GitHub Webhook: Point to http://your-server:3001/api/webhooks/github (Content type: application/json).
  • GitHub PAT / App: Provide a Personal Access Token or App key in Settings to enable private repository cloning and automatic commit polling.

Configuration

All configuration is managed via environment variables (see deploy/.env.example) or the in-app Settings panel.

Setting / Variable Default Description
GITHUB_WEBHOOK_SECRET — HMAC secret matching GitHub webhook configuration
INTERNAL_API_KEY — Shared auth key between API and Runner fleet
LLM_PROVIDER ollama Choice of AI provider (ollama or openai)
OLLAMA_BASE_URL http://localhost:11434 Endpoint for local Ollama AI model service
OLLAMA_MODEL llama3 Ollama model name for AI failure diagnoses
OPENAI_API_KEY — API key for OpenAI diagnosis provider

CLI Reference

./odinrun start      # Start OdinRun (Simple Mode: SQLite + InMemory)
./odinrun advanced   # Start OdinRun (Advanced Mode: Mongo + Redis + Jaeger)
./odinrun stop       # Stop all running containers
./odinrun logs       # Tail Compose logs across all services
./odinrun doctor     # Run diagnostic health checks

Documentation & Help


License

Apache-2.0 — see LICENSE.

About

OdinRun is a self-hosted, container-native CI/CD runtime that executes Docker pipelines with real-time telemetry, local AI failure diagnosis (Ollama), and auto-remediation — giving developers full control without cloud lock-in or traditional CI complexity.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages