[Unit] Description=toybox vats (workerd) Requires=toybox.socket toybox-switchboard.socket After=toybox-switchboard.socket [Service] ExecStart=/opt/toybox/node_modules/workerd/bin/workerd serve --experimental /opt/toybox/config.capnp -S http=3 -S admin=4 -d state=/var/lib/toybox -e switchboard=unix:/run/toybox/switchboard.sock DynamicUser=yes # to open the switchboard socket SupplementaryGroups=toybox StateDirectory=toybox # no network but the sockets handed in, and the switchboard's PrivateNetwork=yes RestrictAddressFamilies=AF_UNIX ProtectSystem=strict ProtectHome=yes PrivateTmp=yes SystemCallFilter=@system-service # not MemoryDenyWriteExecute: V8's JIT needs W+X