mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-06-22 08:38:13 +02:00
feat(scripts): generate REDIS_PASSWORD on setup, plumb through compose (#458)
* feat(scripts): generate REDIS_PASSWORD on setup, plumb through compose Per the discussion on #453, this takes the recommended path of extending the setup scripts rather than introducing a parallel compose file. - scripts/setup_remote.sh now generates REDIS_PASSWORD alongside OSS_JWT_SECRET and POSTGRES_PASSWORD and writes it to the rendered .env (with a short comment noting it can be rotated, unlike the postgres password which is baked into the volume on first init). - scripts/start_docker.sh now generates REDIS_PASSWORD on first run if missing, mirroring the existing OSS_JWT_SECRET pattern (reuses generate_secret, which falls back through python3 → openssl → /dev/urandom). - docker-compose.yaml and docker-compose-local.yaml now interpolate ${REDIS_PASSWORD:-redissecret} in the redis --requirepass, the redis healthcheck, and the api REDIS_URL. The :-redissecret fallback preserves backwards compatibility for users with an existing .env that predates this change — they keep the old value until they regenerate. New installs (via either script) get a secure random hex. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * Harden local Docker secret setup --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> Co-authored-by: Abhishek Kumar <abhishek@a6k.me>
This commit is contained in:
parent
ac91019d38
commit
17054e3f26
9 changed files with 99 additions and 12 deletions
|
|
@ -252,6 +252,7 @@ echo -e "${GREEN}✓ SSL certificates generated${NC}"
|
|||
echo -e "${BLUE}[4/$TOTAL] Creating environment file...${NC}"
|
||||
OSS_JWT_SECRET=$(openssl rand -hex 32)
|
||||
POSTGRES_PASSWORD=$(openssl rand -hex 32)
|
||||
REDIS_PASSWORD=$(openssl rand -hex 32)
|
||||
|
||||
cat > .env << ENV_EOF
|
||||
# Remote deployments run with production signaling and HTTPS defaults
|
||||
|
|
@ -282,6 +283,11 @@ OSS_JWT_SECRET=$OSS_JWT_SECRET
|
|||
# baked into the postgres data volume when it is first created.
|
||||
POSTGRES_PASSWORD=$POSTGRES_PASSWORD
|
||||
|
||||
# Redis password. Used by the redis container's --requirepass and the API's
|
||||
# REDIS_URL. Unlike postgres, this is not baked into a volume and can be
|
||||
# rotated by updating .env and recreating the redis container.
|
||||
REDIS_PASSWORD=$REDIS_PASSWORD
|
||||
|
||||
# Telemetry (set to false to disable)
|
||||
ENABLE_TELEMETRY=$ENABLE_TELEMETRY
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue