Skip to content
GitRiverGitRiver
RU

Download GitRiver

One binary, one database, one command to start.

Docker (quick start)

Pull the image and run with one command.

docker pull gitriver/gitriver:1.1.0

Architectures on Docker Hub: x86-64, arm64.

Docker Composerecommended

PostgreSQL + GitRiver in two containers. Create two files:

.env

DB_USER=gitriver
DB_PASS=changeme
DB_NAME=gitriver

docker-compose.yml

services:
  postgres:
    image: postgres:17-alpine
    restart: unless-stopped
    environment:
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PASS}
      POSTGRES_DB: ${DB_NAME}
    volumes:
      - ./data/postgres:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${DB_USER}"]
      interval: 5s
      retries: 5

  gitriver:
    image: gitriver/gitriver:1.1.0
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
    ports:
      - "3000:3000"
    environment:
      GITRIVER_DB_HOST: postgres
      GITRIVER_DB_PORT: 5432
      GITRIVER_DB_USER: ${DB_USER}
      GITRIVER_DB_PASS: ${DB_PASS}
      GITRIVER_DB_NAME: ${DB_NAME}
    volumes:
      - ./data/gitriver:/var/lib/gitriver
      - /var/run/docker.sock:/var/run/docker.sock

docker compose up -d:

docker compose up -d

Open http://localhost:3000 - the setup wizard will create an administrator.

Replace changeme with a strong password in the .env file.

Packages and the Helm chart

Every release has files attached: a deb package, an rpm package, the Helm chart as an archive, SHA256 sums and a signature for them.

sudo apt install ./gitriver_1.1.0-1_amd64.deb
sudo dnf install ./gitriver-1.1.0-1.x86_64.rpm
helm install gitriver gitriver-1.1.0.tgz -f values.yaml

The packages are built against glibc 2.34 - RHEL, Rocky and AlmaLinux 9+, Debian 12+, Ubuntu 22.04+, Astra Linux 1.8+ and newer. For older systems use the image.

External job runner

A separate machine that takes CI jobs from the server. Install it where the builds should run — not necessarily next to GitRiver.

Runner image for Kubernetes

docker pull gitriver/gitriver:1.1.0-runner

Architectures on Docker Hub: x86-64, arm64.

The same repository as the server image, under its own tag. Give this full address in the runner_image field of the Kubernetes runner.

Verifying authenticity

The checksums are signed with the publisher key. Check the signature and the sums before installing: this is the only way to know the file was not replaced in transit.

Publisher key fingerprint

1E6F BBE8 8538 ED05 0C08 B9CE 284B 244C A43D 3621

This is the publisher's announcement: the value is printed here, not taken from the bundle. Compare it with the fingerprint of the key that signed the checksums: the fingerprint file sitting next to the key itself confirms only that the two match — a seal that certifies itself.

How to verify

gpg --import gitriver-release-key.asc
gpg --show-keys --fingerprint gitriver-release-key.asc
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS

Docker Hub

Server images. Version 1.1.0 is the one published there right now.

Docker Hub

Documentation

Detailed installation, configuration, CI/CD, and upgrade guide.

The archive is the same documentation for installations without internet access. It is covered by the signed checksum list of the release set.

System Requirements

GitRiver: 1 vCPU, 256 MB RAM, PostgreSQL 15+

With CI runner: 2+ CPUs, 4+ GB RAM, Docker 20.10+