GitRiver GitRiver
RU
Navigation

Licensing

Community vs Pro, license activation, Pro seats, stacking, heartbeat

GitRiver operates in two modes: Community (free, no restrictions) and Pro (extended features with a license). This section covers the differences between plans, how to activate a license, and how to manage Pro seats.

Community vs Pro

Without a license, GitRiver runs in Community mode. It is a fully-featured platform with no limits on users or repositories.

What Is Available for Free (Community)

  • Git hosting (HTTP + SSH, LFS, GPG)
  • CI/CD pipelines (DAG, matrix, artifacts, cache, runners)
  • Container registry (OCI, multi-architecture)
  • Package registry (npm, PyPI, Cargo, Maven, NuGet, Generic)
  • Issues and Kanban boards
  • Pull requests and code review
  • Branch protection, CODEOWNERS, merge queue
  • GitOps deployment (RiverCD)
  • Backup and restore
  • 8 notification channels, webhooks
  • Static sites, Wiki, releases
  • OAuth2, 2FA (TOTP)
  • Import and mirroring

What Pro Adds

  • Single sign-on (SAML 2.0 / SCIM 2.0)
  • LDAP / Active Directory
  • Custom roles (arbitrary permission sets)
  • Audit log
  • DORA metrics
  • Vulnerability scanning (SARIF)
  • Dependency license checking
  • IP restrictions
  • Storage quotas
  • Instance branding (name, logo)
  • Priority support

Licensing Model

GitRiver uses a “per-instance with Pro seats” model.

How It Works

  1. Users register freely - there are no limits on the number of accounts
  2. The license determines the number of Pro seats - for example, 25, 100, or 500
  3. The administrator assigns Pro seats to specific users - only they get access to Pro features
  4. All other users work with Community features - without restrictions

Stacking

Licenses are cumulative. If you have a Starter (25 seats) and purchase an additional Team (100 seats), you will have 125 Pro seats on a single instance.

This allows you to increase the number of seats gradually without replacing the license.


License Activation

The activation model is “challenge-response” (Ed25519 challenge-response). After activation, the license works fully offline.

Step by Step

1. Obtain the License Key

Upon purchase, you receive a license key - a base64-encoded string.

2. Open the Licensing Page

Administration -> License

3. Enter the Key

Paste the license key into the field and click “Prepare”.

GitRiver will verify the key signature and display the information: owner, number of seats, expiration date. An activation_request will also be generated - a string tied to your instance.

4. Obtain the activation_response

Copy the activation_request and send it to the license server (specified in the purchase documentation). The server will verify the request and return an activation_response.

5. Activate

Paste the activation_response on the licensing page and click “Activate”.

Done - Pro mode is activated. You can now assign Pro seats to users.


Assigning Pro Seats

After activating the license, you need to specify which users get access to Pro features.

Step by Step

  1. Open Administration -> Users
  2. Find the user
  3. Click “Edit”
  4. Enable the “Pro seat” checkbox
  5. Save

GitRiver checks the limit: if all seats are taken, a new one cannot be assigned. Free up a seat (uncheck another user) or purchase an additional license.

How Many Seats Are Used

The Administration -> License page shows: total seats, used, and available.


Multiple Licenses

Multiple licenses can be activated on a single instance. The number of seats is cumulative.

Management: Administration -> License - a list of all active licenses with expiration dates.

Removing a specific license: click “Remove” next to it. The seats from that license will be subtracted from the total.


License Expiration

When a license expires:

  • Its seats are subtracted from the total limit
  • Existing assignments are preserved - users do not lose access immediately
  • However, if more seats are assigned than available - new ones cannot be assigned
  • No data is lost, and the server continues to run

To renew - activate a new license.


Heartbeat

After activation, GitRiver sends a periodic request to the license server. This is needed only for the ability to remotely revoke a license in case of violations.

  • Interval: once every 24 hours (+ random jitter up to 60 minutes)
  • First request: 5 minutes after server start
  • If the server is unreachable: the license continues to work without restrictions
  • Revocation: only after 3 consecutive “revoked” responses from the server

The license works fully offline after activation. Heartbeat is an optional protection mechanism; it does not block operation when there is no internet connection.

License server URL: GITRIVER_LICENSE_SERVER_URL (default: https://gitriver.com).


Returning to Community

To return to Community mode:

  1. Administration -> License
  2. Click “Remove all licenses”

Pro features will become unavailable. Data is not deleted - if you activate a new license later, everything will be restored.