Setting a secret
There are two ways to add a secret to a project: the dashboard or the CLI. Both store the value the same way.- Dashboard
- CLI
- Open your project in the Reminix dashboard
- Go to Settings → Secrets
- Click Add Secret, enter the key and value, and save
Reading a secret in your handler
Once a secret is set on the project, it’s available as an environment variable inside the running container. Use the standard language API.Built-in environment variables
Reminix sets a few variables on every container automatically. You don’t need to configure them.| Variable | Value | Purpose |
|---|---|---|
PORT | 8080 | The port your serve() call binds to. Override with serve({ port }) if you must. |
HOST | 0.0.0.0 | The interface your server binds to. Don’t change this — binding to localhost makes the agent unreachable inside the container. |
process.env / os.environ. There is no special namespace.
Naming
A few conventions to keep things predictable:- Uppercase with underscores.
OPENAI_API_KEY, notopenaiApiKey— this is what every shell, container runtime, and CI system expects. - Names are case-sensitive.
Database_UrlandDATABASE_URLare stored as different secrets. - Avoid the
REMINIX_prefix for your own secrets. Reminix uses that prefix for its own variables (REMINIX_API_KEY,REMINIX_PROJECT,REMINIX_API_URL,REMINIX_CLOUD). Picking a different prefix for your secrets prevents confusion.
Local development
When you run your code locally withnode server.ts or python server.py, Reminix isn’t injecting anything. Use whatever you normally use for local env management:
.env files are a local-development convenience. They are not uploaded to Reminix on deploy. The values live only on your machine. Set the same variables as project secrets to make them available in production.Updating secrets
Secret changes take effect on the next deploy or restart. The currently-running container keeps using the values it had when it started. To pick up a new secret value without changing code:OAuth credentials
If you’re calling third-party APIs that require OAuth (Google, Slack, GitHub, Notion, etc.), don’t store user access tokens as secrets. Use Connections instead — Reminix manages the auth flow, encrypted storage, and refresh. You still set the OAuth app client ID and secret as project secrets so Reminix can perform the exchange:client.oauth_connections.get_token("google") from your handler.
Next steps
Connections
Managed OAuth for third-party APIs.
Authentication
Reminix’s own API tokens (not user secrets).
Deploy from GitHub
Where these secrets get injected into your code.
Troubleshooting
What “secret not found at runtime” means and how to fix it.