# Release Testing Use this checklist on an Unraid server before publishing a new template version. Do not infer Unraid compatibility from tests on another Linux distribution. ## Install The Local Template Copy the template to Unraid's persistent user-template directory: ```sh scp templates/node-exporter.xml \ root@UNRAID-IP:/boot/config/plugins/dockerMan/templates-user/my-node-exporter.xml ``` In Unraid, open **Docker**, select **Add Container**, and choose **Node Exporter** under **User templates**. If another exporter uses port 9100, append a temporary listen address to **Post Arguments**, for example: ```text --web.listen-address=:9101 ``` ## Verify The Container Confirm the generated configuration uses: - The official `quay.io/prometheus/node-exporter:latest-distroless` image. - Host networking and the host PID namespace. - `/:/host:ro,rslave` as the host-root mount. - The rootfs, procfs, sysfs, and udev paths defined in the template. - Non-privileged and non-root operation without additional capabilities. The container console is expected to be unavailable because the image is distroless. ## Verify Metrics Fetch the endpoint from another machine: ```sh curl --fail http://UNRAID-IP:PORT/metrics ``` Use port 9100 unless a temporary listen address was configured. Check that the response includes: ```text node_exporter_build_info node_cpu_seconds_total node_memory_MemTotal_bytes node_filesystem_size_bytes node_disk_read_bytes_total node_network_receive_bytes_total ``` Confirm physical disk identity labels include available model, serial, revision, and WWN values. Review container logs and all `node_scrape_collector_success` series; unsupported or absent hardware collectors may report `0`, but the result should not regress from the previous release. If an existing native exporter is available, compare metric names and label sets. Ignore changing values and documented differences from non-root operation. ## Verify Unraid Behavior 1. Attach or start an array, pool, or Unassigned Devices mount after the container starts and verify its filesystem metrics appear. 2. Confirm Prometheus can scrape the endpoint successfully. 3. Reboot Unraid and verify the configured container autostart behavior. 4. Check logs again after reboot for path, permission, or collector errors. ## Prepare The Release 1. Update `` and `` in `templates/node-exporter.xml`. 2. Validate `templates/node-exporter.xml` and `ca_profile.xml` as XML. 3. Confirm `icon.png` is a valid 512x512 PNG. 4. Verify all raw GitHub, project, support, icon, and README URLs. 5. Confirm the image tag exists for amd64. 6. Run **Validate** and **Scan** in the Community Apps submission flow. 7. Review the generated listing before submitting it for moderation.