tahamajs/IE / Projects /application.properties
tahamajs's picture
download
raw
10.2 kB
# ================================================
# IE Research Platform - Application Properties
# ================================================
# ================================================
# Server Configuration
# ================================================
server.port=9092
server.servlet.context-path=/
server.error.include-message=always
server.error.include-binding-errors=always
server.error.include-stacktrace=never
server.servlet.session.timeout=1800
server.shutdown=graceful
spring.lifecycle.timeout-per-shutdown-phase=30s
# ================================================
# Performance Tuning
# ================================================
server.tomcat.threads.max=200
server.tomcat.threads.min-spare=10
server.tomcat.connection-timeout=20000
server.tomcat.max-connections=10000
# ================================================
# Database Configuration (H2 - FILE-BASED)
# ================================================
spring.datasource.url=jdbc:h2:file:./data/ieresearch;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=MySQL
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.hikari.maximumPoolSize=10
# ================================================
# H2 Console Configuration
# ================================================
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
spring.h2.console.settings.web-allow-others=true
# ================================================
# JPA / Hibernate Configuration
# ================================================
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.show-sql=false
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.use_sql_comments=false
spring.jpa.hibernate.ddl-auto=none
spring.jpa.open-in-view=false
spring.jpa.properties.hibernate.jdbc.batch_size=20
spring.jpa.properties.hibernate.order_inserts=true
# ================================================
# Flyway (disabled)
# ================================================
spring.flyway.enabled=false
# ================================================
# Redis Configuration (Disabled)
# ================================================
spring.data.redis.repositories.enabled=false
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration
# ================================================
# Email Configuration (SMTP)
# ================================================
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=${SMTP_USERNAME:}
spring.mail.password=${SMTP_PASSWORD:}
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.connectiontimeout=5000
spring.mail.properties.mail.smtp.timeout=5000
spring.mail.properties.mail.smtp.writetimeout=5000
spring.mail.test-connection=false
# ================================================
# File Upload Configuration
# ================================================
spring.servlet.multipart.max-file-size=50MB
spring.servlet.multipart.max-request-size=50MB
spring.servlet.multipart.enabled=true
file.upload-dir=uploads
file.upload.directory=uploads
backup.directory=backups
# ================================================
# JWT / Security Configuration
# ================================================
app.jwt.secret=404E635266556A586E3272357538782F413F4428472B4B6250645367566B5970
app.jwt.expiration=86400000
app.jwt.refresh-expiration=604800000
jwt.secret=ie-research-platform-secret-key-2024
jwt.expiration=86400000
jwt.refresh-expiration=604800000
# ================================================
# CORS Configuration
# ================================================
cors.allowed-origins=http://localhost:5173,http://localhost:3000,http://192.168.1.106:5173
cors.allowed-methods=GET,POST,PUT,DELETE,OPTIONS,PATCH
cors.allowed-headers=*
cors.allow-credentials=true
# ================================================
# WebSocket Configuration
# ================================================
websocket.port=9093
app.websocket.enabled=true
# ================================================
# Rate Limiting
# ================================================
rate.limit.capacity=60
rate.limit.refill.interval.ms=1000
rate.limit.refill.tokens=1
# ================================================
# Async Executor Configuration
# ================================================
spring.task.execution.pool.core-size=2
spring.task.execution.pool.max-size=10
spring.task.execution.pool.queue-capacity=100
spring.task.execution.thread-name-prefix=async-
# ================================================
# Scheduling Configuration
# ================================================
spring.task.scheduling.pool.size=5
spring.task.scheduling.thread-name-prefix=scheduler-
# ================================================
# Cache Configuration
# ================================================
spring.cache.type=simple
spring.cache.cache-names=articles,users,collections
# ================================================
# Static Resources
# ================================================
spring.web.resources.static-locations=classpath:/static/,classpath:/public/
spring.web.resources.cache.period=86400
# ================================================
# Logging Configuration
# ================================================
logging.level.root=WARN
logging.level.ir.ac.ut.ece.ie=INFO
logging.level.org.springframework.web=WARN
logging.level.org.hibernate=WARN
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
logging.file.name=logs/application.log
logging.logback.rollingpolicy.max-file-size=10MB
logging.logback.rollingpolicy.max-history=7
# ================================================
# OpenAPI / Swagger Configuration
# ================================================
springdoc.swagger-ui.path=/docs
springdoc.api-docs.path=/api-docs
openapi.title=IE Research Platform API
openapi.version=2.0.0
openapi.base-url=http://localhost:9092
openapi.enabled=true
# ================================================
# Actuator Configuration
# ================================================
management.endpoints.web.exposure.include=health,info,metrics,prometheus
management.endpoint.health.show-details=always
management.health.redis.enabled=false
# ================================================
# App Configuration
# ================================================
app.name=IE Research Platform
app.url=http://localhost:9092
app.version=2.0.0
# ================================================
# Subscription Plans
# ================================================
subscription.free.article-limit=5
subscription.free.storage-mb=100
subscription.free.api-calls=100
subscription.free.ai-generations=10
subscription.free.team-members=1
subscription.free.limit=5
subscription.pro.article-limit=100
subscription.pro.storage-mb=5000
subscription.pro.api-calls=5000
subscription.pro.ai-generations=500
subscription.pro.team-members=10
subscription.pro.limit=50
subscription.pro.monthly-price=29.99
subscription.pro.yearly-price=299.99
subscription.pro.trial-days=14
# ================================================
# AI Features Configuration
# ================================================
ai.openai.api.key=${OPENAI_API_KEY:}
ai.openai.model=gpt-3.5-turbo
ai.openai.embedding.model=text-embedding-3-small
ai.perspective.api.key=${PERSPECTIVE_API_KEY:}
ai.semantic-search.enabled=false
ai.summarization.enabled=false
ai.grammar.enabled=false
ai.moderation.enabled=false
ai.peer-review.enabled=false
# ================================================
# Stripe Configuration (Optional)
# ================================================
stripe.api.key=${STRIPE_SECRET_KEY:}
stripe.webhook.secret=${STRIPE_WEBHOOK_SECRET:}
# ================================================
# Firebase Configuration (Disabled)
# ================================================
firebase.enabled=false
# ================================================
# Dev Tools (Development Only)
# ================================================
spring.devtools.restart.enabled=true
spring.devtools.livereload.enabled=true
spring.devtools.remote.restart.enabled=false
# ================================================
# Service Version
# ================================================
service.version=2.0.0
spring.main.allow-bean-definition-overriding=true
spring.main.allow-circular-references=true
# ============================================================
# WebSocket Configuration
# ============================================================
# WebSocket port for raw WebSocket server
websocket.port=9093
# Enable/disable raw WebSocket server
app.websocket.enabled=true
# ============================================================
# Heartbeat Configuration
# ============================================================
# Client heartbeat interval (ms) - how often client sends heartbeats
websocket.heartbeat.client=10000
# Server heartbeat interval (ms) - how often server sends heartbeats
websocket.heartbeat.server=10000
# ============================================================
# Timeout Configuration
# ============================================================
# Idle timeout (ms) - how long to keep idle connections
websocket.idle-timeout=120000
# Maximum message size (bytes)
websocket.message-size-limit=65536
# Send time limit (ms)
websocket.send-time-limit=20000
# Send buffer size limit (bytes)
websocket.send-buffer-size-limit=524288
# ============================================================
# STOMP Broker Relay (Optional - for clustering)
# ============================================================
# Uncomment to use external broker (RabbitMQ, ActiveMQ)
# websocket.broker.relay-host=localhost
# websocket.broker.relay-port=61613
# websocket.broker.client-login=guest
# websocket.broker.client-passcode=guest
# websocket.broker.system-login=guest
# websocket.broker.system-passcode=guest

Xet Storage Details

Size:
10.2 kB
·
Xet hash:
c2939dad90c31a1aaa2cd3534f7566821fea078817ad0e86d97ef044fc07895b

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.