92 lines
5.2 KiB
Bash
92 lines
5.2 KiB
Bash
# =============================================================================
|
|
# Marketing Parser — environment configuration template
|
|
# -----------------------------------------------------------------------------
|
|
# Copy to .env for local development, or to .env.production on the server.
|
|
# Both are gitignored. NEVER commit a filled-in copy.
|
|
#
|
|
# REQUIRED — the application will not start without it.
|
|
# OPTIONAL — has a working default in application.properties; override as needed.
|
|
#
|
|
# Load locally with: set -a && source .env && set +a
|
|
# =============================================================================
|
|
|
|
# --- MongoDB -----------------------------------------------------------------
|
|
MONGODB_HOST=localhost # OPTIONAL (default: localhost)
|
|
MONGODB_PORT=27017 # OPTIONAL (default: 27017)
|
|
MONGODB_DATABASE=parser_db # OPTIONAL (default: parser_db)
|
|
MONGODB_AUTH_DATABASE=admin # OPTIONAL (default: admin)
|
|
MONGODB_USERNAME= # REQUIRED
|
|
MONGODB_PASSWORD= # REQUIRED
|
|
|
|
# --- MinIO object storage (generated reports and images) ---------------------
|
|
MINIO_ENDPOINT= # REQUIRED e.g. http://minio.internal:9000
|
|
MINIO_ACCESS_KEY= # REQUIRED
|
|
MINIO_SECRET_KEY= # REQUIRED
|
|
MINIO_BUCKET_NAME=konturai # OPTIONAL (default: konturai)
|
|
|
|
# --- Application security ----------------------------------------------------
|
|
# Both must be base64-encoded and at least 256 bits. Generate with:
|
|
# openssl rand -base64 32
|
|
JWT_SECRET_BASE64= # REQUIRED — must match the issuing auth service
|
|
ENCRYPTION_SECRET_KEY= # REQUIRED — encrypts stored social media credentials
|
|
|
|
# --- OpenAI ------------------------------------------------------------------
|
|
OPENAI_API_KEY= # REQUIRED
|
|
|
|
# --- Ollama (self-hosted text model) -----------------------------------------
|
|
OLLAMA_HOST=http://localhost:11434 # OPTIONAL (default: http://localhost:11434)
|
|
OLLAMA_MODEL=gemma3:1b # OPTIONAL (default: gemma3:1b)
|
|
|
|
# --- Serper (Google search API) ----------------------------------------------
|
|
SERPER_API_KEY= # REQUIRED
|
|
|
|
# --- Deep research service ---------------------------------------------------
|
|
DEEP_RESEARCH_API_URL= # REQUIRED e.g. http://research.internal:3051
|
|
|
|
# --- Google Vertex AI (Imagen / Veo) -----------------------------------------
|
|
# Also requires the service-account JSON at src/main/resources/keys/google-key.json
|
|
GOOGLE_CLOUD_PROJECT_ID= # REQUIRED
|
|
GOOGLE_CLOUD_LOCATION=us-central1 # OPTIONAL (default: us-central1)
|
|
IMAGE_GENERATION_PROVIDER=nano-banana # OPTIONAL — nano-banana | openai
|
|
|
|
# --- Facebook posting --------------------------------------------------------
|
|
FACEBOOK_APP_ID= # REQUIRED
|
|
FACEBOOK_APP_SECRET= # REQUIRED
|
|
FACEBOOK_PAGE_ID= # REQUIRED
|
|
FACEBOOK_PAGE_TOKEN= # REQUIRED — long-lived page access token
|
|
|
|
# --- Facebook hot leads collector --------------------------------------------
|
|
FACEBOOK_LEADS_PAGE_ID= # REQUIRED
|
|
FACEBOOK_LEADS_ACCESS_TOKEN= # REQUIRED
|
|
FACEBOOK_LEADS_CRON=0 */15 * * * * # OPTIONAL (default: every 15 minutes)
|
|
FACEBOOK_LEADS_GRAPH_API_VERSION=v19.0 # OPTIONAL
|
|
FACEBOOK_LEADS_TIMEOUT_MS=30000 # OPTIONAL
|
|
FACEBOOK_LEADS_POSTS_PAGE_SIZE=25 # OPTIONAL
|
|
FACEBOOK_LEADS_COMMENTS_PAGE_SIZE=100 # OPTIONAL
|
|
|
|
# --- Facebook leads -> call centre sync --------------------------------------
|
|
FACEBOOK_LEADS_CALL_CENTER_ENABLED=true # OPTIONAL (default: true)
|
|
FACEBOOK_LEADS_CALL_CENTER_BASE_URL= # OPTIONAL (default: http://localhost:8080)
|
|
FACEBOOK_LEADS_CALL_CENTER_AUTH_USERNAME= # REQUIRED when the sync is enabled
|
|
FACEBOOK_LEADS_CALL_CENTER_AUTH_PASSWORD= # REQUIRED when the sync is enabled
|
|
# Remaining FACEBOOK_LEADS_CALL_CENTER_* values (paths, actor, queue, timeout,
|
|
# subject prefix) have defaults in application.properties.
|
|
|
|
# --- Mail (report delivery) --------------------------------------------------
|
|
MAIL_HOST=smtp.gmail.com # OPTIONAL (default: smtp.gmail.com)
|
|
MAIL_PORT=587 # OPTIONAL (default: 587)
|
|
MAIL_USERNAME= # REQUIRED
|
|
MAIL_PASSWORD= # REQUIRED — Gmail app password, not the account password
|
|
|
|
# --- Schedulers --------------------------------------------------------------
|
|
PARSER_SCHEDULER_ENABLED=false # OPTIONAL (default: false)
|
|
POSTING_SCHEDULER_ENABLED=true # OPTIONAL (default: true)
|
|
|
|
# --- CORS --------------------------------------------------------------------
|
|
CORS_ALLOWED_ORIGINS=https://konturai.kz,https://www.konturai.kz # OPTIONAL
|
|
CORS_ALLOWED_METHODS=GET,POST,PUT,PATCH,DELETE,OPTIONS # OPTIONAL
|
|
CORS_ALLOWED_HEADERS=* # OPTIONAL
|
|
CORS_EXPOSED_HEADERS=Location,Content-Disposition # OPTIONAL
|
|
CORS_ALLOW_CREDENTIALS=true # OPTIONAL
|
|
CORS_MAX_AGE_SECONDS=3600 # OPTIONAL
|