The GitBundle Server
2.7K
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.
β€οΈ A Note from the Maintainer
Maintaining this project alone has taken far more effort than I ever imagined, and the cost has been huge. If GitBundle has helped you, please star β it, this means a lot. And if you'd recommend it to your friends and colleagues, I'd be deeply grateful. Thank you.
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
The GitBundle Server uses release tags such as server-v3.6.6 for stable builds and server-v3.6.6-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.3 for stable releases and runner-v1.2.3-beta for releases that are close to production use.
GitBundle binaries and container images follow the Semantic Versioning convention: MAJOR.MINOR.PATCH.
When a defect is discovered in a published artifact, the fix will be applied and the artifact will be re-released with an incremented PATCH version (e.g., from v1.2.3 to v1.2.4).
For both GitBundle Server and GitBundle Runner:
git clone https://github.com/gitbundle/gitbundle
cd gitbundle
# This will start the GitBundle Server with default configuration listed in `docker-compose.yml` file.
docker compose up -d
GitBundle Server loads configuration from the .env file in the working directory.
# Copy the template and start the server
cp .env.slim .env
gitbundle server
Using containerized deployment ensures isolation, consistency, and strong performance.
docker pull ghcr.io/gitbundle/server:v3
# or
docker pull gitbundle/server:v3
The GitBundle Runner is responsible for executing workflows and reporting 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 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.
GitBundle provides broad compatibility with GitHub Actions workflow syntax, including:
branch_protection_rule
check_run (not ready yet)
check_suite (not ready yet)
create (extended)
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)
push
pull_request
release
repository
schedule (not ready yet)
status (not ready yet)
workflow_call
workflow_dispatch
workflow_run
For issues or inquiries, please report through the official issue tracker: https://github.com/gitbundle/gitbundle/issuesβ
Thank you for your support.
Content type
Image
Digest
sha256:c1656f746β¦
Size
140.9 MB
Last updated
20 days ago
docker pull gitbundle/server:v3.6.6-beta