Audience: Admin

Service Reference

This document provides a detailed overview of the systemd services that power the NeuralDrive appliance.

Master Service Inventory

ServiceTypeUserPortDependenciesDescription
neuraldrive-setuponeshotrootnetwork.targetFirst-boot initialization and state generation.
neuraldrive-gpu-detectoneshotrootGPU auto-detection and driver selection via PCI enumeration.
neuraldrive-certsoneshotrootnetwork-online, local-fsGenerates self-signed TLS certificates (skips if they already exist).
neuraldrive-zramoneshotrootlocal-fsSets up compressed RAM-based swap space.
neuraldrive-show-iponeshotrootnetwork-onlineDisplays the current IP address on the physical console.
neuraldrive-ollamalong-runningneuraldrive-ollama11434gpu-detectThe GPU-accelerated LLM inference and model management engine.
neuraldrive-webuilong-runningneuraldrive-webui3000ollamaThe Open WebUI dashboard and chat interface.
neuraldrive-caddylong-runningneuraldrive-caddy443, 8443certsThe TLS reverse proxy and API gateway.
neuraldrive-gpu-monitorlong-runningneuraldrive-monitor1312gpu-detectMonitors GPU temperature, VRAM usage, and health.
neuraldrive-system-apilong-runningneuraldrive-api3001networkThe backend service for the System Management API.
neuraldrive-storage-monitorlong-runningrootlocal-fsMonitors available storage space and persistence health.

Systemd Hardening Summary

All NeuralDrive services are configured with systemd-native security hardening to minimize the system attack surface:

  • PrivateDevices: Most services are denied access to /dev/ nodes. The Ollama service specifically uses PrivateDevices=no to allow access to GPU device nodes required for hardware acceleration.
  • DeviceAllow: This directive was removed from the Ollama service because cgroup v2 eBPF filters can block CUDA access even when devices are explicitly allowed.
  • ProtectSystem: The root filesystem is mounted read-only for service processes.
  • ProtectHome: Services have no access to the /home/ directory.
  • NoNewPrivileges: Prevents processes from gaining elevated permissions via setuid or setgid.
  • RestrictAddressFamilies: Limits network communication to only necessary protocols (e.g., AF_INET, AF_INET6, AF_UNIX).

Tip: You can monitor the status and logs of any service using the systemctl status <service> and journalctl -u <service> commands. For a list of common service-related issues, see the Common Issues troubleshooting guide.