https://github.com/gitbundle/gitbundle
An out-of-the-box, zero-config, Rust-powered, self-hosted code hosting platform
https://github.com/gitbundle/gitbundle
cicd docker git rust
Last synced: 12 days ago
JSON representation
An out-of-the-box, zero-config, Rust-powered, self-hosted code hosting platform
- Host: GitHub
- URL: https://github.com/gitbundle/gitbundle
- Owner: gitbundle
- Created: 2024-09-22T10:16:17.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-02-08T12:02:59.000Z (4 months ago)
- Last Synced: 2026-02-08T18:14:26.277Z (4 months ago)
- Topics: cicd, docker, git, rust
- Language: Slim
- Homepage:
- Size: 5.42 MB
- Stars: 34
- Watchers: 1
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GitBundle
**GitBundle is an out-of-the-box, zero-config, modern, Rust-powered code hosting and workflow automation platform built for performance, security, and full self-hosting.**
It provides a streamlined workflow engine, an efficient Rust backend, and an architecture designed for teams that need reliability, control, and speed.
[demo](https://demo.gitbundle.com)
## Key Highlights
- β‘ High-performance core powered by Rust with async I/O
- π Reliable and memory-safe architecture
- π Workflow engine compatible with GitHub Actions syntax
- π§© Extensible by design for custom CI/CD pipelines and integrations
- π Multi-language API support for automation and tooling
- π’ Ideal for teams and enterprises requiring a secure, self-hosted platform
---
## Overview
The **GitBundle Server** uses release tags such as `server-v3.4.0` for stable builds and `server-v3.4.0-beta` for pre-release builds. Beta releases indicate that the build is feature-complete and near production-ready.
The **GitBundle Runner** follows the same convention, using tags like `runner-v1.2.0` for stable releases and `runner-v1.2.0-beta` for releases that are close to production use.
## Requirements
For both GitBundle Server and GitBundle Runner:
- git
- [gitleaks](https://github.com/gitleaks/gitleaks) @v8.30.0+
- nodejs @18.16.0+
- docker @28.5.2+
## Running GitBundle Server
GitBundle Server loads configuration from the `.env` file in the working directory.
```bash
# Copy the template and start the server
cp .env.slim .env
gitbundle server
```
## Running GitBundle Server in Container (**recommended**)
Using containerized deployment ensures isolation, consistency, and strong performance.
```bash
docker pull ghcr.io/gitbundle/server:v3
# or
docker pull gitbundle/server:v3
```
## Running the GitBundle Runner
The GitBundle Runner is responsible for executing workflows and reporting logs to the server.
```bash
mkdir ~/.gitbundle-runner
cd ~/.gitbundle-runner
# Follow the UI instructions for registration
runner register --server-url --token
# Start the runner
runner start
```
## Operational Recommendation
For stability and performance, deploy GitBundle Server and GitBundle Runner on separate machines.
Running both on the same host may cause resource contention during workflow execution.
## Github Workflow Syntax Compatibility
GitBundle provides broad compatibility with GitHub Actions workflow syntax, including:
- 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
- github
- env
- vars
- job
- jobs
- steps
- runner
- secrets
- strategy
- matrix
- needs
- inputs
## Supported Github Event Types & Operation
- **branch_protection_rule**
- created
- edited
- deleted
- **check_run** (not ready yet)
- created
- edited
- deleted
- **check_suite** (not ready yet)
- **create** (extended)
- **branch**
- created
- **tag**
- created
```yaml
on:
delete:
branches:
- beta/*
branches-ignore:
- alpha/*
tags:
- v*-beta
tags-ignore:
- v*-alpha
paths:
- 'src/**/*.rs'
paths-ignore:
- 'alpha/**/*.rs'
```
- **delete** (extended, refer to create event)
- **branch**
- deleted
- **tag**
- deleted
- **push**
- **branch**
- created
- updated
- deleted
- **tag**
- created
- updated
- deleted
- **pull_request**
- synchronize
- commented
- reviewed
- assigned
- opened
- closed
- reopened
- merged
- edited
- review_requested
- review_commented
- labeled (not ready yet)
- locked (not ready yet)
- **release**
- created
- deleted
- edited
- published
- prereleased
- **repository**
- renamed
- imported
- created
- deleted
- forked
- default_branch_updated
- restored
- public
- watch_started (not ready yet)
- transferred (not ready yet)
- dispatch
- **schedule** (not ready yet)
- **status** (not ready yet)
- **workflow_call**
- **workflow_dispatch**
- **workflow_run**
- completed
- requested
- in_progress
## Gitlab Workflow Syntax Compatibility (WIP)
# FAQ
For issues or inquiries, please report through the official issue tracker:
https://github.com/gitbundle/gitbundle/issues
Thank you for your support.