- FastAPI backend: PostGIS estimator + 3 scrapers (Avito/Cian/Yandex)
- Next.js 15 frontend: tradein.html mockup design, basePath=/trade-in
- WeasyPrint PDF (Брусника-style 4-page report)
- Address autocomplete с typo-tolerance + 6 EKB presets
- Изолированный docker stack gendesign-tradein (отдельная postgres БД)
- Caddy inline routes: gendsgn.ru/trade-in/* и /trade-in/api/v1/*
- Forgejo Actions: .forgejo/workflows/deploy-tradein.yml (shell-based GHCR login)
- Триггер только по paths: tradein-mvp/** (не пересекается с deploy.yml)
- Образы: ghcr.io/lekss361/gendesign-tradein-{backend,frontend}:latest
Первый запуск на сервере (вручную, один раз):
- создать /opt/gendesign/tradein-mvp/.env.runtime (postgres pwd, contact email)
- docker network create gendesign_shared (если нет)
- docker compose -p gendesign-tradein up -d
- docker compose -p gendesign exec caddy caddy reload
17 lines
812 B
Text
17 lines
812 B
Text
# Trade-In MVP — environment variables example.
|
||
# Скопируй в .env (или экспортируй в shell) для override defaults.
|
||
|
||
# === Backend ===
|
||
DATABASE_URL=postgresql+psycopg://tradein:tradein@postgres:5432/tradein
|
||
CORS_ORIGINS=["http://localhost:8080","http://localhost:3000"]
|
||
ENVIRONMENT=dev
|
||
|
||
# === Frontend (build-time) ===
|
||
# Backend URL для Next.js rewrites (browser обращается к /api/* — Next.js проксирует на BACKEND_URL/api/*).
|
||
# В docker compose это уже выставлено в http://backend:8000 — менять не нужно.
|
||
# BACKEND_URL=http://backend:8000
|
||
|
||
# === Postgres (если меняешь — синхронизируй с DATABASE_URL и docker-compose.yml) ===
|
||
POSTGRES_USER=tradein
|
||
POSTGRES_PASSWORD=tradein
|
||
POSTGRES_DB=tradein
|