Skip to content

chore(prod): move prod redis to Hyper-V HA cluster (drop sidecar)#74

Merged
braedonsaunders merged 1 commit into
mainfrom
chore/prod-redis-hyperv-cluster
Jun 12, 2026
Merged

chore(prod): move prod redis to Hyper-V HA cluster (drop sidecar)#74
braedonsaunders merged 1 commit into
mainfrom
chore/prod-redis-hyperv-cluster

Conversation

@braedonsaunders

Copy link
Copy Markdown
Owner

What

Externalizes redis for the production Dokploy stack (bidwright.rassaun.com), mirroring the earlier DB→cluster and files→NAS moves (#73). Applied live to the Dokploy raw compose + env and redeployed; this updates the repo mirror.

Changes (docker-compose.prod-registry.yml)

  • Remove the bundled redis service, its depends_on in api/worker, and the bidwright-redisdata volume.
  • REDIS_URL (in the Dokploy env) now points at the shared Hyper-V HA redis — floating master VIP 10.0.0.90:6379 on db 4 (isolated keyspace; instance is maxmemory-policy noeviction, required by BullMQ). The VIP follows the current master on failover, same model as the pg .85 VIP, so the worker's URL-only IORedis client needs no Sentinel code.

Bundling preserved (per request)

Postgres + redis stay bundled in the self-host/server shapes — docker-compose.prod.yml, docker-compose.hosted.yml, scripts/launcher/docker-compose.yml, base docker-compose.yml — and desktop keeps embedded-postgres (it has never bundled redis; it runs api+web in-process). Only the Rassaun prod stack externalizes these.

Verification (prod, post-cutover)

  • Deploy done; api/worker/web healthy; bidwright-redis-1 sidecar removed.
  • Worker log: "BullMQ workers started for queues: ingestion, ai, general, integration-syncs" (no auth/conn errors).
  • db4 on 10.0.0.90 now holds bull:bidwright-* keys; api REDIS_URL=redis://:***@10.0.0.90:6379/4.
  • Public: web / → 200.

Also cleaned up the defunct redis-ha-comoto Dokploy remnant (orphaned config dir; no services/volumes remained). The shared infra-net overlay was left intact (used by adminapp2/beacon/minio/etc.).

🤖 Generated with Claude Code

Production (bidwright.rassaun.com) no longer runs a bundled redis. It now
uses the shared Hyper-V HA redis — REDIS_URL in the Dokploy env points at
the floating master VIP 10.0.0.90:6379 on db 4 (isolated keyspace; the
instance is maxmemory-policy=noeviction, which BullMQ requires). The VIP
follows the current master on failover, same model as the pg .85 VIP, so
the worker's URL-only IORedis client needs no Sentinel code.

- remove the `redis` service + its depends_on in api/worker
- remove the `bidwright-redisdata` volume
- point the REDIS_URL default at the Hyper-V VIP (real creds in Dokploy env)

Postgres and redis remain BUNDLED in the self-host/server compose files
(docker-compose.prod.yml, docker-compose.hosted.yml, scripts/launcher,
base docker-compose.yml), and desktop keeps embedded-postgres — only the
Rassaun prod Dokploy stack externalizes these stateful services.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
bidwright-demo Ready Ready Preview, Comment Jun 12, 2026 11:26pm

Request Review

@braedonsaunders braedonsaunders merged commit d130f01 into main Jun 12, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant