Skip to main content
phoss SMP is configured through a single Java properties file. Every deployable WAR module ships a default file. You override individual properties for your environment without editing the committed defaults.

Configuration file location

Each webapp module contains its own default file:
phoss-smp-webapp-xml/src/main/resources/application.properties
phoss-smp-webapp-sql/src/main/resources/application.properties
phoss-smp-webapp-mongodb/src/main/resources/application.properties

Local overrides

Place a private-application.properties file alongside application.properties. This file is gitignored and its values take precedence over the defaults. Use this during development so you never accidentally commit passwords or local paths.

Production deployments

Point the application at an external file using the JVM system property:
java -Dconfig.file=/etc/smp/application.properties -jar smp.war
For Docker deployments, set the CONFIG_FILE environment variable instead:
docker run -e CONFIG_FILE=/config/application.properties ...
Properties in the external file completely replace the bundled defaults for any key that is present. Keys not present in your file continue to use the bundled defaults.

Global flags

PropertyDefaultDescription
global.debugfalseEnable verbose debug logging. Set to false in production.
global.productionfalseMark the instance as a production deployment. Affects certain safety checks.
global.debugjaxwsfalseEnable JAX-WS debug output. Development only.
webapp.datapathgeneratedDirectory for persistent data files. Use an absolute path in production.
webapp.testversiontrueShow a “test version” banner in the UI. Set to false in production.
webapp.checkfileaccessfalseVerify all data files are readable at startup. Only needed with relative data paths.
For production, always set global.debug = false, global.production = true, and webapp.testversion = false.

Backend selection

The smp.backend property selects which storage backend the server uses:
# xml, sql, or mongodb
smp.backend = sql
See Backends for the full list of backend-specific properties.

Configuration categories

CategoryProperty prefixPage
Backend and identifierssmp.backend, smp.identifiertype, smp.rest.*Backends
PKI and keystoressmp.keystore.*, smp.truststore.*, pdclient.*, smpclient.*Keystore and PKI
SML integrationsml.*SML integration
Peppol Directorysmp.directory.*, webapp.directory.*Directory integration
Reverse proxy and URLssmp.forceroot, smp.publicurl*Reverse proxy
Security hardeningcsp.*, webapp.security.*, smp.status.*Security

Build docs developers (and LLMs) love