62d7c44efc
* feat: add REDIS_KEY_PREFIX env var for Redis ACL namespace isolation Adds optional REDIS_KEY_PREFIX env var that prefixes all Redis keys (BullMQ queues via `prefix` option, cache/lock/rate-limit keys via `redisKey()` helper). When unset, behavior is unchanged (BullMQ defaults to "bull:", cache keys are unprefixed). This enables self-hosters using Redis ACL multi-tenancy to restrict useSend to its own key namespace (e.g. `~usesend:*`). 16 files changed across env schema, Redis module, 9 BullMQ queue/worker files, and 5 direct Redis key operation sites. * docs: add REDIS_KEY_PREFIX to self-host assets and fix docker run example Add REDIS_KEY_PREFIX env var to docker/prod/compose.yml, .env.example, .env.selfhost.example, and self-hosting docs. Fix missing trailing backslashes in standalone docker run example. * fix(redis): disable ioredis ready check and BullMQ version check Redis ACL blocks INFO command (in @dangerous category). ioredis uses INFO for ready check, BullMQ uses it for version detection. Without these flags, BullMQ workers fail to initialize and silently stop processing jobs. - Add enableReadyCheck: false to ioredis connection - Add skipVersionCheck: true to all 5 Queue + 5 Worker constructors * fix(redis): add skipVersionCheck to remaining BullMQ job queues Add skipVersionCheck: true to Queue and Worker constructors in all 4 job files (campaign-scheduler, cleanup-email-bodies, usage-job, webhook-cleanup) to match the pattern already used in service files. This prevents BullMQ version mismatch errors when using REDIS_KEY_PREFIX with Redis ACL namespace isolation.
29 lines
671 B
Bash
29 lines
671 B
Bash
DATABASE_URL="postgresql://usesend:password@localhost:54320/usesend"
|
|
REDIS_URL="redis://localhost:6379"
|
|
|
|
|
|
|
|
NEXTAUTH_URL="http://localhost:3000"
|
|
|
|
SMTP_HOST=smtp.mailtrap.io # Example SMTP host
|
|
SMTP_USER=test_userdadad@example.com # Example SMTP user
|
|
|
|
|
|
AWS_DEFAULT_REGION="us-east-1"
|
|
AWS_SECRET_KEY="some-secret-key"
|
|
AWS_ACCESS_KEY="some-access-key"
|
|
AWS_SES_ENDPOINT="http://localhost:3003/api/ses"
|
|
AWS_SNS_ENDPOINT="http://localhost:3003/api/sns"
|
|
|
|
NEXTAUTH_SECRET=""
|
|
|
|
FROM_EMAIL="hello@usesend.com"
|
|
|
|
API_RATE_LIMIT=2
|
|
AUTH_EMAIL_RATE_LIMIT=5
|
|
|
|
# Optional: prefix all Redis keys (useful for shared Redis with ACL isolation)
|
|
# REDIS_KEY_PREFIX=""
|
|
|
|
NEXT_PUBLIC_IS_CLOUD=true
|