Configuration
Configure runtime values, app names, and environment variable names before and after deployment.
Environment variables#
Use environment variables for runtime configuration such as database URLs, API keys, feature flags, and service endpoints.
Open your app in the dashboard and go to App → Settings → Environment variables. Saving variables updates the desired app configuration immediately. For running apps, Shiprr then starts a deploy so the new values can be applied to live replicas.
Common examples#
DATABASE_URL=postgres://...
REDIS_URL=redis://...
NODE_ENV=production
FEATURE_SIGNUP_V2=true Paste env blocks#
The dashboard can turn a pasted multi-line .env block into
separate environment variable rows. Paste into any key or value field in the
Environment Variables editor.
PUBLIC_API_BASE_URL=https://api.example.com/v1
PUBLIC_SITE_URL=https://example.com
NODE_ENV=production
FEATURE_SIGNUP_V2=true - Blank lines and lines starting with
#are skipped. - Lines may start with
export. - Each parsed line must use
NAME=value. - Values may contain additional
=characters. - Matching single quotes, double quotes, or backticks around the value are removed.
- Single-line paste stays normal so ordinary editing is not interrupted.
App names#
App names are globally unique and become the left side of the default Shiprr
hostname, such as my-app.shiprr.dev.
These rules follow DNS hostname-label constraints: letters, digits, and hyphens, with no leading or trailing hyphen and a maximum of 63 characters. Shiprr also requires lowercase and at least 3 characters.
- Use 3-63 characters.
- Use lowercase letters, numbers, and hyphens.
- Start and end with a letter or number.
- Do not use spaces, uppercase letters, dots, underscores, or symbols.
Good app names
apiweb-2my-appbackend-01
Bad app names
ab-apiapi-MyAppmy_appmy.appmy appapp@prod
Environment variable names#
Environment variable names should be portable across common shells, build tools, and runtimes.
- Start with a letter or underscore.
- After the first character, use letters, numbers, or underscores.
- Use at most 128 bytes for the name.
- Do not use hyphens, dots, spaces, percent signs, or other symbols.
Good variable names
DATABASE_URLREDIS_URLNODE_ENVFEATURE_SIGNUP_V2_INTERNAL_TOKEN
Bad variable names
DATABASE-URLDATABASE.URL1PASSWORDMY VARAPI%KEY(empty)
Environment variable limits#
- Up to 200 environment variables per app.
- Each value can be up to 32 KiB.
- The total environment variable payload can be up to 256 KiB.
- Values cannot contain the NUL byte, written as
\0.
The NUL byte is byte value zero. It is not normal text and can terminate or truncate strings in low-level systems, so Shiprr rejects it.
Best practices#
- Keep secrets out of Git — Store them in Shiprr instead of committing them to the repo.
- Use clear names — Prefer names operators can understand during deploy and incident response.
- Review required values before deploy — Missing variables are a common cause of startup failures.
- Validate on app startup — Fail fast if required config is missing or malformed.