Skip to main content
UpNext is configured via environment variables with the UPNEXT_ prefix. All settings can also be passed directly to Worker and Api constructors where applicable.

Core settings

VariableDefaultDescription
UPNEXT_REDIS_URLRedis connection URL (required for workers)
UPNEXT_URLhttp://localhost:8000UpNext server URL (for dashboard reporting)
UPNEXT_API_KEYAPI key for server authentication
UPNEXT_DEBUGfalseEnable debug mode
UPNEXT_ENVdevelopmentEnvironment name (development/dev or production/prod)

Server settings

VariableDefaultDescription
UPNEXT_DATABASE_URLDatabase connection string (PostgreSQL or SQLite)
UPNEXT_AUTH_ENABLEDfalseEnable API key authentication

Queue settings

VariableDefaultDescription
UPNEXT_QUEUE_RUNTIME_PROFILEsafeRuntime profile: safe or throughput
UPNEXT_QUEUE_JOB_TTL_SECONDS86400Job data TTL (24 hours)
UPNEXT_QUEUE_RESULT_TTL_SECONDS3600Result data TTL (1 hour)
UPNEXT_QUEUE_CLAIM_TIMEOUT_MS30000Job claim timeout (30 seconds)
UPNEXT_QUEUE_STREAM_MAXLEN0Queue stream retention cap (0 = profile default)
UPNEXT_QUEUE_DLQ_STREAM_MAXLEN10000Dead-letter queue stream max length
UPNEXT_QUEUE_BATCH_SIZE0Queue fetch/flush batch size (0 = profile default)
UPNEXT_QUEUE_INBOX_SIZE0Queue inbox capacity (0 = profile default)
UPNEXT_QUEUE_OUTBOX_SIZE0Queue outbox capacity (0 = profile default)
UPNEXT_QUEUE_FLUSH_INTERVAL_MS0Completion flush interval (0 = profile default)
UPNEXT_WORKER_PREFETCH_DEFAULT0Worker prefetch count (0 = profile default)

Runtime profiles

The UPNEXT_QUEUE_RUNTIME_PROFILE setting controls defaults for several queue parameters:

safe (default)

Conservative settings optimized for reliability:
  • Worker prefetch: 1
  • Bounded stream sizes
  • Lower queue buffering

throughput

Aggressive settings optimized for maximum throughput:
  • Higher prefetch and batch sizes
  • Larger stream buffers
  • Best for high-volume workloads where you can tolerate occasional reprocessing

Status stream settings

VariableDefaultDescription
UPNEXT_STATUS_STREAM_MAX_LEN50000Status event stream max length
UPNEXT_STATUS_PUBLISH_RETRY_ATTEMPTS3Retries for publishing status events
UPNEXT_STATUS_PUBLISH_RETRY_BASE_MS25.0Base retry delay (ms)
UPNEXT_STATUS_PUBLISH_RETRY_MAX_MS500.0Max retry delay (ms)
UPNEXT_STATUS_PENDING_BUFFER_SIZE10000In-memory pending buffer capacity
UPNEXT_STATUS_PENDING_FLUSH_BATCH_SIZE128Pending buffer flush batch size
UPNEXT_STATUS_DURABLE_BUFFER_ENABLEDtrueEnable Redis-backed durable buffer
UPNEXT_STATUS_DURABLE_BUFFER_MAXLEN10000Durable buffer max entries
UPNEXT_STATUS_SHUTDOWN_FLUSH_TIMEOUT_SECONDS2.0Timeout for flushing on shutdown
UPNEXT_STATUS_PUBLISH_STRICTfalseFail-closed on publish errors

Progress settings

VariableDefaultDescription
UPNEXT_PROGRESS_MIN_DELTA0.01Minimum progress change to publish (1%)
UPNEXT_PROGRESS_MIN_INTERVAL_SECONDS0.2Minimum time between progress updates

API tracking settings

VariableDefaultDescription
UPNEXT_API_TRACKING_NORMALIZE_PATHStrueNormalize path parameters in tracking
UPNEXT_API_TRACKING_REGISTRY_REFRESH_SECONDS60Route registry refresh interval
UPNEXT_API_REQUEST_EVENTS_ENABLEDtrueEnable request event tracking
UPNEXT_API_REQUEST_EVENTS_SAMPLE_RATE1.0Sampling rate for request events (0.0-1.0)
UPNEXT_API_REQUEST_EVENTS_SLOW_MS500.0Threshold for slow request logging (ms)
UPNEXT_API_REQUEST_EVENTS_STREAM_MAX_LEN50000Request event stream max length

Artifact storage

VariableDefaultDescription
UPNEXT_ARTIFACT_STORAGE_BACKENDlocalStorage backend: local or s3
UPNEXT_ARTIFACT_STORAGE_LOCAL_ROOT~/.upnext/artifactsLocal storage directory