There are two ways to configure Malak:

  • Configuration file. We use .yml
  • Env values. The prefix starts with MALAK_

As an example, take this config file:

auth:
  google:
    client_id: "CLIENT_ID"
    client_secret: "CLIENT_SECRET"
    redirect_uri: "http://localhost:3000"

  jwt:
    key: JWT_KEY

To use env values to configure this, you need this:


MALAK_AUTH_GOOGLE_CLIENT_ID=
MALAK_AUTH_GOOGLE_CLIENT_SECRET=
MALAK_AUTH_GOOGLE_REDIRECT_URI=

MALAK_AUTH_JWT_KEY=

Essentially every level in the yaml should just be replaced by _ in the env settings.

Full Configuration

MALAK_LOGGING_MODE
MALAK_FRONTEND_APP_URL
MALAK_DATABASE_DATABASE_TYPE
MALAK_DATABASE_POSTGRES_DSN
MALAK_DATABASE_POSTGRES_LOG_QUERIES
MALAK_DATABASE_POSTGRES_QUERY_TIMEOUT
MALAK_DATABASE_REDIS_DSN
MALAK_OTEL_ENDPOINT
MALAK_OTEL_USE_TLS
MALAK_OTEL_HEADERS
MALAK_OTEL_IS_ENABLED
MALAK_HTTP_PORT
MALAK_HTTP_RATE_LIMIT_TYPE
MALAK_HTTP_RATE_LIMIT_IS_ENABLED
MALAK_HTTP_RATE_LIMIT_REQUESTS_PER_MINUTE
MALAK_HTTP_RATE_LIMIT_BURST_INTERVAL
MALAK_HTTP_SWAGGER_PORT
MALAK_HTTP_SWAGGER_UI_ENABLED
MALAK_HTTP_METRICS_ENABLED
MALAK_HTTP_METRICS_USERNAME
MALAK_HTTP_METRICS_PASSWORD
MALAK_BILLING_STRIPE_API_KEY
MALAK_BILLING_STRIPE_WEBHOOK_SECRET
MALAK_BILLING_IS_ENABLED
MALAK_BILLING_TRIAL_DAYS
MALAK_BILLING_DEFAULT_PLAN_REFERENCE
MALAK_SECRETS_CLIENT_TIMEOUT
MALAK_SECRETS_PROVIDER
MALAK_SECRETS_VAULT_ADDRESS
MALAK_SECRETS_VAULT_TOKEN
MALAK_SECRETS_VAULT_PATH
MALAK_SECRETS_INFISICAL_CLIENT_ID
MALAK_SECRETS_INFISICAL_CLIENT_SECRET
MALAK_SECRETS_INFISICAL_SITE_URL
MALAK_SECRETS_INFISICAL_PROJECT_ID
MALAK_SECRETS_INFISICAL_ENVIRONMENT
MALAK_SECRETS_AES_KEY
MALAK_SECRETS_SECRETS_MANAGER_REGION
MALAK_SECRETS_SECRETS_MANAGER_ACCESS_SECRET
MALAK_SECRETS_SECRETS_MANAGER_ACCESS_KEY
MALAK_SECRETS_SECRETS_MANAGER_ENDPOINT
MALAK_API_KEY_HASH_SECRET
MALAK_UPLOADER_DRIVER
MALAK_UPLOADER_MAX_UPLOAD_SIZE
MALAK_UPLOADER_S3_ACCESS_KEY
MALAK_UPLOADER_S3_ACCESS_SECRET
MALAK_UPLOADER_S3_REGION
MALAK_UPLOADER_S3_ENDPOINT
MALAK_UPLOADER_S3_LOG_OPERATIONS
MALAK_UPLOADER_S3_BUCKET
MALAK_UPLOADER_S3_DECK_BUCKET
MALAK_UPLOADER_S3_USE_TLS
MALAK_UPLOADER_S3_CLOUDFLARE_BUCKET_DOMAIN
MALAK_UPLOADER_S3_CLOUDFLARE_DECK_BUCKET_DOMAIN
MALAK_EMAIL_PROVIDER
MALAK_EMAIL_SENDER
MALAK_EMAIL_SENDER_NAME
MALAK_EMAIL_SMTP_HOST
MALAK_EMAIL_SMTP_PORT
MALAK_EMAIL_SMTP_USERNAME
MALAK_EMAIL_SMTP_PASSWORD
MALAK_EMAIL_SMTP_USE_TLS
MALAK_EMAIL_RESEND_API_KEY
MALAK_EMAIL_RESEND_WEBHOOK_SECRET
MALAK_AUTH_GOOGLE_CLIENT_ID
MALAK_AUTH_GOOGLE_CLIENT_SECRET
MALAK_AUTH_GOOGLE_REDIRECT_URI
MALAK_AUTH_GOOGLE_SCOPES
MALAK_AUTH_GOOGLE_IS_ENABLED
MALAK_AUTH_JWT_KEY
MALAK_ANALYTICS_MAX_MIND_COUNTRY_DB
MALAK_ANALYTICS_MAX_MIND_CITY_DB