Skip to main content

Configuration Reference

This document lists all configuration properties available in Shio CMS. Properties are set in application.properties (embedded) or in an external properties file loaded via --spring.config.additional-location.


Shio CMS Properties

PropertyDefaultDescription
shio.mgmt.enabledtrueEnable the management interface
shio.git.urlGit repository URL for version control
shio.git.tokenAuthentication token for Git repository
shio.website.nashorn--persistent-code-cache,--optimistic-types=true,-pcc,--class-cache-size=50000Nashorn JavaScript engine options
shio.website.javascript.enginenashornJavaScript engine: nashorn or nodejs
shio.allowedOriginslocalhostCORS allowed origins
shio.plugin.bloggercom.viglet.shio.plugin.ShImporterBloggerPluginBlogger import plugin class
shio.config.system/systemSystem configuration path
shio.config.auth/provider/auth/%sAuth provider path pattern
shio.config.exchange/provider/exchange/%sExchange provider path pattern

Server Properties

PropertyDefaultDescription
server.port2710HTTP listening port (overridable via PORT env var)
server.compression.enabledtrueEnable HTTP response compression
server.compression.mime-typesapplication/json,text/css,application/javascriptMIME types to compress
server.compression.min-response-size2048Minimum response size (bytes) to compress
server.tomcat.use-relative-redirectstrueUse relative redirects in Tomcat

Database Properties

H2 (Default — Development)

PropertyDefaultDescription
spring.datasource.urljdbc:h2:file:./store/db/turingDBH2 file-based database URL
spring.datasource.usernamesaDatabase username
spring.datasource.password(empty)Database password
spring.datasource.driver-class-nameorg.h2.DriverJDBC driver class
spring.jpa.properties.hibernate.dialectorg.hibernate.dialect.H2DialectHibernate dialect
spring.h2.console.enabledfalseEnable H2 web console
spring.h2.console.path/h2H2 console URL path

MariaDB / MySQL (Production)

spring.datasource.url=jdbc:mariadb://localhost:3306/shio
spring.datasource.username=shio
spring.datasource.password=shio
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

PostgreSQL (Production)

spring.datasource.url=jdbc:postgresql://localhost:5432/shio
spring.datasource.username=shio
spring.datasource.password=shio
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQL94Dialect

Oracle (Enterprise)

spring.datasource.url=jdbc:oracle:thin:@localhost:1521/shio
spring.datasource.username=shio
spring.datasource.password=shio
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect

JPA Properties

PropertyDefaultDescription
spring.jpa.hibernate.ddl-autoupdateSchema management strategy: update, validate, create, none
spring.jpa.show-sqlfalseLog SQL statements
spring.jpa.properties.hibernate.format_sqlfalseFormat logged SQL for readability
spring.jpa.properties.hibernate.enable_lazy_load_no_transtrueAllow lazy loading outside transactions
spring.jpa.properties.jakarta.persistence.sharedCache.modeALLJPA shared cache mode
spring.jpa.properties.hibernate.generate_statisticsfalseHibernate statistics
spring.jpa.properties.hibernate.globally_quoted_identifierstrueQuote all identifiers in generated SQL

Logging Properties

PropertyDefaultDescription
logging.level.org.springframeworkINFOSpring Framework log level
logging.level.com.vigletINFOViglet application log level
logging.level.org.hibernate.statINFOHibernate statistics log level
logging.level.org.hibernate.SQLINFOHibernate SQL log level
logging.file.namestore/logs/shio.logLog file path
logging.logback.rollingpolicy.max-file-size25MBMaximum log file size before rotation
logging.logback.rollingpolicy.max-history10Number of rotated log files to keep

File Upload Properties

PropertyDefaultDescription
spring.servlet.multipart.max-file-size1024MBMaximum file upload size
spring.servlet.multipart.max-request-size1024MBMaximum request size
spring.mvc.async.request-timeout3600000Async request timeout (ms) — 1 hour

UI Properties

PropertyDefaultDescription
spring.web.resources.static-locationsclasspath:/ui/public/Static resource locations
spring.thymeleaf.prefixclasspath:/ui/templates/Thymeleaf template prefix
spring.output.ansi.enabledalwaysANSI color output in console
spring.web.resources.chain.strategy.content.enabledtrueContent-based versioning for static resources
spring.web.resources.chain.strategy.content.paths/js/**,/css/**,/img/**,/*.pngPaths for content versioning

Mail Properties

PropertyDefaultDescription
spring.mail.hostlocalhostSMTP server hostname
spring.mail.port587SMTP port
spring.mail.usernamelocalhost@localhostSMTP username
spring.mail.passwordpasswordSMTP password
spring.mail.properties.mail.smtp.authtrueEnable SMTP authentication
spring.mail.properties.mail.smtp.starttls.enabletrueEnable STARTTLS
spring.mail.properties.mail.smtp.starttls.requiredtrueRequire STARTTLS
spring.mail.properties.mail.smtp.ssl.enablefalseEnable SSL
spring.mail.test-connectionfalseTest mail connection on startup

Management Properties

PropertyDefaultDescription
management.endpoints.web.exposure.include*Exposed Spring Boot Actuator endpoints

Profiles

ProfilePurpose
productionDefault profile — optimized for production
developmentDevelopment mode with additional logging
ui-devHeadless mode for frontend development with separate Vite dev server

Set the active profile:

spring.profiles.active=production

PageDescription
Installation GuideSetup with Docker, JAR, or build from source
Architecture OverviewComponent diagram and deployment topologies
Developer GuideDev environment setup and contribution guide