Environment Variables
Stable quickstart and Facio environment variables.
The quickstart writes a .env file next to docker-compose.yml. Docker Compose reads it and passes selected values into Placet and Facio containers.
Quickstart stack variables
| Variable | Used by | Meaning |
|---|---|---|
COMPOSE_PROFILES | Docker Compose | bundle starts bundled Placet; empty means external Placet mode. |
PLACET_TAG | Placet image | Image tag for bundled Placet. |
FACIO_TAG | Facio image | Image tag for Facio. |
PLACET_PORT | Placet | Host port for bundled Placet, default 8080. |
JWT_SECRET | Placet | Placet auth/session secret. |
PLACET_API_KEY | Placet and Facio | Shared API key Facio uses to register/send to Placet. |
INITIAL_USER_EMAIL | Placet | Initial bundled Placet user. |
INITIAL_USER_PASSWORD | Placet | Initial bundled Placet password. |
APP_URL, NEXT_PUBLIC_WS_URL, NEXT_PUBLIC_APP_URL | Placet | Public URLs for bundled Placet. |
FACIO_REPLICAS | Helper | Desired number of Facio agents for ./facio scale. |
Facio-Placet variables
| Variable | Config target | Meaning |
|---|---|---|
FACIO_PLACET_INSTANCE_URL | channels.placet.instanceUrl | Placet base URL. Auto-enables Placet channel when set. |
FACIO_PLACET_API_KEY | channels.placet.apiKey | API key for Placet. Quickstart maps from PLACET_API_KEY. |
FACIO_PLACET_AGENT_ID | channels.placet.agentId | Optional stable agent ID. |
FACIO_AGENT_NAME | Compose command | Visible agent name fallback. |
FACIO_PLACET_AGENT_NAME | channels.placet.agentName | Visible Placet name. |
FACIO_PLACET_CHANNEL_TAG | channels.placet.channelTag | Optional tag in Placet. |
FACIO_MANAGEMENT_URL | channels.placet.managementPublicUrl | URL Placet uses to call Facio management API. |
FACIO_MANAGEMENT_TOKEN | api.managementToken and Placet channel | Bearer token for /api/v1/*; announced to Placet. |
Provider variables
The quickstart maps a small common set directly:
| Variable | Config target |
|---|---|
OPENROUTER_API_KEY | providers.openrouter.apiKey via FACIO_PROVIDER_OPENROUTER_API_KEY |
ANTHROPIC_API_KEY | providers.anthropic.apiKey via FACIO_PROVIDER_ANTHROPIC_API_KEY |
OPENAI_API_KEY | providers.openai.apiKey via FACIO_PROVIDER_OPENAI_API_KEY |
FACIO_PROVIDER_DEEPSEEK_API_KEY | providers.deepseek.apiKey |
FACIO_PROVIDER_GEMINI_API_KEY | providers.gemini.apiKey |
FACIO_PROVIDER_GROQ_API_KEY | providers.groq.apiKey |
FACIO_MODEL | agents.defaults.model |
FACIO_IMAGE_MODEL | agents.defaults.imageModel |
FACIO_VIDEO_MODEL | agents.defaults.videoModel |
FACIO_VISION_MODEL | agents.defaults.visionModel |
FACIO_WORKSPACE | agents.defaults.workspace |
Other provider keys can be configured through Placet settings, config files, or the provider credential API.
GitHub backup variables
GitHub backup is optional. When it is unset or disabled, Facio keeps using only the local GitStore and does not call GitHub. To enable remote backup, set FACIO_GITHUB_BACKUP_ENABLED=true and either provide an owner/repo pair or an explicit remote URL.
| Variable | Config target | Meaning |
|---|---|---|
FACIO_GITHUB_BACKUP_ENABLED | agents.defaults.githubBackup.enabled | Enables GitHub backup sync. |
FACIO_GITHUB_BACKUP_OWNER | agents.defaults.githubBackup.owner | GitHub user or organization. If empty, Facio resolves the token user. |
FACIO_GITHUB_BACKUP_REPO | agents.defaults.githubBackup.repo | Backup repository name, default facio-backup. |
FACIO_GITHUB_BACKUP_REMOTE_URL | agents.defaults.githubBackup.remoteUrl | Explicit remote URL, for example https://github.com/owner/repo.git. |
FACIO_GITHUB_BACKUP_BRANCH | agents.defaults.githubBackup.branch | Backup branch, default main. |
FACIO_GITHUB_BACKUP_TOKEN_ENV | agents.defaults.githubBackup.tokenEnv | Preferred environment variable for the token, default GH_TOKEN. |
FACIO_GITHUB_BACKUP_TOKEN_CREDENTIAL | agents.defaults.githubBackup.tokenCredential | Preferred credential-store key, default GITHUB_TOKEN. |
FACIO_GITHUB_BACKUP_CREATE_REMOTE | agents.defaults.githubBackup.createRemote | Check/create the remote repository on startup, default true. |
FACIO_GITHUB_BACKUP_PRIVATE | agents.defaults.githubBackup.private | Create a missing repository as private, default true. |
FACIO_GITHUB_BACKUP_API_URL | agents.defaults.githubBackup.apiUrl | GitHub API base URL, default https://api.github.com. |
FACIO_GITHUB_BACKUP_AUTO_PULL | agents.defaults.githubBackup.autoPull | Pull the backup branch on startup, default true. |
FACIO_GITHUB_BACKUP_AUTO_PUSH | agents.defaults.githubBackup.autoPush | Push after local GitStore commits, default true. |
The token can come from GH_TOKEN, GITHUB_TOKEN, FACIO_GITHUB_TOKEN, or the configured credential-store key. Repo creation requires a token that is allowed to create private repositories for the selected user or organization.
API and security variables
| Variable | Config target | Meaning |
|---|---|---|
FACIO_API_PORT | api.port | HTTP API port. |
FACIO_MANAGEMENT_ENABLED | api.managementEnabled | Enable management surface when token exists. |
FACIO_A2A_TOKEN | api.a2aToken | Bearer token for A2A. |
FACIO_A2A_ENABLED | api.a2aEnabled | Enable A2A and agent card. |
FACIO_ALLOWED_ORIGINS | api.allowedOrigins | Comma-separated CORS allow list. |
FACIO_RATE_LIMIT_RPM | api.rateLimitRpm | Per-client-IP request limit. |
FACIO_EXEC_SANDBOX | tools.exec.sandbox | bwrap by default; set empty only when intentionally disabling sandboxing. |
Agent tool proxy variables
FACIO_PROXY configures the outbound proxy for selected actions the agent performs with built-in tools. It is not a container-wide or runtime-wide proxy, and Facio does not export it as HTTP_PROXY or HTTPS_PROXY for the main runtime process.
| Variable | Config target | Applies to |
|---|---|---|
FACIO_PROXY | tools.proxy | Web search/fetch, browser automation, and exec subprocesses. |
The proxy does not apply to Placet communication, channels, LLM providers, management API clients, A2A calls, MCP server connections, or image/video generation. If an MCP server process needs its own outbound proxy for web access, configure that server explicitly in its MCP environment instead of relying on FACIO_PROXY.
Browser variables
| Variable | Config target |
|---|---|
FACIO_BROWSER_ENABLED | tools.browser.enable |
FACIO_BROWSER_BACKEND | tools.browser.backend |
FACIO_BROWSER_COMMAND_TIMEOUT | tools.browser.commandTimeout |
FACIO_BROWSER_INACTIVITY_TIMEOUT | tools.browser.inactivityTimeout |
FACIO_BROWSER_MAX_CONCURRENT_SESSIONS | tools.browser.maxConcurrentSessions |
FACIO_BROWSER_MAX_NAMED_SESSIONS | tools.browser.maxNamedSessions |
FACIO_BROWSER_PROFILE_KEY | tools.browser.profileMasterPassword |
FACIO_BROWSER_ALLOW_PRIVATE_URLS | tools.browser.allowPrivateUrls |
FACIO_BROWSER_DOMAIN_ALLOWLIST | tools.browser.domainAllowlist |
FACIO_BROWSER_DOMAIN_DENYLIST | tools.browser.domainDenylist |
FACIO_BROWSER_RECORD_SESSIONS | tools.browser.recordSessions |
FACIO_BROWSER_PROXY | tools.browser.proxy |
FACIO_BROWSER_USER_AGENT | tools.browser.userAgent |
FACIO_BROWSER_CAMOUFOX_FINGERPRINT_FILE | tools.browser.camoufox.fingerprintFile |
Rule of thumb
Use .env for deployment-time values and tokens needed at startup. Use Placet settings or the management API for runtime changes, especially provider keys, model selection, MCP, channels, and browser/tool settings.