为什么你需要一个私有云 NAS?

你是否遇到过这些场景:手机照片越来越多,iCloud/百度网盘空间告急;公司文件在微信、钉钉、U盘之间来回倒腾,版本混乱;想在家里的电视上看下载的电影,却只能用 U 盘拷贝来拷贝去?

公有云虽然方便,但数据在别人手里——网盘说关就关(还记得360云盘吗?),隐私说没就没,月费还越收越贵。以某主流网盘为例,SVIP年费298元,2TB空间,上传下载还限速。更别提照片AI训练、内容审查这些让人不寒而栗的操作。

更好的选择是自建私有云 NAS,把数据主动权握在自己手里。数据存在本地硬盘,你说了算;局域网千兆传输,速度跑满带宽;一次硬件投入,后续零月费。

传统的 NAS 方案(群晖、威联通)动辄两三千起步,配置复杂。CasaOS 的出现彻底改变了这个局面:一行命令安装,浏览器可视化操作,Docker 应用商店一键部署——哪怕你没有任何 Linux 基础,也能在半小时内拥有自己的私有云。

CasaOS Banner - 你的个人云操作系统

CasaOS 是一个开源的个人云操作系统(GitHub 31,500+ Star),底层基于 Docker,提供类似智能电视的简洁界面,支持一键安装 100,000+ Docker 应用。

架构概览

在动手之前,先理解 CasaOS 的整体架构,有助于后续排错:

┌─────────────────────────────────────────────────┐
│                   浏览器访问                      │
│            http://<设备IP>:80                    │
└──────────────────┬──────────────────────────────┘
                   │
┌──────────────────▼──────────────────────────────┐
│              CasaOS Web UI (Vue.js)              │
│         应用商店 / 文件管理 / 系统监控             │
└──────────────────┬──────────────────────────────┘
                   │ RESTful API (Go + Echo)
┌──────────────────▼──────────────────────────────┐
│           CasaOS Core (Go 后端服务)              │
│     ┌──────────┬──────────┬──────────────┐      │
│     │ 应用管理  │ 存储管理  │  用户系统     │      │
│     └──────────┴──────────┴──────────────┘      │
└──────────────────┬──────────────────────────────┘
                   │ Docker Socket
┌──────────────────▼──────────────────────────────┐
│              Docker Engine                       │
│  ┌─────────┐ ┌──────────┐ ┌───────────────┐    │
│  │Nextcloud│ │ Jellyfin │ │ HomeAssistant │    │
│  │ (网盘)  │ │ (影音)   │ │  (智能家居)    │    │
│  └─────────┘ └──────────┘ └───────────────┘    │
│           ... 100,000+ 应用 ...                  │
└─────────────────────────────────────────────────┘

核心要点:CasaOS 不替代 Docker,而是作为 Docker 的可视化"遥控器"。它通过 docker.sock 与 Docker Engine 通信,你在 CasaOS 界面上的每一次点击,底层都是标准的 docker compose 操作。

下面用 5 个步骤,从零开始部署你的私有云 NAS。

环境要求

| 项目 | 最低配置 | 推荐配置 |

|------|---------|---------|

| CPU | x86_64 / arm64 / armv7 | x86_64 (N100/N5105) |

| 内存 | 2 GB | 8 GB+ |

| 系统盘 | 16 GB | 64 GB SSD |

| 数据盘 | 按需 | 1 TB+ HDD/SSD |

| 操作系统 | Debian 12 / Ubuntu 20.04+ | Debian 12 (官方推荐) |

本文以 **Ubuntu 22.04 LTS** 为例,其他系统操作完全一致。


第一步:安装 Docker Engine

CasaOS 依赖 Docker,需要先安装。注意:CasaOS 当前不兼容 Docker 29.x,推荐安装 28.x 系列。

# 1. 卸载旧版本(如有)
sudo apt remove -y docker docker-engine docker.io containerd runc

# 2. 安装依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg

# 3. 添加 Docker 官方 GPG 密钥和仓库
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 4. 安装 Docker 28.x 并锁定版本
sudo apt update
sudo apt install -y docker-ce=5:28.5.2-1~ubuntu.22.04~jammy \
  docker-ce-cli=5:28.5.2-1~ubuntu.22.04~jammy \
  containerd.io docker-buildx-plugin docker-compose-plugin

# 锁定版本,防止自动更新导致兼容问题
sudo apt-mark hold docker-ce docker-ce-cli containerd.io

# 5. 验证安装
docker --version
# 输出:Docker version 28.5.2, build xxxxx

运行结果:

Docker version 28.5.2, build fac5e95

国内用户加速配置(可选但强烈建议):

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.1panel.live",
    "https://docker.m.daocloud.io"
  ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

验证镜像加速是否生效:

docker info | grep -A 5 "Registry Mirrors"
# 输出:
#  Registry Mirrors:
#   https://docker.1panel.live/
#   https://docker.m.daocloud.io/


第二步:一行命令安装 CasaOS

CasaOS 的安装可谓"史上最简单"——一行命令,全程自动

curl -fsSL https://get.casaos.io | sudo bash

脚本会自动完成以下操作:

  • 检测操作系统和架构
  • 安装必要的系统依赖(`smartmontools`、`udev`、`avahi-daemon` 等)
  • 部署 CasaOS 核心服务到 `/usr/local/bin/casaos`
  • 注册 systemd 服务并设置开机自启
  • 创建数据目录 `/var/lib/casaos/` 和 `/DATA/`

安装过程大概 2-5 分钟,取决于网络速度。成功后输出类似:

[ INFO ] CasaOS v0.4.15 installation completed successfully!
[ INFO ] CasaOS is running at:
[ INFO ] http://192.168.1.100:80
[ INFO ] Open the above URL in your browser to get started.

如果 `curl` 方式因为网络问题失败,可以改用 `wget -qO- https://get.casaos.io | sudo bash`。

卸载命令(备用):

casaos-uninstall


第三步:初始化配置——创建你的云账号

安装完成后,打开浏览器访问 http://<你的设备IP>:80(例如 http://192.168.1.100)。

CasaOS 仪表盘界面截图

3.1 首次访问

浏览器打开后会看到欢迎页面,引导你完成两步初始化:

① 创建管理员账户

┌──────────────────────────────────┐
│       欢迎使用 CasaOS             │
│                                  │
│   用户名: [admin            ]    │
│   密码:   [••••••••••       ]    │
│   确认:   [••••••••••       ]    │
│                                  │
│         [ 创建账户 ]             │
└──────────────────────────────────┘

输入你想要的用户名和密码,点击创建——这就是你私有云的管理员账号。

② 配置存储路径

CasaOS 默认使用 /DATA 作为主存储目录。如果你有独立的数据盘,可以在这一步挂载。例如:

# 查看可用磁盘
lsblk
# 输出示例:
# NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
# sda      8:0    0  1.8T  0 disk
# └─sda1   8:1    0  1.8T  0 part
# sdb      8:16   0  256G  0 disk
# └─sdb1   8:17   0  256G  0 part /

# 格式化并挂载数据盘到 /DATA
sudo mkfs.ext4 /dev/sda1
sudo mount /dev/sda1 /DATA
echo '/dev/sda1 /DATA ext4 defaults 0 0' | sudo tee -a /etc/fstab

进入主界面后,你会看到一个类似智能电视的仪表盘:

  • **顶部状态栏**:CPU 使用率、内存占用、存储空间、网络速率——实时卡片展示
  • **中间应用区**:预装的 App Store 和 Files 应用,大图标布局
  • **左侧导航**:Dashboard(仪表盘)、App Store(应用商店)、Files(文件管理)、Settings(设置)


第四步:安装核心应用——搭建你的私有云全家桶

CasaOS 的真正威力在于应用商店。打开 App Store,你会看到数十款精选应用可以直接"一键安装"——这和手机装 App 的体验完全一致。CasaOS 会自动处理端口映射、数据持久化、环境变量配置,你不需要打开终端敲任何命令。对于高级用户,也支持直接粘贴自定义 Docker Compose 配置。

4.1 私有云盘:Nextcloud

Nextcloud 是开源界的"Google Drive",支持文件同步、在线办公、日历、联系人管理。

在 CasaOS 应用商店中搜索 "Nextcloud",点击安装,CasaOS 会自动处理以下 Docker Compose 配置:

# CasaOS 自动生成,路径 /var/lib/casaos/apps/Nextcloud/docker-compose.yml
version: "3"
services:
  nextcloud:
    image: linuxserver/nextcloud:latest
    container_name: nextcloud
    restart: unless-stopped
    ports:
      - "8080:443"
    volumes:
      - /DATA/AppData/nextcloud/config:/config
      - /DATA/AppData/nextcloud/data:/data
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai

安装完成后,访问 http://<设备IP>:8080 设置管理员账号即可。

验证运行状态

# 查看 Nextcloud 容器是否正常运行
docker ps --filter "name=nextcloud" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
# 输出:
# NAMES        STATUS          PORTS
# nextcloud    Up 3 minutes    0.0.0.0:8080->443/tcp

4.2 家庭影音中心:Jellyfin

在 App Store 中搜索 "Jellyfin",同样一键安装:

version: "3"
services:
  jellyfin:
    image: linuxserver/jellyfin:latest
    container_name: jellyfin
    restart: unless-stopped
    ports:
      - "8096:8096"
    volumes:
      - /DATA/AppData/jellyfin/config:/config
      - /DATA/Media:/media          # 影音文件目录
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai

将电影、剧集放入 /DATA/Media,Jellyfin 自动刮削海报和元数据,手机/平板/电视都可以通过客户端播放。

4.3 轻量笔记:Memos

如果你需要私有化的笔记服务,Memos 比 Notion 更轻量、更隐私:

在 App Store 中搜索安装,或者手动通过 docker run 部署:

docker run -d \
  --name memos \
  --restart=unless-stopped \
  -p 5230:5230 \
  -v /DATA/AppData/memos:/var/opt/memos \
  neosmemo/memos:stable

安装完成后,访问 http://<设备IP>:5230 即可使用——支持 Markdown、标签、时间线、API 开放接口。

4.4 安装成果总览

# 查看 CasaOS 管理的所有容器
docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}"

运行结果示例:

NAMES           IMAGE                        STATUS          PORTS
casaos          icewhaletech/casaos:latest   Up 2 hours      0.0.0.0:80->80/tcp
nextcloud       linuxserver/nextcloud:latest Up 30 minutes   0.0.0.0:8080->443/tcp
jellyfin        linuxserver/jellyfin:latest  Up 15 minutes   0.0.0.0:8096->8096/tcp
memos           neosmemo/memos:stable        Up 5 minutes    0.0.0.0:5230->5230/tcp

至此,你已拥有:私有云盘(Nextcloud)+ 家庭影音库(Jellyfin)+ 随身笔记(Memos)——一套完整的私有云全家桶。


第五步:外网访问与日常维护

5.1 Tailscale 组网(推荐,零配置 VPN)

在 CasaOS 应用商店安装 Tailscale,启动后登录账号,所有设备加入同一个 Tailscale 网络后,就可以通过 100.x.x.x 的虚拟 IP 直接访问所有 CasaOS 服务——无需端口转发、无需公网 IP、全流量加密

# 也可以通过命令行安装
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

验证组网:

tailscale status
# 输出:
# 100.74.12.34   casaos-nas    user@    linux   -
# 100.12.56.78   my-phone      user@    iOS     -

现在手机上通过 http://100.74.12.34:80 即可访问 CasaOS 仪表盘。

5.2 系统更新

CasaOS 支持 Web 界面一键更新:Settings -> Update -> Check for Updates

也可以通过命令行更新:

curl -fsSL https://get.casaos.io/update | sudo bash

# 查看当前版本
casaos -v
# 输出:v0.4.15

5.3 数据备份(必做)

# 备份 CasaOS 配置(包含所有应用的 docker-compose 配置)
sudo tar -czf casaos-backup-$(date +%Y%m%d).tar.gz \
  /var/lib/casaos/ \
  /DATA/AppData/

# 备份到远程位置(示例:scp 到另一台机器)
scp casaos-backup-*.tar.gz user@backup-server:/backup/

⚠️ **警告**:更新 CasaOS 或 Docker 版本前,**务必先执行上述备份**。Docker 版本不兼容是社区最常见的翻车原因。


总结

回顾这 5 步,你用 不到 30 分钟 获得了:

| 能力 | 对应服务 | 替代谁 |

|------|---------|--------|

| 私有云盘 | Nextcloud | 百度网盘 / iCloud |

| 家庭影音 | Jellyfin | 爱奇艺 / Plex |

| 私有笔记 | Memos | Notion / 印象笔记 |

| 数据主权 | 本地存储 | 100% 你掌控 |

CasaOS 的核心价值在于降低了自建私有云的门槛——不需要懂 Docker、不需要配 Nginx、不需要写 YAML。它的应用商店把复杂的容器编排变成了"点一下安装"的体验,同时又不限制高级用户通过 Docker Compose 自定义部署。

这不是一个"玩具"项目——GitHub 31,500+ Star、活跃的社区维护、完整的 RESTful API,足以支撑家庭甚至小型工作室的生产环境。

常见疑问解答:CasaOS 和 1Panel、Portainer 有什么区别?简单说,1Panel 偏向服务器运维管理(建站、数据库、防火墙),Portainer 是纯 Docker 容器管理面板,而 CasaOS 定位于家庭个人云场景——文件管理、影音中心、智能家居是它的核心战场。三者可以互补而非互斥。

你现在手里那台吃灰的旧电脑或树莓派,就是最好的私有云服务器。花半小时,跑一行命令,今晚就用上属于你自己的 Netflix + Google Drive。


参考资源

  • [CasaOS 官方 GitHub](https://github.com/IceWhaleTech/CasaOS)
  • [CasaOS 官网](https://www.casaos.io)
  • [在线 Demo](http://demo.casaos.io)

更多推荐