GitBundle: A Rust-Powered Self-Hosted Code Hosting Platform
Summary
GitBundle is a modern, self-hosted code hosting and workflow automation platform built with Rust, emphasizing performance, security, and full control. It offers a streamlined workflow engine compatible with GitHub Actions syntax, making it ideal for teams requiring a reliable and fast self-hosted solution.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
GitBundle is a cutting-edge, self-hosted code hosting and workflow automation platform. Powered by Rust, it's engineered for high performance, robust security, and complete control over your code infrastructure. It features a streamlined workflow engine, an efficient Rust backend, and an architecture designed for teams prioritizing reliability, speed, and extensibility. GitBundle also provides broad compatibility with GitHub Actions workflow syntax, simplifying migration and integration.
Installation
GitBundle offers flexible deployment options, including direct execution and containerized setup.
Requirements:
gitgitleaks(for server)docker(for containerized server and runner)
Running GitBundle Server (Local):
cp .env.slim .env
gitbundle server
Running GitBundle Server in Container (Recommended):
docker pull ghcr.io/gitbundle/server:v3
# or
docker pull gitbundle/server:v3
Running the GitBundle Runner:
The GitBundle Runner executes workflows and reports logs to the server.
mkdir ~/.gitbundle-runner
cd ~/.gitbundle-runner
# Follow the UI instructions for registration
runner register --server-url <SERVER_URL> --token <TOKEN>
# Start the runner
runner start
For optimal stability and performance, it is recommended to deploy GitBundle Server and GitBundle Runner on separate machines to prevent resource contention.
Examples
GitBundle provides extensive compatibility with GitHub Actions workflow syntax, allowing for seamless integration of existing workflows.
Supported GitHub Actions Syntax Elements:
- Standard GitHub Actions YAML structure
- Jobs, steps,
runs-on,needs, and conditionals - Matrix expansion
- Expressions using GitHub’s expression language
- All official GitHub contexts and variables (e.g.,
github,env,job,steps,secrets)
Supported GitHub Event Types:
GitBundle supports a wide range of event types for triggering workflows, including:
branch_protection_rule(created, edited, deleted)branch(created, renamed, updated, deleted)tag(created, updated, deleted)pull_request(synchronize, opened, closed, merged, edited, reviewed, etc.)release(created, published, prereleased, etc.)repository(renamed, created, deleted, forked, etc.)workflow_call,workflow_dispatch,workflow_run
Why Use It
GitBundle stands out as an excellent choice for teams seeking a robust, self-hosted solution for code management and CI/CD. Its Rust core ensures high performance, memory safety, and reliability. The platform's compatibility with GitHub Actions syntax makes it easy to adopt, while its extensible design allows for custom pipelines and integrations. By offering full control over your infrastructure, GitBundle provides a secure and efficient environment tailored to enterprise needs.
Links
- GitHub Repository: https://github.com/gitbundle/gitbundle
- Live Demo: https://demo.gitbundle.com
- Issue Tracker: https://github.com/gitbundle/gitbundle/issues