kresd.systemd(7)

NAME
kresd.systemd.nosocket - managing Knot Resolver @version@ through systemd without socket activation

SYNOPSIS
kresd@.service
kresd.target
system-kresd.slice

DESCRIPTION

This manual page describes how to manage kresd using systemd units without socket activation support. Concurrent daemons kresd daemon can be executed in multiple independent processes, which can be managed with systemd via systemd templates (see systemd.unit(5)). Each systemd service instance of kresd (kresd@.service) represents a single, independent kresd process. The systemd-managed kresd service set is grouped in the system-kresd.slice slice. The slice includes all running daemons (instances of kresd@.service). If you have more than one CPU core available, a single running kresd daemon will only be able to make use of one core at a time, leaving the other cores idle. If you want kresd to take advantage of all available cores, while sharing both cache and public listening ports, you should enable and start as many instances of the kresd@.service as you have cores. Typically, each instance is just named kresd@N.service, where N is a decimal number. To enable 3 concurrent daemons:
    systemctl enable --now kresd@1.service kresd@2.service kresd@3.service

EXAMPLES
Single instance
    To start the service:
        systemctl start kresd@1.service
    To start the service at boot:
        systemctl enable kresd@1.service
    To delay the service startup until some traffic arrives, start (or enable) just the sockets:
        systemctl start kresd.socket
        systemctl start kresd-tls.socket
    To disable the TLS socket, you can mask it:
        systemctl mask kresd-tls.socket
Multiple instances
    Multiple instances can be handled with the use of Brace Expansion (see bash(1)). To enable multiple concurrent daemons, for example 16:
        systemctl enable kresd@{1..16}.service
    To start all enabled daemons:
        systemctl start kresd.target
    The easiest way to view the status of kresd instances is to use the system-kresd.slice:
        systemctl status system-kresd.slice

SEE ALSO
kresd(8), systemd.unit(5), systemd.socket(5), https://knot-resolver.readthedocs.io/en/v@version@/

AUTHORS
kresd developers are mentioned in the AUTHORS file in the distribution.