| # ================================================ | |
| # 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.