ToolJet/docker/LTS/ee/redis.conf

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