The structr.conf is the main configuration file for Structr. The file consists of simple key-value mappings. Comments can be expressed using the # character, and blank lines are used to create a visual distinction between the individual sections.

The most convenient way of editing configuration keys is via the configuration servlet (available under http://<structr-host>:<structr-port>/structr/config/ if not disabled in structr.conf).

Configuration options

Key Value type Description Default value
access.control.max.age integer (seconds) Cross origin resource sharing configuration. See CORS for more information.
access.control.allow.methods string, list of HTTP verbs Cross origin resource sharing configuration. See CORS for more information.
access.control.allow.headers string, list of HTTP headers Cross origin resource sharing configuration. See CORS for more information.
access.control.allow.credentials boolean Cross origin resource sharing configuration. See CORS for more information.
access.control.expose.headers string, list of HTTP headers Cross origin resource sharing configuration. See CORS for more information.
application.filesystem.enabled boolean If enabled, Structr will create a separate home directory for each user. See Filesystem for more information. false
application.filesystem.indexing.limit integer Maximum number of words to be indexed 50000
application.filesystem.indexing.maxsize integer Maximum size (MB) of a file to be indexed 10
application.filesystem.indexing.word.minlength integer Minimum length of words to be indexed 4
application.filesystem.indexing.word.maxlength integer Maximum length of words to be indexed 40
application.filesystem.unique.paths boolean If enabled, Structr will not allow files of the same name in the same folder. Default value is ‘true’. true
application.ftp.port integer FTP port the Structr server will listen on (if FtpService is enabled below)
application.changelog.enabled boolean If enabled, Structr keeps track of changes to individual entities in the structrChangeLog property. See Changelog for more information.
application.host IP address or host name The listen address of the Structr server, source of the ${host} keyword in Template Expressions
application.http.port integer HTTP port the Structr server will listen on
application.https.enabled boolean Whether SSL is enabled
application.https.port integer HTTPS port the Structr server will listen on (if HTTPS is enabled below)
application.instance.name string The name of the Structr instance (displayed in the top right corner of structr-ui)
application.instance.stage string The stage of the Structr instance (displayed in the top right corner of structr-ui)
application.localization.logMissing boolean Controls logging for requested but non-existing localizations.
application.menu.main string Comma-separated list of main menu entries in structr-ui. Everything not in this list will be moved into a sub-menu Pages,Files,Security,Schema,Data
application.keystore.path string The path to the JKS keystore containing the SSL certificate. See SSL Configuration for more information.
application.keystore.password string The keystore password
application.rest.path URL path segment Defines the URL path of the Structr REST server. Should not be changed because it is hard-coded in many parts of the application.
application.schema.automigration boolean Enable automatic migration of schema information between versions (if possible, may delete schema nodes)
application.security.ownerless.nodes one or more of [read, write, delete, accessControl] The permission level for users on nodes without an owner. See this for more information
application.session.timeout integer The session timeout for HTTP sessions
application.ssh.port integer SSH port the Structr server will listen on (if SSHService is enabled below)
application.title arbitrary string The title of the application as shown in the log file. This entry exists for historical reasons and has no functional impact.
application.uploads.folder string The default path for files uploaded via the UploadServlet (available from Structr 2.1+)
base.path Absolute or relative path Path of the Structr working directory. All files will be located relative to this directory.
configuration.provider Fully-qualified Java class name Fully-qualified class name of a Java class in the current class path that implements theorg.structr.schema.ConfigurationProvider interface.
configured.services List of service classes Services that are listed in this configuration key will be started when Structr starts.
ConfigServlet.enabled boolean Enables the config servlet (available under http(s)://<your-server>/structr/config) true
ConfirmationKey.PasswordReset.validityPeriod integer  Validity period (in minutes) of the confirmation key generated when a user resets his password. 30
ConfirmationKey.Registration.validityPeriod integer  Validity period (in minutes) of the confirmation key generated during self registration 2880
ConfirmationKey.validWithoutTimestamp boolean  How to interpret confirmation keys without a timestamp false
CsvServlet.authenticator Fully-qualified Java class name Authenticator class to use for CSV output. Do not change unless you know what you are doing.
CsvServlet.class Fully-qualified Java class name Servlet class to use for CSV output. Do not change unless you know what you are doing.
CsvServlet.defaultview string Default view to use when no view is given in the URL
CsvServlet.outputdepth integer Maximum nesting depth of JSON output
CsvServlet.path string URL pattern for CSV output. Do not change unless you know what you are doing.
CsvServlet.resourceprovider Fully-qualified Java class name Resource provider class to use in the REST server. Do not change unless you know what you are doing.
CsvServlet.user.autocreate boolean Unused
DateProperty.defaultFormat Date pattern Default ISO8601 date format pattern, uncomment to enable full ISO8601 compliant date handling.
database.cache.node.size integer Size of the database driver node cache, recommend size: 200,000
database.cache.relationship.size integer Size of the database driver relationship cache, recommended size: 1,000,000
database.path Absolute or relative path Path of the Neo4j db/ directory
files.path Absolute or relative path Path to the Structr file storage
geocoding.provider Fully-qualified Java class name Geocoding configuration. See Geocoding for more information.
geocoding.language ISO language code Geocoding configuration. See Geocoding for more information.
geocoding.apikey string Geocoding configuration. See Geocoding for more information.
HtmlServlet.authenticator Fully-qualified Java class name Authenticator class to use for HTTP requests. Do not change unless you know what you are doing.
HtmlServlet.class Fully-qualified Java class name Servlet class to use for HTTP requests. Do not change unless you know what you are doing.
HtmlServlet.defaultview string Default view to use when no view is given in the URL. Not used
HtmlServlet.outputdepth integer Maximum nesting depth of JSON output
HtmlServlet.path string URL pattern for HTTP server. Do not change unless you know what you are doing.
HtmlServlet.resourceprovider Fully-qualified Java class name Resource provider class to use in the HTTP server. Do not change unless you know what you are doing.
HtmlServlet.user.autocreate boolean Enable this to support user self registration
HtmlServlet.resolveProperties list of property names Specifies the list of properties that are be used to resolve entities from URL paths. See URL Entity Resolution for more information.
HtmlServlet.customResponseHeaders string List of custom response headers that will be added to every HTTP response
html.indentation boolean Whether the page source should be indented (compacted) or beautified
HttpService.async boolean Whether the HttpServices uses asynchronous request handling. Disable this option if you encounter problems with HTTP responses.
HttpService.servlets List of available servlets Servlets that are listed in this configuration key will be available in the HttpService.
HttpService.resourceHandlers string This handler is needed to serve static files with the built-in Jetty container.
JsonRestServlet.authenticator Fully-qualified Java class name Authenticator class to use in the REST server. Do not change unless you know what you are doing.
JsonRestServlet.class Fully-qualified Java class name Servlet class to use in the REST server. Do not change unless you know what you are doing.
JsonRestServlet.defaultview string Default view to use when no view is given in the URL
JsonRestServlet.outputdepth integer Maximum nesting depth of JSON output
JsonRestServlet.path string URL pattern for REST server. Do not change unless you know what you are doing.
JsonRestServlet.resourceprovider Fully-qualified Java class name Resource provider class to use in the REST server. Do not change unless you know what you are doing.
JsonRestServlet.user.autocreate boolean Unused
json.parallelization.threshold integer Collection size threshold for multi-threaded JSON generation
json.indentation boolean Whether JSON output should be indented (compacted) or beautified
json.lenient boolean Whether to use lenient serialization, e.g. allow to serialize NaN, -Infinity, Infinity instead of just returning null. Note: as long as Javascript doesn’t support NaN etc., most of the UI will be broken
log.cypher.debug boolean Turns on debug logging for the generated Cypher queries false
log.cypher.debug.ping boolean Turns on debug logging for the generated Cypher queries of the websocket PING command. Can only be used in conjunction with log.cypher.debug false
log.debug boolean Controls the behaviour of the debug() function. If disabled, the debug() function behaves like a NOP. If enabled, it behaves exactly like the log() function false
log.name string, with date pattern File name pattern for the logging output
neo4j.server.host IP address or host name Listen address of the Neo4j Browser (if Neo4jService is enabled below)
neo4j.server.post integer Neo4j Browser port
neo4j.shell.enabled boolean Whether the Neo4j shell is enabled
neo4j.shell.port integer Port of the Neo4j shell
NodeExtender.log boolean Whether to write dynamically created Java code to the logfile, for debugging purposes.
oauth.servers string, list of OAuth providers OAuth configuration. See OAuth for more information.
oauth.github.authorization_location string, URL OAuth configuration. See OAuth for moreinformation.
oauth.github.token_location string, URL information.
oauth.github.client_id string OAuth configuration. See OAuth for moreinformation.
oauth.github.client_secret string OAuth configuration. See OAuth for moreinformation.
oauth.github.redirect_uri string OAuth configuration. See OAuth for more information.
oauth.github.user_details_resource_uri string, URL OAuth configuration. See OAuth for more information.
oauth.github.error_uri string, URL OAuth configuration. See OAuth for more information.
oauth.github.return_uri string, URL OAuth configuration. See OAuth for more information.
oauth.twitter.authorization_location string, URL OAuth configuration. See OAuth for more information.
oauth.twitter.token_location string, URL OAuth configuration. See OAuth for more information.
oauth.twitter.client_id string OAuth configuration. See OAuth for more information.
oauth.twitter.client_secret string OAuth configuration. See OAuth for more information.
oauth.twitter.redirect_uri string OAuth configuration. See OAuth for more information.
oauth.twitter.error_uri string, URL OAuth configuration. See OAuth for more information.
oauth.twitter.return_uri string, URL OAuth configuration. See OAuth for more information.
oauth.linkedin.authorization_location string, URL OAuth configuration. See OAuth for more information.
oauth.linkedin.token_location string, URL OAuth configuration. See OAuth for more information.
oauth.linkedin.client_id string OAuth configuration. See OAuth for more information.
oauth.linkedin.client_secret string OAuth configuration. See OAuth for more information.
oauth.linkedin.redirect_uri string OAuth configuration. See OAuth for more information.
oauth.linkedin.user_details_resource_uri string, URL OAuth configuration. See OAuth for more information.
oauth.linkedin.error_uri string, URL OAuth configuration. See OAuth for more information.
oauth.linkedin.return_uri string, URL OAuth configuration. See OAuth for more information.
oauth.google.authorization_location string, URL OAuth configuration. See OAuth for more information.
oauth.google.token_location string, URL OAuth configuration. See OAuth for more information.
oauth.google.client_id string OAuth configuration. See OAuth for more information.
oauth.google.client_secret string OAuth configuration. See OAuth for more information.
oauth.google.redirect_uri string OAuth configuration. See OAuth for more information.
oauth.google.user_details_resource_uri string, URL OAuth configuration. See OAuth for more information.
oauth.google.error_uri string, URL OAuth configuration. See OAuth for more information.
oauth.google.return_uri string, URL OAuth configuration. See OAuth for more information.
oauth.facebook.authorization_location string, URL OAuth configuration. See OAuth for more information.
oauth.facebook.token_location string, URL OAuth configuration. See OAuth for more information.
oauth.facebook.client_id string OAuth configuration. See OAuth for more information.
oauth.facebook.client_secret string OAuth configuration. See OAuth for more information.
oauth.facebook.redirect_uri string OAuth configuration. See OAuth for more information.
oauth.facebook.user_details_resource_uri string, URL OAuth configuration. See OAuth for more information.
oauth.facebook.error_uri string, URL OAuth configuration. See OAuth for more information.
oauth.facebook.return_uri string, URL OAuth configuration. See OAuth for more information.
Registration.customUserAttributes string User self-registration configuration. See Self Registration for more information.
Registration.allowLoginBeforeConfirmation boolean information.
Registration.customUserClass Structr type information.
security.passwordpolicy.forcechange boolean Indicates if a forced password change is active false
security.passwordpolicy.maxage  integer The number of days after which a user has to change his password 90
security.passwordpolicy.remindtime  integer The number of days (before the user must change the password) where a warning should be issued. (Has to be handled in application code) 14
security.passwordpolicy.maxfailedattempts  integer The maximum number of failed login attempts before a user is blocked 4
 security.twofactorauthentication.level integer See Two Factor Authentication 1
 security.twofactorauthentication.issuer string See Two Factor Authentication Structr
 security.twofactorauthentication.algorithm string See Two Factor Authentication SHA1
 security.twofactorauthentication.digits integer See Two Factor Authentication 6
 security.twofactorauthentication.period integer See Two Factor Authentication 30
 security.twofactorauthentication.logintimeout integer See Two Factor Authentication 30
 security.twofactorauthentication.loginpage string See Two Factor Authentication /twofactor
 security.twofactorauthentication.whitelistedIPs string See Two Factor Authentication
smtp.host IP address or host name Address of the SMTP server used to send e-mails, see E-Mail Configuration for more information.
smtp.port integer SMTP server port to use when sending e-mails
smtp.tls.enabled boolean Whether to use TLS when sending e-mails
smtp.tls.required boolean Whether TLS is required when sending e-mails
StructrUiHandler.contextPath string Static resource handling configuration. See Static Resources for more information.
StructrUiHandler.directoriesListed boolean
StructrUiHandler.resourceBase string
StructrUiHandler.welcomeFiles string
superuser.username arbitrary string Name of the superuser
superuser.password arbitrary string Password of the superuser (or empty to create a random password at runtime)
tcp.port integer CloudService port, see Cloud Service for more information.
tmp.path Absolute or relative path Path to the temporary directory
translation.google.apikey string Google Cloud Translation API Key
UploadServlet.authenticator Fully-qualified Java class name Authenticator class to use for file upload. Do not change unless you know what you are doing.
UploadServlet.class Fully-qualified Java class name Servlet class to use for file upload. Do not change unless you know what you are doing.
UploadServlet.defaultview string Default view to use when no view is given in the URL
UploadServlet.outputdepth integer Maximum nesting depth of JSON output
UploadServlet.path string URL pattern for file upload. Do not change unless you know what you are doing.
UploadServlet.resourceprovider Fully-qualified Java class name Resource provider class to use for file upload. Do not change unless you know what you are doing.
UploadServlet.user.autocreate boolean Unused
UploadServlet.allowAnonymousUploads boolean
UploadServlet.maxFileSize integer (megabytes) Maximum allowed file size for single file uploads.
UploadServlet.maxRequestSize integer (megabytes) Maximum allowed request size for single file uploads.
udp.port integer Unused, was previously used for CloudService over UDP.
ws.indentation boolean Prettyprints websocket responses if set to true
WebSocketServlet.authenticator Fully-qualified Java class name Authenticator class to use for WebSockets. Do not change unless you know what you are doing.
WebSocketServlet.class Fully-qualified Java class name Servlet class to use for WebSockets. Do not change unless you know what you are doing.
WebSocketServlet.defaultview string Default view to use when no view is given in the URL. Not used
WebSocketServlet.outputdepth integer Maximum nesting depth of JSON output
WebSocketServlet.path string URL pattern for WebSockets. Do not change unless you know what you are doing.
WebSocketServlet.resourceprovider Fully-qualified Java class name Resource provider class to use with WebSockets. Do not change unless you know what you are doing.
WebSocketServlet.user.autocreate boolean Unused
WebSocketServlet.frontendAccess boolean
CronService.tasks List with cron task configurations CronService configuration

Graph-Browser

About this article
Last change 2019-01-08
Topics ServerStructr 2.0