使用OMV+NextCloud搭建私有云

使用OMV+NextCloud搭建私有云

OpenMediaVault(简称OMV)是一款基于Debian的开源网络存储(NAS)操作系统,提供Web管理界面,支持文件共享、RAID管理、Docker、备份等服务,适合家庭和小型企业搭建私有云存储。

Nextcloud是一款开源的私有云存储和协作平台,提供文件同步、共享、日历、联系人、在线办公等功能,支持自托管,保障数据隐私,可在本地服务器或云端部署。

最近用这两个组合,搭建了一个家庭用的NAS系统。如果不考虑数据备份,直接搭建 NextCloud 就可以了。NextCloud 提供docker化安装包,比较方便。手机上下载客户端也比较好用。

1、安装 openmediavault

我是用PVE安装的,给的硬件配置如下图所示:

iso系统直接从官网下载即可,https://www.openmediavault.org/download.html 。这个系统是基于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:stable
    container_name: nextcloud
    restart: unless-stopped
    ports:
      - "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/config
    environment:
      - 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=6379
    depends_on:
      - nextcloud-db

  nextcloud-db:
    image: mariadb:10.6
    container_name: nextcloud-db
    restart: unless-stopped
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - /srv/dev-disk-by-uuid-yourrealdeviceuuid/compose/nextcloud/db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=inputyourrootpassword
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=inputyouruser
      - MYSQL_PASSWORD=inputyourpassword

  redis:
    image: redis:alpine
    container_name: nextcloud-redis
    restart: unless-stopped

保存完配置后,可以点击 检查 来查看是否yml格式存在问题,点击 上线,来启动 NextCloud。

首次启动需要下载镜像,如果因为镜像失败,可以添加国内镜像源,具体方法参看往期文章:https://www.madbull.site/?p=2060安装运行 章节有配置国内镜像源 的方法。

启动成功后,提供 8080 端口的管理页面,可通过浏览器直接访问 http://xx.xx.xx.xx:8080 。

首次登录后,需要创建了 账号 、 密码,然后系统自己初始化。

5、手机下载 nextclud 客户端访问

可以自己在 手机软件商城 搜索 nextcloud ,下载安装即可使用,和页面登录类似。

手机软件商城没有,可以去官方网站下载客户端:https://nextcloud.com/install/#desktop-files

关于客户端的使用、数据备份等,那就自己探索吧。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注