Skip to content

Environment Variables

This page covers the runtime knobs of the CLI. Looking to customize the build (Vite, Lingui)? See customization.

VariablePurpose
CROWDIN_PERSONAL_TOKENAuthenticate with a personal access token instead of login - useful in CI
CROWDIN_BASE_URLCrowdin API base URL, e.g. https://<org>.api.crowdin.com - set it when using a personal token with Crowdin Enterprise
PORTPort dev starts from (8080 when unset) - if it is taken, dev moves to the next free one, while --port is exact
CROWDIN_DEV_CORS_ORIGINExtra origins allowed to fetch from the dev server
CROWDIN_TEMPLATES_REPOGitHub owner/name repository create fetches starter templates from (default crowdin-community/serverless-apps-starter-kit) - useful for forks
CROWDIN_TEMPLATES_REFBranch or tag of the templates repository (default main)

login detects your Crowdin Enterprise organization automatically - no extra configuration needed.

CROWDIN_APP_ID identifies the app the folder is linked to. It lives in the app’s .env file, where create and link write it - the CLI reads it from that file only, so setting it as a shell or CI environment variable has no effect.

.env is gitignored in the starter templates, so it does not travel with the repository: teammates cloning the app (and CI checkouts) need to run crowdin-serverless-apps login once before dev or publish work. When a command needs the link and .env has none, the CLI looks for serverless apps you installed yourself whose name equals name in manifest.json exactly. If exactly one matches, it writes that app to .env and carries on. Otherwise, when none matches (for example after renaming the app locally without manifest push, or when a teammate installed the app) or several do, nothing changes: an interactive terminal offers the full list of your apps, and a non-interactive run fails until you run link.