# --------------------------------------------------------------------------- # 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 # --- Checkbox ------------------------------------------------------------- # Ключ лицензии кассы и PIN кассира вводятся в админке «Кассы» и хранятся в БД # зашифрованными (ENCRYPTION_KEY), а не здесь. CHECKBOX_BASE_URL=https://api.checkbox.ua CHECKBOX_CLIENT_NAME=lux_fiscal CHECKBOX_CLIENT_VERSION=0.1.0 # Пауза между запросами к Checkbox (мс): Новая Почта за Checkbox ограничивает частоту. CHECKBOX_MIN_REQUEST_INTERVAL_MS=1000 # ЕТТН-чеки на тестовой кассе Checkbox не работают: локально весь цикл # прогоняется через стаб (чек «фискализируется» на втором опросе). В production запрещено. CHECKBOX_USE_STUB=false