Skip to content

标签:NAS

RAID Is Not Backup: The Correct Data-Safety Stack for a Home NAS

“I built RAID, can I still lose data?” Yes. RAID covers disk failure only — not deletion, ransomware or fire. Safety is a three-layer structure. Three layers, three jobs RAID layer: survives hardware failure and a dropped disk, but rm still deletes; Snapshot layer: btrfs/ZFS snapshots defeat deletion and ransomware; 15-minute intervals shrink the loss […]

阅读全文 →

Portainer Across Multiple ARM Devices: A Graphical Control Plane

Past three devices, ssh everywhere becomes unmaintainable. Portainer’s Edge Agent mode pulls them into one control plane. Think in fleets, not boxes Edge Agent architecture: a light agent per device; the control plane tunnels config down, so no device ports are exposed; Reusable stacks: one compose definition pushed to many devices, parameterized per site; Permission […]

阅读全文 →

A Fully Silent Home Server: Building Fanless on RK3576

Server noise comes from fans and drives. RK3576’s low power makes fanless viable; what remains is disk noise. Silence is a systems problem Passive cooling: all-metal chassis plus thermal pads holds RK3576 under 75°C at full load in a normal room; Drive decoupling: rubber suspension mounts, no rigid contact with the chassis — kills most […]

阅读全文 →

CasaOS: An App-Store Front End Your Family Can Actually Use

The top reason home servers go unused: only one person can operate them. CasaOS wraps Docker in familiar app-store interactions. An entry point for non-technical family One-click apps: Jellyfin, qBittorrent and HA all have community templates — set the storage path and go; File manager: browse NAS folders in the browser; family uploads no longer […]

阅读全文 →

Immich Self-Hosted Photos on RK3588: Real-World Behavior

Immich is the closest self-hosted match to Google Photos, but it is hungrier than Jellyfin. It runs fine on RK3588 — as long as you understand its resource curve. Do the resource math first Initial indexing is the heavy part: clustering faces across tens of thousands of photos can take hours. Run it on the […]

阅读全文 →

Storage Performance Tuning: Schedulers, Read-Ahead and Mount Options

Sequential writes (recordings) and random I/O (databases) want opposite settings, so one configuration will always hurt one of them. Identify the workload first Scheduler: none for NVMe, mq-deadline for SATA SSDs, bfq for spinning disks to preserve interactivity; Read-ahead: raise read_ahead_kb (say 2048) for sequential work, lower it (say 256) for random work to avoid […]

阅读全文 →

Navidrome on RK3588: A Self-Hosted Music Library That Fits in Your Pocket

Self-hosting music differs from video: huge libraries, small files, and little need for transcoding. On RK3588, Navidrome’s footprint is almost unmeasurable. Why Navidrome Very low overhead: a 100k-track library sits around 200 MB of RAM — effectively invisible on RK3588; Subsonic-compatible: play:Sub on iOS and Symfonium/DSub on Android connect directly, with offline caching and car […]

阅读全文 →

Memory Tuning in Practice: zram, Swap and OOM Protection

Embedded RAM is soldered and unupgradable. zram compressed swap relieves pressure without changing hardware. Compressed memory beats bigger memory zram sizing: allocate 25-50% of physical RAM, with zstd for compression ratio or lz4 for speed; swappiness: set 100 so the kernel happily uses zram, but disable or minimize real disk swap; OOM protection: give critical […]

阅读全文 →

Migrating from Emby/Plex to Jellyfin: Libraries, Watch History and Play States

Switching from Emby or Plex to Jellyfin is rarely blocked by features — it’s years of watch history and favorites. Migration happens at three levels of increasing difficulty. Three levels of migration Media files are easy: keep the same folder structure and let Jellyfin re-scan; Metadata migrates well via Jellyfin’s NFO import, which reads Emby’s […]

阅读全文 →