References
Services
CronService
Executes global schema methods on a configurable schedule. Tasks run as superuser.
Settings
| Setting | Description |
|---|---|
CronService.tasks |
Whitespace-separated list of method names to schedule |
<methodName>.cronExpression |
Six-field cron expression: <s> <m> <h> <dom> <mon> <dow> |
CronService.allowparallelexecution |
Allow concurrent execution of the same task (default: false) |
Markdown Rendering Hint: Children of Service(CronService) not rendered because ServiceMarkdownFormatter prevents rendering of children.
DirectoryWatchService
Synchronizes Structr folders with directories on the server filesystem. Monitors mounted directories for changes and updates file metadata automatically.
Configuration
Mount a directory by setting the mountTarget property on a Folder’s storage configuration. The service watches for file changes and periodically rescans the directory.
Folder Properties
| Property | Description |
|---|---|
mountTarget |
Path to the directory on the server filesystem |
mountWatchContents |
Enable filesystem event monitoring for immediate change detection |
mountScanInterval |
Seconds between directory rescans (0 = no periodic scan) |
Settings
| Setting | Description |
|---|---|
application.filesystem.followsymlinks |
Follow symbolic links when scanning directories |
Notes
- Only works on filesystems that support directory watch events
- File contents remain on disk and are not imported into the database
- Changes made to files in Structr are written to the corresponding files on disk
Markdown Rendering Hint: Children of Service(DirectoryWatchService) not rendered because ServiceMarkdownFormatter prevents rendering of children.
FtpService
Provides FTP access to Structr’s virtual filesystem. Users authenticate with their Structr credentials and see files according to their permissions.
Settings
| Setting | Default | Description |
|---|---|---|
application.ftp.port |
8021 | Port the FTP server listens on |
application.ftp.passivePortRange |
– | Port range for passive mode, for example “50000-50100”. Required when running in Docker. |
Markdown Rendering Hint: Children of Service(FtpService) not rendered because ServiceMarkdownFormatter prevents rendering of children.
MailService
Periodically fetches emails from configured Mailbox objects via IMAP or POP3 and stores them as EMailMessage objects. Detects duplicates using Message-ID headers and extracts attachments automatically.
Settings
| Setting | Default | Description |
|---|---|---|
mail.maxemails |
25 | Maximum emails to fetch per mailbox per check |
mail.updateinterval |
30000 | Interval between checks in milliseconds |
mail.attachmentbasepath |
/mail/attachments | Path for storing email attachments |
Related Types
Mailbox, EMailMessage
Markdown Rendering Hint: Children of Service(MailService) not rendered because ServiceMarkdownFormatter prevents rendering of children.
SSHService
Provides SSH access to an interactive Admin Console and SFTP/SSHFS access to Structr’s virtual filesystem. Only admin users can connect. Authentication requires a public key configured in the user’s publicKey property.
Settings
| Setting | Default | Description |
|---|---|---|
application.ssh.port |
8022 | Port the SSH server listens on |
application.ssh.forcepublickey |
true | Require public key authentication, disabling password login |
Markdown Rendering Hint: Children of Service(SSHService) not rendered because ServiceMarkdownFormatter prevents rendering of children.