From a75a660e5be0ff91229ee13139ff90175293da21 Mon Sep 17 00:00:00 2001 From: lekss361 Date: Sun, 24 May 2026 18:58:51 +0300 Subject: [PATCH] fix(tradein/devops): wire COOKIE_ENCRYPTION_KEY env to tradein-backend (Calculator was broken on prod) --- tradein-mvp/DEPLOY.md | 17 +++++++++++++++++ tradein-mvp/docker-compose.prod.yml | 4 ++++ 2 files changed, 21 insertions(+) diff --git a/tradein-mvp/DEPLOY.md b/tradein-mvp/DEPLOY.md index f77bb47d..60ee2e2b 100644 --- a/tradein-mvp/DEPLOY.md +++ b/tradein-mvp/DEPLOY.md @@ -56,10 +56,27 @@ TRADEIN_POSTGRES_USER=tradein TRADEIN_POSTGRES_PASSWORD=<сгенерировать openssl rand -hex 32> TRADEIN_CONTACT_EMAIL=tradein@gendsgn.ru YANDEX_GEOCODER_KEY= # пусто пока, Nominatim fallback работает + +# Encryption key for Cian session cookies (pgp_sym_encrypt / Stage 9 Calculator). +# Empty = Valuation Calculator scraper disabled + /api/v1/cookies/upload returns 503. +# Generate once on VPS: +# openssl rand -hex 32 +COOKIE_ENCRYPTION_KEY=<64-char hex> ``` Файл создаётся вручную при первом деплое. +### Обновление `COOKIE_ENCRYPTION_KEY` на существующем VPS + +```bash +# На VPS, если COOKIE_ENCRYPTION_KEY ещё не задан: +echo "COOKIE_ENCRYPTION_KEY=$(openssl rand -hex 32)" >> /opt/gendesign/tradein-mvp/.env.runtime + +# Применить без полного рестарта стека: +cd /opt/gendesign/tradein-mvp +docker compose -p gendesign-tradein -f docker-compose.prod.yml up -d --force-recreate --no-deps backend +``` + ## GitHub Secrets (уже должны быть от gendesign deploy) - `DEPLOY_HOST` — IP сервера (94.228.121.73) diff --git a/tradein-mvp/docker-compose.prod.yml b/tradein-mvp/docker-compose.prod.yml index 8f894833..bded06f2 100644 --- a/tradein-mvp/docker-compose.prod.yml +++ b/tradein-mvp/docker-compose.prod.yml @@ -48,6 +48,10 @@ services: # GlitchTip DSN — мониторинг ошибок (#396). Пусто = выключено. GLITCHTIP_DSN: "${GLITCHTIP_DSN:-}" GENDESIGN_FDW_PASSWORD: "${GENDESIGN_FDW_PASSWORD:-}" + # Encryption key for Cian session cookies (pgp_sym_encrypt). Required for + # Valuation Calculator (Stage 9). Empty = Calculator scraper disabled + + # cookies upload endpoint returns 503. Generate with `openssl rand -hex 32`. + COOKIE_ENCRYPTION_KEY: "${COOKIE_ENCRYPTION_KEY:-}" depends_on: postgres: condition: service_healthy