Шаги 2.3 и 2.4 плана production-готовности: - lib/format.ts formatAmount вместо 2 локальных копий - пины тегов minio/rclone/ollama/traccar/pgvector + osrm по digest - minioadmin без дефолта (env required, dev-подсказки в .env.example) - 28 any в auto-transitions/shared типизированы из @shared/schema - удалён _tablefield_orig.txt - check/lint/build чисто, vitest 104/104
72 lines
2.6 KiB
Plaintext
72 lines
2.6 KiB
Plaintext
# =============================================
|
|
# Local development environment for iistwin
|
|
# Full copy of production, runs via docker-compose.local.yml
|
|
#
|
|
# Copy this file to .env.local and fill in secrets.
|
|
# .env.local is NOT committed to Git — sync it via Yandex Disk.
|
|
# =============================================
|
|
|
|
# JWT secrets — generate with: openssl rand -hex 32
|
|
JWT_ACCESS_SECRET=LOCAL_ACCESS_SECRET_REPLACE_ME
|
|
JWT_REFRESH_SECRET=LOCAL_REFRESH_SECRET_REPLACE_ME
|
|
JWT_SUPERADMIN_SECRET=LOCAL_SUPERADMIN_SECRET_REPLACE_ME
|
|
|
|
# Session secret — generate with: openssl rand -hex 32
|
|
SESSION_SECRET=LOCAL_SESSION_SECRET_REPLACE_ME
|
|
|
|
# HMAC secret for API key hashing — generate with: openssl rand -hex 32
|
|
API_KEY_HMAC_SECRET=LOCAL_API_KEY_HMAC_SECRET_REPLACE_ME
|
|
|
|
# Web Push VAPID keys — generate with: npx web-push generate-vapid-keys
|
|
VAPID_PUBLIC_KEY=LOCAL_VAPID_PUBLIC_KEY_REPLACE_ME
|
|
VAPID_PRIVATE_KEY=LOCAL_VAPID_PRIVATE_KEY_REPLACE_ME
|
|
|
|
# =============================================
|
|
# Database (local Docker PostgreSQL + pgvector)
|
|
# =============================================
|
|
POSTGRES_DB=appdb
|
|
POSTGRES_USER=appuser
|
|
# Generate a strong local password with: openssl rand -hex 16
|
|
POSTGRES_PASSWORD=local_db_password_replace_me
|
|
|
|
DATABASE_URL=postgresql://appuser:local_db_password_replace_me@db:5432/appdb
|
|
|
|
# =============================================
|
|
# File storage (local MinIO)
|
|
# =============================================
|
|
MINIO_ENDPOINT=http://minio:9000
|
|
MINIO_ACCESS_KEY=minioadmin # только для локального стенда; в production сменить
|
|
# Generate a strong local password with: openssl rand -hex 16
|
|
MINIO_SECRET_KEY=local_minio_secret_replace_me
|
|
MINIO_BUCKET=files
|
|
|
|
# =============================================
|
|
# WebDAV (local)
|
|
# =============================================
|
|
WEBDAV_USER=admin
|
|
WEBDAV_PASSWORD=local_webdav_password_replace_me
|
|
|
|
# =============================================
|
|
# Ollama / Local LLM (optional, enable with --profile with-ollama)
|
|
# =============================================
|
|
# OLLAMA_BASE_URL=http://ollama:11434
|
|
# OLLAMA_NUM_THREAD=3
|
|
# OLLAMA_NUM_CTX=2048
|
|
ALLOW_PRIVATE_RAG_URLS=true
|
|
|
|
# =============================================
|
|
# Public URL of CRM itself
|
|
# =============================================
|
|
APP_URL=http://localhost:5000
|
|
|
|
# =============================================
|
|
# Document Worker
|
|
# =============================================
|
|
DOC_WORKER_URL=http://document-worker:3000
|
|
|
|
# =============================================
|
|
# HTTPS detection behind reverse proxy
|
|
# Local development: must be false
|
|
# =============================================
|
|
APP_HTTPS_PROXY=false
|