Navigation
Backup
Creating, restoring, and configuring GitRiver backups
Backup management: Administration / Backup.
Creating a Backup
- Open Administration / Backup
- Select components to include:
- Database - pg_dump (always recommended)
- Repositories - Git bare repositories
- Registry - Container Registry / LFS blobs
- CI Artifacts - CI artifacts and logs
- Sites - Pages deployments
- Optional: enable incremental mode (only changed files)
- Click “Create backup”
The backup is created asynchronously. Status is shown in the list.
Format
- Archive:
gitriver-backup-{date-time}.tar.gz - Metadata is saved alongside (contents, SHA256 checksum, date)
Encryption
To encrypt backups, set the environment variable:
GITRIVER_BACKUP_ENCRYPTION_KEY=<base64-AES-256-key>
Downloading
Click the “Download” button in the backup list. For security, a one-time link with a limited lifetime is generated (60 seconds by default).
Integrity Verification
The “Verify” button compares the SHA256 checksum of the archive with the one saved in the metadata.
Restoring
- Click “Restore” next to a backup
- Select the components to restore (each can be toggled individually)
- Confirm the action
Schedule
Automatic backup configuration: Administration / Backup / Schedule.
Troubleshooting
Setup wizard does not appear
Make sure database_url is not specified in the TOML file or environment variables. The wizard only launches when there is no database connection configured.
JWT errors after restart
The JWT secret is stored in the .jwt_secret file next to the config. If the file is deleted, all sessions become invalid.
CI jobs do not start
- Docker socket is accessible:
-v /var/run/docker.sock:/var/run/docker.sock - The
gitriveruser is in the docker group - Check
ci_max_concurrent_jobsin the configuration
Git push is rejected
- Check branch protection (Settings / Branch Protection)
- For LFS: set
client_max_body_sizein nginx (minimum 512m)