Files
marketing-parser/src/main/resources/application.properties
T
Hermes Agent 2ddef99691 fix: externalize OpenAI API key to env variable
OpenAI key was hardcoded in application.properties and expired (401 Unauthorized).
Move to ${OPENAI_API_KEY} env variable so it can be updated without rebuilding.
2026-08-13 12:45:56 +00:00

178 lines
8.2 KiB
Properties

ollama.host=http://185.35.223.45:11434
ollama.model=gemma3:1b
ollama.timeoutMs=18000000
ollama.connectTimeoutMs=10000000
ollama.responseTimeoutMs=18000000
minio.endpoint=http://92.38.48.166:9000
minio.access-key=z9HhZTjzhVWqw3D20u7q
minio.secret-key=lhhHtJow1b10z6EZRMTQIU1tsKkoaxCVpSypCrcb
minio.bucket-name=konturai
java.awt.headless=true
spring.application.name=parser
cors.allowed-origins=${CORS_ALLOWED_ORIGINS:${CORS_ALLOWED_ORIGIN:https://konturai.kz,https://www.konturai.kz}}
cors.allowed-methods=${CORS_ALLOWED_METHODS:GET,POST,PUT,PATCH,DELETE,OPTIONS}
cors.allowed-headers=${CORS_ALLOWED_HEADERS:*}
cors.exposed-headers=${CORS_EXPOSED_HEADERS:Location,Content-Disposition}
cors.allow-credentials=${CORS_ALLOW_CREDENTIALS:true}
cors.max-age-seconds=${CORS_MAX_AGE_SECONDS:3600}
spring.data.mongodb.host=92.38.48.166
spring.data.mongodb.port=27017
spring.data.mongodb.database=parser_db
spring.data.mongodb.username=konturai
spring.data.mongodb.password=konturai2024
spring.data.mongodb.authentication-database=admin
rss.feed.url=https://kursiv.media/feed/
rss.kapital.url=https://kapital.kz/rss/
rss.lsm.url=https://lsm.kz/rss
rss.rbc.url=https://static.feed.rbc.ru/rbc/logical/footer/news.rss
rss.vedomosti.url=https://www.vedomosti.ru/rss/rubric/technology/internet
parser.scheduler.enabled=false
spring.task.scheduling.pool.size=5
spring.task.scheduling.thread-name-prefix=scheduled-task-
spring.data.mongodb.connection-timeout=30000
spring.data.mongodb.socket-timeout=30000
spring.data.mongodb.server-selection-timeout=30000
logging.level.kz.konturai.parser.service.KursivParserService=INFO
logging.level.kz.konturai.parser.service.KapitalParserService=INFO
logging.level.kz.konturai.parser.service.LsmParserService=INFO
logging.level.kz.konturai.parser.service.RbcParserService=INFO
logging.level.kz.konturai.parser.service.VedomostiParserService=INFO
logging.level.org.springframework.scheduling=DEBUG
logging.level.org.springframework.data.mongodb=INFO
logging.level.com.mongodb=WARN
logging.level.kz.konturai.parser.service.OllamaAnalyticsService=INFO
logging.level.kz.konturai.parser.controller.MarketingController=DEBUG
logging.level.kz.konturai.parser.service.MarketingAnalysisService=DEBUG
logging.level.kz.konturai.parser.service.GeminiVideoGenerationService=INFO
logging.level.kz.konturai.parser.service.NanoBananaImageGenerationService=INFO
logging.level.kz.konturai.parser.service.FacebookLeadCollectorService=INFO
logging.level.kz.konturai.parser.service.FacebookLeadGraphApiClient=INFO
logging.level.kz.konturai.parser.service.FacebookLeadCallCenterSyncService=INFO
logging.level.kz.konturai.parser.config.MongoConfig=WARN
logging.level.org.springframework.data.mongodb.core.convert=WARN
openai.api.key=${OPENAI_API_KEY:}
openai.api.url=https://api.openai.com/v1/chat/completions
openai.model.name=gpt-4o-mini
openai.model.name.text=gpt-4o
openai.timeoutMs=90000
openai.timeoutMs.instruction=180000
openai.retry.maxAttempts=3
openai.retry.initialDelayMs=2000
openai.retry.maxDelayMs=60000
openai.retry.multiplier=2.0
openai.retry.rateLimitMaxAttempts=10
openai.retry.rateLimitInitialDelayMs=5000
openai.retry.rateLimitMaxDelayMs=300000
openai.rateLimit.maxConcurrentRequests=3
serper.api.key=5ae7ad0baf7dfacb8bcd5fc8dca01f61b3207e75
serper.api.url=https://google.serper.dev
serper.timeoutMs=30000
serper.retry.maxAttempts=3
serper.retry.initialDelayMs=1000
serper.retry.maxDelayMs=10000
serper.retry.multiplier=2.0
openai.image.model=dall-e-3
openai.image.size=1024x1024
openai.image.quality=hd
openai.image.style=natural
image.generation.provider=nano-banana
image.generation.delayBetweenRequestsMs=3000
google.cloud.project-id=gen-lang-client-0719272404
google.cloud.location=us-central1
google.gemini.image.model=imagen-3.0-generate-001
google.gemini.video.model=veo-3.0-generate-001
google.gemini.timeoutMs=120000
google.gemini.retry.maxAttempts=5
google.gemini.retry.initialDelayMs=10000
google.gemini.retry.maxDelayMs=120000
google.gemini.retry.multiplier=2.0
google.gemini.rateLimit.delayMs=20000
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=your-email@gmail.com
spring.mail.password=your-app-password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
management.health.mail.enabled=false
deep-research.api.url=http://185.35.223.45:3051
deep-research.api.timeout=1800000
security.jwt.secret-base64=ZmFrZV9zZWNyZXRfMTIzNDU2Nzg5MGFiY2RlZmFrZV9zZWNyZXRfMTIzNDU2Nzg5MGFiY2Rl
encryption.secret-key=ZmFrZV9zZWNyZXRfMTIzNDU2Nzg5MGFiY2RlZmFrZV9zZWNyZXRfMTIzNDU2Nzg5MGFiY2Rl
posting.scheduler.enabled=true
telegram.api.timeout=30000
# facebook.api.timeout=30000
# facebook.verify.token=konturAI
# facebook.page.access.token=EAAaocqgT3JoBQtNeU4uqBrywSRwGmFZBQDZBnd1ynWjX070wAa09QBKebjrd9vyjAZCiJuZAZCU8266VlJYTAfwue20QNvENgM3wpjWNmCrTO0gTMAkmPZBKZBXKvZA8eCA4aZCUhmU2jsBRluYqKUyqpYV3ZCK928OVqLqCNZCUhqU6nUU0xP0DOzk90x58tmxpS2y1i7hjQZDZD
#
# # Targeting Module Configuration
# targeting.kzt-usd-rate=460.0
#
# targeting.facebook.app-id=${FACEBOOK_APP_ID:dummy-app-id}
# targeting.facebook.app-secret=${FACEBOOK_APP_SECRET:dummy-app-secret}
# targeting.facebook.oauth-redirect-uri=${FACEBOOK_REDIRECT_URI:http://localhost:8080/api/v1/targeting/facebook/callback}
# targeting.facebook.graph-api-version=v19.0
# targeting.facebook.rate-limit-retry-ms=5000
# targeting.facebook.max-retries=3
#
# targeting.tiktok.app-id=${TIKTOK_APP_ID:dummy-app-id}
# targeting.tiktok.app-secret=${TIKTOK_APP_SECRET:dummy-app-secret}
# targeting.tiktok.oauth-redirect-uri=${TIKTOK_REDIRECT_URI:http://localhost:8080/api/v1/targeting/tiktok/callback}
# targeting.tiktok.base-url=https://business-api.tiktok.com/open_api/v1.3
# Facebook Posting Configuration
facebook.app.id=1874060259875994
facebook.app.secret=1e096c34d375641b7c4d05fff64299ea
facebook.page.id=918835061309575
facebook.page.token=EAAaocqgT3JoBROtsPgmyXxbOCrhL1o6q43rdbXfZCxsrRTRFG4BFrndpZB1SeC77oI3iDqTws6ZBY3Kvv1ZAoZCFubulQjZAItIORmzdQZAmR0szuadwdAkvKENlpERtexNxNRfFEVZCWKDYm1px9knYzoJQOeGjOQOMi3oyweLgouC4ZBB3PoGB6Y8xz5Jh9b5nYCBc3
# Facebook Hot Leads Configuration
facebook.leads.page-id=${FACEBOOK_LEADS_PAGE_ID:918835061309575}
facebook.leads.access-token=${FACEBOOK_LEADS_ACCESS_TOKEN:EAAaocqgT3JoBROtsPgmyXxbOCrhL1o6q43rdbXfZCxsrRTRFG4BFrndpZB1SeC77oI3iDqTws6ZBY3Kvv1ZAoZCFubulQjZAItIORmzdQZAmR0szuadwdAkvKENlpERtexNxNRfFEVZCWKDYm1px9knYzoJQOeGjOQOMi3oyweLgouC4ZBB3PoGB6Y8xz5Jh9b5nYCBc3}
facebook.leads.cron=${FACEBOOK_LEADS_CRON:0 */15 * * * *}
facebook.leads.graph-api-version=${FACEBOOK_LEADS_GRAPH_API_VERSION:v19.0}
facebook.leads.timeout-ms=${FACEBOOK_LEADS_TIMEOUT_MS:30000}
facebook.leads.posts-page-size=${FACEBOOK_LEADS_POSTS_PAGE_SIZE:25}
facebook.leads.comments-page-size=${FACEBOOK_LEADS_COMMENTS_PAGE_SIZE:100}
facebook.leads.call-center.enabled=${FACEBOOK_LEADS_CALL_CENTER_ENABLED:true}
facebook.leads.call-center.base-url=${FACEBOOK_LEADS_CALL_CENTER_BASE_URL:http://localhost:8080}
facebook.leads.call-center.customer-path=${FACEBOOK_LEADS_CALL_CENTER_CUSTOMER_PATH:/proxy/customer/customers}
facebook.leads.call-center.interaction-path=${FACEBOOK_LEADS_CALL_CENTER_INTERACTION_PATH:/proxy/interaction/interactions}
facebook.leads.call-center.auth-login-path=${FACEBOOK_LEADS_CALL_CENTER_AUTH_LOGIN_PATH:/proxy/auth/auth/login}
facebook.leads.call-center.auth-username=${FACEBOOK_LEADS_CALL_CENTER_AUTH_USERNAME:admin}
facebook.leads.call-center.auth-password=${FACEBOOK_LEADS_CALL_CENTER_AUTH_PASSWORD:admin123}
facebook.leads.call-center.actor-user=${FACEBOOK_LEADS_CALL_CENTER_ACTOR_USER:facebook-lead-bot}
facebook.leads.call-center.actor-role=${FACEBOOK_LEADS_CALL_CENTER_ACTOR_ROLE:admin}
facebook.leads.call-center.interaction-channel=${FACEBOOK_LEADS_CALL_CENTER_INTERACTION_CHANNEL:webchat}
facebook.leads.call-center.interaction-queue-id=${FACEBOOK_LEADS_CALL_CENTER_INTERACTION_QUEUE_ID:q_main}
facebook.leads.call-center.timeout-ms=${FACEBOOK_LEADS_CALL_CENTER_TIMEOUT_MS:30000}
facebook.leads.call-center.subject-prefix=${FACEBOOK_LEADS_CALL_CENTER_SUBJECT_PREFIX:[Facebook]}
targeting.ai.audience-model=gpt-4o
targeting.ai.max-audience-tokens=2500
targeting.ai.budget-model=gpt-4o-mini
targeting.ai.max-budget-tokens=1000
targeting.ai.creatives-model=gpt-4o
targeting.ai.max-creatives-tokens=2000