Environment Variables
Agent Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
JOKOWIPE_AGENT_TOKEN | Yes* | — | Agent authentication token |
JOKOWIPE_AGENT_NAME | No | hostname | Agent display name |
JOKOWIPE_SERVER_URL | No | https://api.jokowipe.id | Control plane URL |
JOKOWIPE_LOG_LEVEL | No | info | debug, info, warn, error |
JOKOWIPE_LOG_FORMAT | No | json | json or text |
JOKOWIPE_DATABASE_URL | No | — | Default database URL |
JOKOWIPE_STORAGE_TYPE | No | — | Storage provider type |
JOKOWIPE_TEMP_DIR | No | /var/tmp/jokowipe | Temp directory for backups |
JOKOWIPE_MAX_CONCURRENT_JOBS | No | 1 | Max parallel backup jobs |
*Required if not set in config file.
AWS / S3 Variables
| Variable | Description |
|---|---|
AWS_ACCESS_KEY_ID | AWS access key ID |
AWS_SECRET_ACCESS_KEY | AWS secret access key |
AWS_SESSION_TOKEN | AWS session token (for temporary credentials) |
AWS_DEFAULT_REGION | Default AWS region |
AWS_PROFILE | AWS CLI profile to use |
These standard AWS variables are automatically used if access_key_id and secret_access_key are not set in the config file.
Google Cloud Variables
| Variable | Description |
|---|---|
GOOGLE_APPLICATION_CREDENTIALS | Path to service account JSON file |
Azure Variables
| Variable | Description |
|---|---|
AZURE_STORAGE_ACCOUNT | Azure storage account name |
AZURE_STORAGE_KEY | Azure storage account key |
AZURE_STORAGE_SAS_TOKEN | Azure SAS token |
Self-Hosted Server Variables
| Variable | Required | Default | Description |
|---|---|---|---|
JOKOWIPE_LICENSE_KEY | Yes | — | Self-hosted license key |
JOKOWIPE_DOMAIN | Yes | — | Public domain for the server |
JOKOWIPE_SECRET_KEY | Yes | — | JWT signing key (32+ chars) |
DATABASE_URL | Yes | — | PostgreSQL DSN |
REDIS_URL | Yes | — | Redis DSN |
CLICKHOUSE_URL | No | — | ClickHouse DSN (for analytics) |
ANTHROPIC_API_KEY | No | — | Anthropic Claude API key |
PORT | No | 8080 | API server port |
SMTP_HOST | No | — | SMTP server hostname |
SMTP_PORT | No | 587 | SMTP port |
SMTP_USER | No | — | SMTP username |
SMTP_PASS | No | — | SMTP password |
SMTP_FROM | No | — | Sender email address |
VAULT_ENCRYPTION_KEY | No | Auto-generated | 64-char hex key for secrets |
Self-Hosted OAuth Variables
| Variable | Description |
|---|---|
GITHUB_CLIENT_ID | GitHub OAuth App client ID |
GITHUB_CLIENT_SECRET | GitHub OAuth App client secret |
GOOGLE_CLIENT_ID | Google OAuth client ID |
GOOGLE_CLIENT_SECRET | Google OAuth client secret |
Feature Flags (Self-Hosted)
| Variable | Default | Description |
|---|---|---|
FEATURE_AI_ANOMALY | true | Enable AI anomaly detection |
FEATURE_OAUTH | true | Enable OAuth login |
FEATURE_SSO | true | Enable SAML/OIDC SSO |
FEATURE_SCIM | true | Enable SCIM provisioning |
FEATURE_AUDIT_LOG | true | Enable audit logging |
FEATURE_WEBHOOKS | true | Enable webhooks |
FEATURE_BILLING | false | Enable billing (disabled in self-hosted) |
Using Environment Variables in Config File
In agent.yaml, reference environment variables with ${VAR_NAME} syntax:
agent:
token: "${JOKOWIPE_AGENT_TOKEN}"
storage:
s3:
access_key_id: "${AWS_ACCESS_KEY_ID}"
secret_access_key: "${AWS_SECRET_ACCESS_KEY}"
Setting Variables in systemd
Add environment variables to the systemd service:
# /etc/systemd/system/jokowipe-agent.service.d/override.conf
[Service]
EnvironmentFile=/etc/jokowipe/agent.env
# /etc/jokowipe/agent.env (chmod 600)
JOKOWIPE_AGENT_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
sudo systemctl daemon-reload
sudo systemctl restart jokowipe-agent