P
PILLARDOCS
Deployment Guide

Platform Quickstart & OS Deployment

Pillar Fleet Control runs as an unprivileged, read-only Docker container. It gathers low-level storage telemetry through host virtual filesystem mounts without mounting video media datasets or waking sleeping mechanical drives.

1. Copy-Ready Deployment Configurations

Select your host storage operating system below to generate the exact, hardened container configuration:

Visual OS Selector

Choose Your Storage Host Environment

100% Read-Only • Zero Media Bin Access
  • Paste into System Settings → Shell or SSH terminal as root.
  • Reads /proc/diskstats and /sys/block directly; unmounted from /mnt datasets.
  • To persist across reboot: add as a Post-Init script in System Settings → Advanced.
bash
docker run -d \
  --name pillar-agent \
  --restart unless-stopped \
  --read-only \
  --cap-drop=ALL \
  --cap-add=SYS_RAWIO \
  --tmpfs /tmp:rw,noexec,nosuid,nodev,size=64m \
  -v /dev:/dev:ro \
  -v /proc/diskstats:/proc/diskstats:ro \
  -v /sys/block:/sys/block:ro \
  -v /sys/class/block:/sys/class/block:ro \
  -v pillar-agent-data:/etc/pillar \
  -e PILLAR_API_URL="https://pillarinteractive.com" \
  -e PILLAR_CLAIM_TOKEN="<YOUR_CLAIM_TOKEN>" \
  ghcr.io/pillarinteractive/pillar-agent:latest

Automated Zero-Config Pairing

Fastest

If you have generated an onboarding token in your Pillar web dashboard, paste this single command into your storage head console. The script verifies host Docker, removes any legacy containers, pulls the latest hardened image, and mounts the required read-only VFS nodes.

bash
curl -sSL https://pillarinteractive.com/join/<YOUR_CLAIM_TOKEN> | sh

2. Safe Pre-Flight Readiness Inspection

Run this non-destructive audit prior to deployment. It asserts Linux kernel compatibility, tests VFS accessibility for /proc/diskstats and /sys/block, counts physical drives while excluding virtual devices (ZVOLs/DeviceMapper/MDRAID), and verifies outbound TLS 1.3 to port 443.

bash
curl -sSL https://pillarinteractive.com/test | sh

3. Platform-Specific Implementation Details

TrueNAS SCALE (Debian ZFS)

TrueNAS SCALE runs Debian GNU/Linux. While TrueNAS manages primary datasets under /mnt, the Pillar Agent strictly binds to the host kernel block virtual filesystems:

  • Persistent Init Script: To survive TrueNAS SCALE updates, navigate to System Settings → Advanced → Init/Shutdown Scripts, select Add, set Type to Command, select Post-Init, and paste the TrueNAS docker run snippet.
  • ZFS Pool Metrics: The agent detects all active ZFS pools and evaluates scrubbing/resilvering progress through zpool status.
  • TrueNAS CORE Note: TrueNAS CORE is based on FreeBSD. For CORE appliances, we recommend either migrating to TrueNAS SCALE or running Pillar in a Debian bhyve VM with HBA pass-through.

Unraid (Parity Array & Standby Preservation)

Unraid relies on spinning down non-accessed archive drives to save power and mechanical wear. Pillar Edge Agent preserves this behavior:

  • Zero Platter Wakeups: Hardware health scans pass --nocheck=standby to smartctl. If a mechanical platter is asleep, smartctl exits immediately (exit code 2), and the agent caches prior metadata without sending a spinup ATA command.
  • Flash Drive Configuration Mount: Unraid runs in a root RAM-disk, meaning local container volumes are purged upon host reboot. The Unraid command explicitly maps /boot/config/plugins/pillar:/etc/pillar so that your paired node API key survives reboot.

45Drives Houston / Enterprise Ubuntu Heads

For 45Drives Storinators (15-bay, 30-bay, 45-bay, 60-bay top loaders) and high-density Supermicro chassis:

  • SCSI Enclosure Services (SES): Include -v /sys/class/enclosure:/sys/class/enclosure:ro. The agent inspects SES slot links to correlate device nodes (/dev/sdac) to physical chassis bays (Enclosure 1, Slot 24).
  • Systemd Supervision: Deploy via the provided pillar-agent.service unit file for native Linux process supervision and automatic crash recovery.