Environment variables.
Your own variables and the ones Rivervo sets for you, production versus previews, replacing an automatic value, and when changes take effect.
Keys, passwords and settings for your application live on the Variables tab. They are stored encrypted and reach your application as ordinary environment variables.
Adding your own
Variables → Add a variable, enter a NAME and a value, then Save.
- A name has Latin letters, digits and
_, and does not start with a digit. Every name must be unique. - Tip: paste the contents of a
.envfile into a name field — every line is added at once.
Variables reach the application when it runs — not the build step. Changes reach the application with the next deploy. After saving, the panel offers Deploy now, which deploys the running version again with the new variables, without a new build.
Production and previews
Each variable has an Environment:
| Environment | Where it goes |
|---|---|
| Production and previews | the live application and every branch preview (the default) |
| Production only | the live application only — e.g. a live payment key |
| Previews only | branch previews only — e.g. a test payment key |
Previews get only the variables set for them. A preview also has its own Variables tab: there you see what it gets From the application, and a value of your own with the same name takes their place for that preview only.
Set automatically
The Set automatically list shows what Rivervo provides for your application and keeps current. You don't add these yourself:
| Variable | When |
|---|---|
PORT | always — the port your application listens on |
DATABASE_URL, DB_CONNECTION, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD | the project has a PostgreSQL or MySQL database |
PGHOST, PGPORT, PGDATABASE, PGUSER, PGPASSWORD | the database is PostgreSQL |
REDIS_URL, REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, REDIS_CLIENT | the project has Valkey |
RIVERVO_<NAME>_URL | for every database, Valkey and read replica of the project, by its service name |
S3_ENDPOINT, S3_REGION, S3_BUCKET, S3_KEY, S3_SECRET | the project has object storage |
APP_KEY, APP_ENV, APP_DEBUG, APP_URL, LOG_CHANNEL, SESSION_DRIVER, CACHE_STORE | a Laravel application (see Laravel) |
The first database of a project gets the usual names (DATABASE_URL, DB_*). A second one only adds its own RIVERVO_<NAME>_URL, so nothing switches over by itself — see Databases.
Replacing an automatic value
A variable of your own with the same name takes the place of the automatic one; the panel marks it Your value is used. Use this to point the application somewhere else, for example DATABASE_URL at another database of the project.
PORT is the one exception: it is always managed by Rivervo.
Services of a project
Every service of a project — workers, scheduled jobs, other web services — gets the project's variables, including its database. A service can also have variables of its own, which win over the project's. A web service always gets its own APP_URL. See Services of a project.
Who can see the values
Values are visible to the account owner and to people with the Developer or Administrator role in the application. The Viewer role does not see them. See Access to an application.