FluffBoost

Configuration

Every environment variable, validated by Zod at startup.

All configuration lives in environment variables, validated by a Zod schema in apps/discord/src/utils/envSchema.ts. Invalid config exits the process immediately — a missing or malformed value fails fast instead of misbehaving later.

Locally these come from apps/discord/.env. In production, inject them through your platform (see Deployment).

Required

VariableNotes
DATABASE_URLPostgreSQL connection string
REDIS_URLRedis connection string
DISCORD_APPLICATION_IDDiscord snowflake
DISCORD_APPLICATION_PUBLIC_KEYFrom the Discord Developer Portal
DISCORD_APPLICATION_BOT_TOKENBot token
OWNER_IDSnowflake of the bot owner
MAIN_GUILD_IDPrimary/support guild snowflake
MAIN_CHANNEL_IDPrimary channel snowflake

Optional (with defaults)

VariableDefaultNotes
DATABASE_POOL_MAX10Max Postgres pool size per process
WORKER_CONCURRENCY4BullMQ worker concurrency per shard
DISCORD_DEFAULT_STATUSSpreading Paw-sitivity 🐾Fallback presence text
DISCORD_DEFAULT_ACTIVITY_TYPECustomPlaying, Streaming, Listening, Custom
DEFAULT_ACTIVITY_URLStream URL (for Streaming)
DISCORD_ACTIVITY_INTERVAL_MINUTES15Presence rotation interval (1–1440)
ALLOWED_USERSComma-separated snowflakes
HOST / PORT— / 3000Express health API bind
VERSION0.0.0-devReported version string
NODE_ENVdevelopmentdevelopment, production, test
PREMIUM_ENABLEDfalseMaster toggle for premium features
DISCORD_PREMIUM_SKU_IDRequired when PREMIUM_ENABLED=true

If PREMIUM_ENABLED=true, DISCORD_PREMIUM_SKU_ID must be set — the schema rejects the config otherwise.

The current template always lives in apps/discord/.env.example.

On this page