How to setup Nitro_Repo
Pre Install Tasks
- Install MySQL. For more information click here.
- Create a database. For nitro_repo to use
Getting your build
Please use one of the following options for your build
- Latest Release on Github
- Latest Build on Github
- Build yourself. Instructions are here.
Linux build prerequisites: installpkg-configand the OpenSSL development headers (libssl-devon Debian/Ubuntu,openssl-develon Fedora/RHEL) before runningcargo build.
Setup
- Decompress the build inside your install directory. I use
/opt/nitro_repo. Using the commandtar -xf nitro_repo.tar.gzNote: You might have to decompress the zip for Github Latest Builds - Run
./nitro_repo --installFollow the CLI for installation. - After completing the installation go ahead and run ./nitro_repo again. To ensure proper setup. Connect to it over the browser. Using your host and port set
- Edit other/nitro_repo.service to use the appropriate location of your installation. Then copy the nitro_repo.service to the service directory Command:
cp other/nitro_repo.service /etc/systemd/system/nitro_repo.service - Run
systemctl daemon-reloadandsystemctl start nitro_repo.service
SSL
After installation you can add SSL
Edit cfg/nitro_repo.toml
Under the application section
Add
ssl_private_key=
ssl_cert_key=Make sure to specify values
For Lets Encrypt
ssl_private_key='/etc/letsencrypt/live/{domain}/privkey.pem'
ssl_cert_key='/etc/letsencrypt/live/{domain}/cert.pem'
Finally Restart Nitro Repo
Storage Backends
- Configuring S3 Storage — steps for attaching Nitro Repo to an S3 or S3-compatible bucket.
Enabling SSO Login
Nitro Repo can delegate authentication to an upstream SSO provider (Cloudflare Access, Okta, Auth0, etc.) that issues signed JWT/ID tokens. Configure the security section in cfg/nitro_repo.toml to enable the feature:
[security.sso]
enabled = true
login_path = "/api/user/sso/login"
login_button_text = "Sign in with SSO"
provider_login_url = "https://example.com/login"
provider_redirect_param = "redirect"
auto_create_users = true
[[security.sso.providers]]
name = "example"
issuer = "https://issuer.example.com"
audience = "my-client-id"
jwks_url = "https://issuer.example.com/.well-known/jwks.json"
token_source = { kind = "header", name = "Authorization", prefix = "Bearer " }
role_claims = ["roles", "groups"]login_pathis where the UI redirects users when clicking the SSO button.provider_login_urlcan point to the IdP login endpoint; Nitro Repo appends its own SSO callback URL usingprovider_redirect_param(defaults toredirect).- Define one or more providers; each token is verified against JWKS with matching
issandaudclaims.role_claimspull roles from claims and apply them to Casbin before redirecting the user.
You can also manage these settings under Admin → System → Single Sign-On without editing configuration files or restarting the service.
Requests that reach /api/user/sso/login must already be authenticated by the upstream provider; Nitro Repo verifies the JWT signature and claims, issues its own session cookie, and redirects back to the UI.