# standard standalone server implementation, with preforked processes

START {
  # do not delete this entry!
  recover       cmd="ctl_cyrusdb -r"
}

# UNIX sockets start with a slash and are put into /run/cyrus/socket
SERVICES {
  # add or remove based on preferences
  imap          cmd="imapd" listen="imap" prefork=5
  imaps         cmd="imapd -s" listen="imaps" prefork=1
  pop3          cmd="pop3d" listen="pop3" prefork=3
  pop3s         cmd="pop3d -s" listen="pop3s" prefork=1
  sieve         cmd="timsieved" listen="sieve" prefork=0

  # these are only necessary if receiving/exporting usenet via NNTP
#  nntp          cmd="nntpd" listen="nntp" prefork=3
#  nntps         cmd="nntpd -s" listen="nntps" prefork=1

  # these are only necessary if using HTTP for CalDAV, CardDAV, or RSS
#  http          cmd="httpd" listen="http" prefork=3
#  https         cmd="httpd -s" listen="https" prefork=1

  # at least one LMTP is required for delivery
#  lmtp          cmd="lmtpd" listen="lmtp" prefork=0
  lmtpunix      cmd="lmtpd" listen="/run/cyrus/socket/lmtp" prefork=1

  # this is requied if using socketmap
#  smmap         cmd="smmapd" listen="/run/cyrus/socket/smmap" prefork=1

  # this is only necessary if using notifications
#  notify        cmd="notifyd" listen="/run/cyrus/socket/notify" proto="udp" prefork=1
}

EVENTS {
  # this is required
  checkpoint    cmd="ctl_cyrusdb -c" period=30

  # this is only necessary if using duplicate delivery suppression,
  # Sieve or NNTP
  delprune      cmd="cyr_expire -E 3" at=0400

  # Expire data older than 28 days.
  deleteprune   cmd="cyr_expire -E 4 -D 28" at=0430
  expungeprune  cmd="cyr_expire -E 4 -X 28" at=0445

  # this is only necessary if caching TLS sessions
  tlsprune      cmd="tls_prune" at=0400
}

DAEMON {
  # this is only necessary if using idled for IMAP IDLE
#  idled         cmd="idled"
}
