System Configuration
This page explains the main configuration entry of geelato-web-quickstart and how it splits module-specific settings into independent files under properties/*.properties.
The main file is:
geelato-web-quickstart/src/main/resources/application.properties
The module directory is:
geelato-web-quickstart/src/main/resources/properties/
Organization Model
The current model is:
- one main file for global bootstrap and shared runtime settings
- one property file per module capability
- a unified import chain through
spring.config.import
The current import order is:
workflow.propertiesseata.propertiesoss.propertiespackage.propertiessc.propertiesauth.propertiesmarket.propertiesmessage.propertiesweixin_work.propertieselasticsearch.propertiesmonitor.properties
What application.properties Contains
The main file currently covers:
- server bootstrap such as
server.port - top-level feature switches such as
geelato.webandgeelato.schedule - plugin directory and repository settings
- primary datasource configuration
- p6spy SQL logging settings
- multipart upload limits
- logging and metadata scan settings
- OCR, PDF, and AI service integration settings
- Redis and upload directory settings
- module property imports
Property Style
The configuration heavily uses:
${ENV_NAME:defaultValue}
This means:
- environment variables override first
- fallback defaults are kept for local startup
That fits local development, container deployment, and multi-environment switching.
How To Read Module Property Files
Each file under properties/ represents one focused capability area.
The practical reading rule is:
- use
application.propertiesto understand the global runtime entry - use one module file to understand one dedicated subsystem
Examples:
auth.propertiesfor authentication-related settingsmessage.propertiesfor message scheduling and RabbitMQworkflow.propertiesfor workflow datasource and engine settingsoss.propertiesfor object storage
Suggested Practice
- keep
application.propertiesfocused on global bootstrap and shared runtime settings - keep module-specific settings inside
properties/*.properties - prefer environment variables for environment differences
- keep secrets out of source defaults whenever possible