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
- Users register freely - there are no limits on the number of accounts
- The license determines the number of Pro seats - for example, 25, 100, or 500
- The administrator assigns Pro seats to specific users - only they get access to Pro features
- 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
- Open Administration -> Users
- Find the user
- Click “Edit”
- Enable the “Pro seat” checkbox
- 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:
- Administration -> License
- Click “Remove all licenses”
Pro features will become unavailable. Data is not deleted - if you activate a new license later, everything will be restored.