Starting Zendrite
Once you have completed all preparation and installation steps, you can start your Zendrite deployment by executing the zendrite binary:
By default, Zendrite will listen HTTP on port 8008.
If you want to change the addresses or ports that Zendrite listens on, you can use the -http-bind-address and -https-bind-address command line arguments:
To list the command line options:
Systemd example
Section titled “Systemd example”You could install a service something like this at /etc/systemd/system/zendrite.service:
Notes on the hardening block:
ProtectHome=read-onlyplusReadWritePaths=/home/zendriteis the trade-off for keeping state under/home/zendrite. Do not “tighten” this toProtectHome=truewhile state still lives in/home/zendrite—truemakes the directory inaccessible (not just read-only) and overrides theReadWritePaths=exemption, locking Zendrite out of its own state. Debian-style packaging instead uses/var/lib/zendriteas the user’s home andWorkingDirectory=; in that layout you can dropReadWritePaths=and useProtectHome=truesafely, becauseProtectHomeonly covers/home,/root,/run/user.SystemCallFilteris intentionally not set —@system-serviceis broad but failures surface as silentEPERM/SIGSYS, which is exactly the “hard to debug” category. Add it if you want and have tested your build.CapabilityBoundingSet=(empty) is safe because the example binds to127.0.0.1:8008. If you bind to a port below 1024 you’ll needCAP_NET_BIND_SERVICEset on bothCapabilityBoundingSetandAmbientCapabilities.RestrictAddressFamiliesincludesAF_UNIXfor Postgres-over-socket setups andAF_INET6for outgoing IPv6 federation.MemoryDenyWriteExecute=trueis deliberately omitted: Go’s runtime and cgo can need W+X pages in some configurations. Test before enabling.
You can score the resulting unit with: