Files
lux_fiscal/.env.example
T
lauadminandClaude Sonnet 5 d13e7ce2b3 Add Nova Poshta tracking: TTN status, COD amount, payment status
Adds NpTrackingClient (Protocol + real/stub impls) and an ARQ worker that
polls Nova Poshta every minute for orders without a receipt, writing
status, net COD amount (Контроль оплати), and payment status onto the
order. Surfaced in the orders table and detail modal. Marks plan stages
3-4 done in README.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-23 22:33:58 +03:00

63 lines
2.9 KiB
Bash

# ---------------------------------------------------------------------------
# lux_fiscal — пример конфигурации. Скопируйте в .env и заполните.
# cp .env.example .env
# ---------------------------------------------------------------------------
# --- Общее --------------------------------------------------------------
ENVIRONMENT=local # local | staging | production
DEBUG=true
LOG_LEVEL=INFO
PROJECT_NAME=lux_fiscal
# Базовый публичный URL приложения. Из него строится callback_url для Checkbox,
# поэтому в проде он обязан быть реальным https-адресом.
BASE_URL=http://localhost:8000
# Домены, которым разрешён доступ к API из браузера (через запятую).
CORS_ORIGINS=http://localhost:5173,http://localhost:8000
# --- Postgres -----------------------------------------------------------
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_DB=lux_fiscal
POSTGRES_USER=lux_fiscal
POSTGRES_PASSWORD=change-me-postgres
# --- Redis --------------------------------------------------------------
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_DB=0
# --- Криптография -------------------------------------------------------
# SECRET_KEY подписывает JWT. ENCRYPTION_KEY шифрует ключи Checkbox/CRM в БД.
#
# Сгенерировать оба ключа:
# python -c "import secrets; print(secrets.token_urlsafe(64))" # SECRET_KEY
# python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())" # ENCRYPTION_KEY
#
# ВАЖНО: при смене ENCRYPTION_KEY все сохранённые ключи касс станут
# нечитаемыми — их придётся ввести заново через админку.
SECRET_KEY=change-me-generate-a-real-secret-key
ENCRYPTION_KEY=change-me-generate-a-real-fernet-key
ACCESS_TOKEN_EXPIRE_MINUTES=15
REFRESH_TOKEN_EXPIRE_DAYS=7
# --- Первый администратор ----------------------------------------------
# Создаётся один раз командой `python -m app.cli bootstrap`.
FIRST_ADMIN_EMAIL=admin@example.com
FIRST_ADMIN_PASSWORD=change-me-admin-password
FIRST_ADMIN_NAME=Администратор
# --- CRM (exoCRM) ---------------------------------------------------------
# Ключи доступа к магазину — запросить у администратора CRM.
CRM_BASE_URL=https://optstore.exocrm.com/api/1.1/
CRM_API_KEY=change-me-crm-apikey
CRM_SECRET_KEY=change-me-crm-secretkey
CRM_SHOP_KEY=change-me-crm-shopkey
CRM_SID=1
# --- Nova Poshta ----------------------------------------------------------
# Ключ API кабинета Nova Poshta (my.novaposhta.ua → Настройки → API).
NOVA_POSHTA_API_KEY=change-me-novaposhta-apikey