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.sockdocker 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.
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+