Skip to Content
ReferenceEnvironment Variables

Environment Variables

Complete reference of all environment variables used by RustBill.

Required

VariableDescriptionExample
DATABASE_URLPostgreSQL connection stringpostgres://user:pass@localhost:5432/billing

Server

VariableDescriptionDefault
BILLING__SERVER__HOSTBind address0.0.0.0
BILLING__SERVER__PORTListen port8080
RUN_MODEConfig profile (development / production)development
RUST_LOGLog filter directiveinfo

Authentication

VariableDescriptionDefault
CRON_SECRETSecret for cron endpoint auth
BILLING__AUTH__PROVIDERAuth provider (default / keycloak)default
BILLING__AUTH__SESSION_EXPIRY_DAYSSession lifetime in days7

Keycloak (Optional)

VariableDescription
BILLING__AUTH__KEYCLOAK__REALM_URLKeycloak realm URL
BILLING__AUTH__KEYCLOAK__CLIENT_IDOAuth client ID
BILLING__AUTH__KEYCLOAK__CLIENT_SECRETOAuth client secret
BILLING__AUTH__KEYCLOAK__ADMIN_ROLERole name for admin access

Database

VariableDescriptionDefault
BILLING__DATABASE__MAX_CONNECTIONSConnection pool max size20
BILLING__DATABASE__MIN_CONNECTIONSConnection pool min size5

Cron

VariableDescriptionDefault
BILLING__CRON__ENABLEDEnable cron schedulertrue
BILLING__CRON__SUBSCRIPTION_LIFECYCLELifecycle cron expression0 0 * * * *
BILLING__CRON__DUNNINGDunning cron expression0 0 */6 * * *

Payment Providers

Stripe

VariableDescription
STRIPE_SECRET_KEYStripe API secret key
STRIPE_WEBHOOK_SECRETStripe webhook signing secret

Xendit

VariableDescription
XENDIT_SECRET_KEYXendit API secret key
XENDIT_WEBHOOK_TOKENXendit callback verification token

LemonSqueezy

VariableDescription
LEMONSQUEEZY_API_KEYLemonSqueezy API key
LEMONSQUEEZY_WEBHOOK_SECRETLemonSqueezy webhook signing secret
LEMONSQUEEZY_STORE_IDYour LemonSqueezy store ID
Last updated on