Repolode
harness

harness/harness

Self-hostable open source developer platform combining code hosting, CI/CD pipelines, Gitspaces developer environments, and artifact registries.

Open-source alternative to:GitHubGitLabDocker Hub

Stars
38,632
Forks
3,433
Open issues
123
Last commit
15 hours ago

What is it?

Harness Open Source is a self-hosted development platform that brings source code hosting, automated DevOps pipelines, hosted development environments called Gitspaces, and artifact registries into a single application. It runs as one Docker container that serves a web UI on port 3000, with a REST API and swagger documentation included.

The project is the successor to Drone. Where Drone focused only on continuous integration, Harness adds Git hosting, developer environments, and registries, and is intended to reach pipeline parity with Drone over time. Drone's codebase is preserved on a separate branch for continued development.

Pipelines run inside Docker containers, so the server needs access to a Docker daemon through its socket. The project is written in Go and can also be built and run locally without Docker, with the web UI built separately using Yarn.

Key features

  • 01Git-based source code hosting with a web UI and REST API
  • 02CI/CD pipelines that run jobs in Docker containers
  • 03Gitspaces for hosted developer environments
  • 04Artifact registries, with conformance tests included in the repo
  • 05Single Docker image deployment with a bind-mounted data volume
  • 06Command-line tool for login and personal access token generation

Use cases

  • Hosting private Git repositories on your own infrastructure
  • Running CI/CD pipelines for teams migrating from Drone
  • Providing self-hosted cloud development environments for engineers
  • Storing build artifacts alongside source code in one platform

Quick start

  1. 1

    Run the Harness container with Docker (ports 3000 and 3022, Docker socket mounted)

    docker run -d -p 3000:3000 -p 3022:3022 -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/harness:/data --name harness --restart always harness/harness
  2. 2

    Open http://localhost:3000 in your browser once the container is up

Things to know

  • Pipelines require access to a Docker daemon, so the container mounts the host Docker socket.
  • Data is lost when the container stops unless a bind mount or named volume is used.
  • Building from source requires Go 1.20+, Node, protobuf tooling and Yarn.

Topics

FAQ

What is harness?
Self-hostable open source developer platform combining code hosting, CI/CD pipelines, Gitspaces developer environments, and artifact registries. Harness Open Source is a self-hosted development platform that brings source code hosting, automated DevOps pipelines, hosted development environments called Gitspaces, and artifact registries into a single application. It runs as one Docker container that serves a web UI on port 3000, with a REST API and swagger documentation included.
Is harness free to use? What license does it have?
harness is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is harness still maintained?
Actively maintained. The last commit to harness was on Oct 20, 2026.
What can I use harness for?
Hosting private Git repositories on your own infrastructure Running CI/CD pipelines for teams migrating from Drone Providing self-hosted cloud development environments for engineers Storing build artifacts alongside source code in one platform
How do I install harness?
Run the Harness container with Docker (ports 3000 and 3022, Docker socket mounted): docker run -d -p 3000:3000 -p 3022:3022 -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/harness:/data --name harness --restart always harness/harness Open http://localhost:3000 in your browser once the container is up
Where can I get harness?
The source code and installation instructions are on GitHub: https://github.com/harness/harness

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects