feat(screenshots): replace ai mockups with real application screenshots and publish doc bundle
Validate Documentation / lint-docs (push) Successful in 11s
@@ -18,3 +18,27 @@ jobs:
|
|||||||
echo "Validating documentation markdown syntax..."
|
echo "Validating documentation markdown syntax..."
|
||||||
find docs -name "*.md" -print0 | xargs -0 -n 1 echo "Checked:"
|
find docs -name "*.md" -print0 | xargs -0 -n 1 echo "Checked:"
|
||||||
echo "All documentation files valid."
|
echo "All documentation files valid."
|
||||||
|
|
||||||
|
- name: Publish Documentation Bundle to Gitea Packages
|
||||||
|
run: |
|
||||||
|
tar -czf naxos-docs-bundle.tar.gz README.md docs
|
||||||
|
echo "Packaging naxos-docs-bundle.tar.gz to Gitea Packages registry..."
|
||||||
|
TOKEN="${{ secrets.PACKAGE_TOKEN }}"
|
||||||
|
if [ -z "$TOKEN" ]; then
|
||||||
|
TOKEN="${{ secrets.GITEA_TOKEN }}"
|
||||||
|
fi
|
||||||
|
RESPONSE=$(curl -s -w "\nHTTP_STATUS:%{http_code}" -X PUT \
|
||||||
|
-H "Authorization: token ${TOKEN}" \
|
||||||
|
--upload-file naxos-docs-bundle.tar.gz \
|
||||||
|
"${{ github.server_url }}/api/packages/naxos/generic/naxos-docs/1.0.0/naxos-docs-bundle.tar.gz")
|
||||||
|
STATUS=$(echo "$RESPONSE" | grep "HTTP_STATUS:" | cut -d: -f2)
|
||||||
|
BODY=$(echo "$RESPONSE" | grep -v "HTTP_STATUS:")
|
||||||
|
echo "Package upload HTTP status: $STATUS"
|
||||||
|
if [ "$STATUS" -eq 201 ] || [ "$STATUS" -eq 200 ] || [ "$STATUS" -eq 204 ]; then
|
||||||
|
echo "Successfully published naxos-docs-bundle.tar.gz to Gitea Packages!"
|
||||||
|
elif [ "$STATUS" -eq 409 ]; then
|
||||||
|
echo "Package version 1.0.0 already published in Gitea Packages: $BODY"
|
||||||
|
else
|
||||||
|
echo "Failed to publish package to Gitea Packages ($STATUS): $BODY"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|||||||
@@ -11,22 +11,27 @@ Welcome to the comprehensive documentation repository for **NaxOS**, the declara
|
|||||||
### 1. Dashboard Overview
|
### 1. Dashboard Overview
|
||||||
Sleek glassmorphism interface featuring circular storage capacity gauges, real-time ZFS ARC cache telemetry, active workloads, and safe declarative system rebuild triggers.
|
Sleek glassmorphism interface featuring circular storage capacity gauges, real-time ZFS ARC cache telemetry, active workloads, and safe declarative system rebuild triggers.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 2. OpenZFS Storage Management & Foreign Pool Migration Wizard
|
### 2. OpenZFS Storage Management
|
||||||
Declarative OpenZFS pool topology browser, dataset quota manager, snapshot timeline rollback, and the zero-data-loss **Foreign Pool Migration Wizard** (safely importing TrueNAS or `nixos-lukas` pools while preserving Immich photo libraries in `tank/media/photos`).
|
Declarative OpenZFS pool topology browser, dataset quota manager, snapshot timeline rollback, and pool health monitoring.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 3. Embedded CNCF Perses Native Analytics
|
### 3. Foreign Pool Migration Wizard
|
||||||
|
Zero-data-loss **Appliance Setup & Migration Wizard** safely detecting and importing foreign pools from TrueNAS or `nixos-lukas` while preserving Immich photo libraries in `tank/media/photos`.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### 4. Embedded CNCF Perses Native Analytics
|
||||||
CNCF Perses embedded dashboards replacing standalone Grafana for real-time ZFS ARC hit ratios (98.6%), IOPS latency, 10GbE network traffic with BBR congestion control, and CPU distribution.
|
CNCF Perses embedded dashboards replacing standalone Grafana for real-time ZFS ARC hit ratios (98.6%), IOPS latency, 10GbE network traffic with BBR congestion control, and CPU distribution.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 4. App Store & Tri-Tier Workload Runtime Engine
|
### 5. App Store & Tri-Tier Workload Runtime Engine
|
||||||
Curated 1-click self-hosted application catalog with hardware-accelerated Immich (Intel QuickSync QSV / OpenCL), Nextcloud, Jellyfin, and Vaultwarden. Supports runtime toggling between **Native Systemd**, **Rootless Docker**, and **K3s**.
|
Curated 1-click self-hosted application catalog with hardware-accelerated Immich (Intel QuickSync QSV / OpenCL), Nextcloud, Jellyfin, and Vaultwarden. Supports runtime toggling between **Native Systemd**, **Rootless Docker**, and **K3s**.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
NaxOS features a tri-tier runtime engine that selects the best execution strategy for each application:
|
NaxOS features a tri-tier runtime engine that selects the best execution strategy for each application:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 1. Native NixOS Systemd Services
|
## 1. Native NixOS Systemd Services
|
||||||
- **Best For**: High-throughput services requiring direct hardware device passthrough, minimal RAM overhead, and deep integration with OpenZFS.
|
- **Best For**: High-throughput services requiring direct hardware device passthrough, minimal RAM overhead, and deep integration with OpenZFS.
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ NaxOS introduces an opinionated, cloud-native paradigm:
|
|||||||
4. **Data Safety First**: Existing OpenZFS pools from legacy systems (such as `nixos-lukas` or TrueNAS) are imported read-safe without formatting, preserving critical application storage such as Immich photo libraries.
|
4. **Data Safety First**: Existing OpenZFS pools from legacy systems (such as `nixos-lukas` or TrueNAS) are imported read-safe without formatting, preserving critical application storage such as Immich photo libraries.
|
||||||
5. **Modern Native Observability**: Replaces heavy standalone Grafana instances with embedded CNCF **Perses** dashboards that render natively inside the web UI.
|
5. **Modern Native Observability**: Replaces heavy standalone Grafana instances with embedded CNCF **Perses** dashboards that render natively inside the web UI.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -15,4 +15,4 @@ NaxOS takes a pioneering approach by integrating **Perses** (a Cloud Native Comp
|
|||||||
3. **Optimized for OpenZFS Metrics**:
|
3. **Optimized for OpenZFS Metrics**:
|
||||||
- Out-of-the-box panels monitor OpenZFS ARC hits, misses, ARC target sizing, IOPS, and disk latencies scraped from Prometheus and Node Exporter.
|
- Out-of-the-box panels monitor OpenZFS ARC hits, misses, ARC target sizing, IOPS, and disk latencies scraped from Prometheus and Node Exporter.
|
||||||
|
|
||||||

|

|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
NaxOS leverages upstream OpenZFS on Linux with specific architectural choices optimized for mixed workloads (streaming media, small-file databases, photo indexing, and Apple Time Machine backups).
|
NaxOS leverages upstream OpenZFS on Linux with specific architectural choices optimized for mixed workloads (streaming media, small-file databases, photo indexing, and Apple Time Machine backups).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 1. Default Pool Parameters
|
### 1. Default Pool Parameters
|
||||||
When creating pools through NaxOS, the engine enforces optimal pool attributes:
|
When creating pools through NaxOS, the engine enforces optimal pool attributes:
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ Before shutting down or booting the NaxOS installer on the NAS machine:
|
|||||||
- `-N` imports the pool **without mounting**, allowing NaxOS to audit and map dataset mountpoints safely.
|
- `-N` imports the pool **without mounting**, allowing NaxOS to audit and map dataset mountpoints safely.
|
||||||
6. The pool and all sub-datasets (`tank/media/photos`, `tank/backup`, etc.) will appear under **Active Datasets**.
|
6. The pool and all sub-datasets (`tank/media/photos`, `tank/backup`, etc.) will appear under **Active Datasets**.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 494 KiB |
|
After Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 440 KiB |
|
After Width: | Height: | Size: 150 KiB |
|
After Width: | Height: | Size: 116 KiB |
|
After Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 617 KiB |
|
After Width: | Height: | Size: 139 KiB |
|
After Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 554 KiB |
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 100 KiB |