mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-26 16:07:18 +00:00
93 lines
2.7 KiB
Text
93 lines
2.7 KiB
Text
# Redis Configuration for BullMQ in ToolJet PR Preview Environments
|
|
# Optimized for Render.com Standard plan (1GB RAM)
|
|
|
|
################################## NETWORK #####################################
|
|
|
|
# Bind to localhost only for security (same container access only)
|
|
bind 127.0.0.1
|
|
|
|
# Accept connections on default Redis port
|
|
port 6379
|
|
|
|
# Enable protected mode (requires password or bind to localhost)
|
|
protected-mode yes
|
|
|
|
################################# PERSISTENCE ##################################
|
|
|
|
# Enable AOF (Append Only File) persistence - CRITICAL for BullMQ
|
|
# Ensures job data survives Redis restarts
|
|
appendonly yes
|
|
|
|
# Sync strategy: everysec balances performance and durability
|
|
# - always: Safest but slowest
|
|
# - everysec: Good balance (recommended)
|
|
# - no: Fastest but risky
|
|
appendfsync everysec
|
|
|
|
# Enable RDB snapshots as backup to AOF
|
|
# Format: save <seconds> <changes>
|
|
# After 900 sec (15 min) if at least 1 key changed
|
|
save 900 1
|
|
# After 300 sec (5 min) if at least 10 keys changed
|
|
save 300 10
|
|
# After 60 sec if at least 10000 keys changed
|
|
save 60 10000
|
|
|
|
################################## MEMORY ######################################
|
|
|
|
# CRITICAL for BullMQ: Set max memory to 256MB (25% of 1GB container)
|
|
# Leave room for PostgreSQL (256MB), ToolJet (400MB), and system (112MB)
|
|
maxmemory 256mb
|
|
|
|
# CRITICAL for BullMQ: NEVER evict keys - throw error instead
|
|
# BullMQ requires all job data to remain in Redis
|
|
# Without this, jobs will be lost when memory is full
|
|
maxmemory-policy noeviction
|
|
|
|
################################### GENERAL ####################################
|
|
|
|
# Set the number of databases (default is 16)
|
|
databases 16
|
|
|
|
# Close connection after client is idle for N seconds (0 = disable)
|
|
timeout 0
|
|
|
|
# TCP keepalive
|
|
# Send TCP ACKs to clients every N seconds to detect dead connections
|
|
tcp-keepalive 300
|
|
|
|
# TCP listen() backlog
|
|
tcp-backlog 511
|
|
|
|
################################### LOGGING ####################################
|
|
|
|
# Logging level
|
|
# Options: debug, verbose, notice, warning
|
|
loglevel notice
|
|
|
|
# Log to stdout (captured by Docker/Render)
|
|
logfile ""
|
|
|
|
################################### CLIENTS ####################################
|
|
|
|
# Max number of connected clients
|
|
maxclients 10000
|
|
|
|
################################## SLOW LOG ####################################
|
|
|
|
# Log queries slower than N microseconds
|
|
slowlog-log-slower-than 10000
|
|
|
|
# Max length of slow log
|
|
slowlog-max-len 128
|
|
|
|
################################ LATENCY MONITOR ###############################
|
|
|
|
# Enable latency monitoring to track latency spikes
|
|
latency-monitor-threshold 100
|
|
|
|
################################## DIRECTORIES #################################
|
|
|
|
# Working directory for RDB and AOF files
|
|
# This will be set via command-line or Docker volume
|
|
dir /var/lib/redis
|