原文地址:使用OMV+NextCloud搭建私有云 – 无敌牛
欢迎参观我的网站:无敌牛 – 技术/著作/典籍/分享等
OpenMediaVault(简称OMV)是一款基于Debian的开源网络存储(NAS)操作系统,提供Web管理界面,支持文件共享、RAID管理、Docker、备份等服务,适合家庭和小型企业搭建私有云存储。
Nextcloud是一款开源的私有云存储和协作平台,提供文件同步、共享、日历、联系人、在线办公等功能,支持自托管,保障数据隐私,可在本地服务器或云端部署。
最近用这两个组合,搭建了一个家庭用的NAS系统。如果不考虑数据备份,直接搭建 NextCloud 就可以了。NextCloud 提供docker化安装包,比较方便。手机上下载客户端也比较好用。
1、安装 openmediavault
我是用PVE安装的,给的硬件配置如下图所示:
iso系统直接从官网下载即可,Download | openmediavault 。这个系统是基于debian 的,安装方法和 debian 一样很方便。硬件安装,请自己制作系统安装盘。
系统安装后启动,提供了一个 80 端口的管理台,用浏览器访问即可。默认账号 admin 默认密码 openmediavault,登录后,点击右上角,自己更改就可以。
管理页面如下图所示
2、安装compose插件
2.1、首先安装 omv-extras 工具,没有这个工具,系统 / 插件 页面不提供 openmediavault-compose 插件的安装。
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash
安装成功后,会在 系统 菜单下有 omv-extras 子菜单
2.2、打开 系统 / 插件 页面,找到 openmediavault-compose 插件,点击安装。安装成功后,在 服务 菜单页面下就会有 Compose 菜单,如下图所示。
3、创建共享文件夹
3.1、在 存储器 / 文件系统 格式化数据盘。点击 加号 按钮,选择文件系统格式化数据磁盘。我是挂载了两个磁盘,一个做系统,一个做数据存储,如果只有一个磁盘,可以省去这一步。但是只能把数据和系统盘存在一起,新创建的共享文件夹会在 根目录。
注意:每次在管理台操作,都会提示 部署,点击部署之后才会生效。
3.2、在 存储器 / 共享文件夹 创建共享目录,用于保存 nextcloud 的引擎、代码、数据库、文件等。
4、使用 compose 创建 NextCloud 虚拟机。
4.1、打开 服务 / Compose / 设置 页面,添加 Compose 共享文件存储地址、所有者、权限,其他选项可以选择默认。
4.2、编写 compose.yml 文件。在 服务 / Compose / 文件 页面,点击 加号 按钮添加配置。
yml 文件内容如下。需要自己修改一下这几个配置才可以使用:
a、MYSQL_ROOT_PASSWORD 、 MYSQL_USER 、 MYSQL_PASSWORD 这三个变量设置 mysql 账号和密码,需要自己设定。
b、/srv/dev-disk-by-uuid-yourrealdeviceuuid/compose 目录根据自己共享目录真实地址填写。在第3.2节的截图中,可以找到具体路径。之所以从docker映射出来,是为了方便保存引擎、配置、数据库和文件。也方便以后备份。
version: '3.8'
services:nextcloud:image: nextcloud:stablecontainer_name: nextcloudrestart: unless-stoppedports:- "8080:80"volumes:- /srv/dev-disk-by-uuid-yourrealdeviceuuid/compose/nextcloud/html:/var/www/html- /srv/dev-disk-by-uuid-yourrealdeviceuuid/compose/nextcloud/data:/var/www/html/data- /srv/dev-disk-by-uuid-yourrealdeviceuuid/compose/nextcloud/config:/var/www/html/configenvironment:- MYSQL_HOST=nextcloud-db- MYSQL_DATABASE=nextcloud- MYSQL_USER=inputyouruser- MYSQL_PASSWORD=inputyourpassword- NEXTCLOUD_TRUSTED_DOMAINS=inputyourDomainOrIP- REDIS_HOST=nextcloud-redis- REDIS_PORT=6379- REDIS_HOST_PORT=6379depends_on:- nextcloud-dbnextcloud-db:image: mariadb:10.6container_name: nextcloud-dbrestart: unless-stoppedcommand: --transaction-isolation=READ-COMMITTED --binlog-format=ROWvolumes:- /srv/dev-disk-by-uuid-yourrealdeviceuuid/compose/nextcloud/db:/var/lib/mysqlenvironment:- MYSQL_ROOT_PASSWORD=inputyourrootpassword- MYSQL_DATABASE=nextcloud- MYSQL_USER=inputyouruser- MYSQL_PASSWORD=inputyourpasswordredis:image: redis:alpinecontainer_name: nextcloud-redisrestart: unless-stopped
保存完配置后,可以点击 检查 来查看是否yml格式存在问题,点击 上线,来启动 NextCloud。
首次启动需要下载镜像,如果因为镜像失败,可以添加国内镜像源,具体方法参看往期文章:dify大模型应用开发平台搭建 – 无敌牛 在 安装运行 章节有配置国内镜像源 的方法。
启动成功后,提供 8080 端口的管理页面,可通过浏览器直接访问 http://xx.xx.xx.xx:8080 。
首次登录后,需要创建了 账号 、 密码,然后系统自己初始化。
5、手机下载 nextclud 客户端访问
可以自己在 手机软件商城 搜索 nextcloud ,下载安装即可使用,和页面登录类似。
手机软件商城没有,可以去官方网站下载客户端:Download and install Nextcloud
关于客户端的使用、数据备份等,那就自己探索吧。