在群晖上安装Nextcloud-AIO详解

2023-11-10

在这里插入图片描述

本文是应网友 刘源 的要求折腾的;

什么是 Nextcloud AIO ?

Nextcloud AIO 就是 Nextcloud All-in-One ,顾名思义就是一个 NextcloudAll-in-One 版本,这是一个基于 Docker 的项目,它允许仅安装一个容器,该容器可以完成创建和管理完整的 Nextcloud 安装所需的所有容器的繁重工作。Nextcloud AIO 不仅提供了许多 Nextcloud 功能的轻松部署和维护,而且您还可以期待用户友好的界面、无压力的更新以及让大多数功能开箱即用的更简单的方法。

Nextcloud AIO 包括:

  • Nextcloud
  • Nextcloud Office
  • Nextcloud Files 的高性能后端
  • Nextcloud Talk 的高性能后端
  • 备份解决方案(基于 BorgBackup
  • Imaginary(用于 heictiffwebp 的预览)
  • ClamAVNextcloud 的防病毒后端)
  • 全文检索

前言

按照之前的理解,All-in-One 一般都是把软件需要用到的服务、数据库、前端等放在一个镜像里,这样可以降低用户体验的门槛,但是 Nextcloud AIO 颠覆了老苏的认知,这玩意儿像是个启动器或者批处理,你需要用的镜像还需要根据你的设置,一个一个另外下载

老苏在安装时,为了体验,勾选了全部的功能;

最后下载并生成了大概有 14 容器(下图中还差了 domaincheckwatchtower

期间出了各种状况,例如下面这样,原因竟然是 nextcloud/aio-apache 下载失败导致的

所以为了避免遇到老苏在安装中遇到的网络问题,建议你把 nextcloud/aio 开头的镜像先下载回来,似乎也就 onlyofficedocker-socket-proxy 可能没用上

当然你的网络很稳定的话,当老苏什么都没说

反向代理

熟悉老苏的同学都知道,老苏 6 月份 vps 到期之后,就没再续签了,所以现在的反代方案是

  • Cloudflared + Nginx Proxy Manager
  • Tailscale + Nginx Proxy Manager

前面是什么关系不是很大,重点是 Nginx Proxy Manager

官方有详细的反代设置文档:https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md,请找到自己的反代类型进行设置

域名 局域网地址 备注
https://aio.laosu.cf http://192.168.0.197:11000 apache 主机:端口

主机设置

SSL 中,如果 NPMCloudflard 后面,可以不用设置,如果在 Tailscale 后面则是需要的

Advanced 中都需要加入下面的代码

client_body_buffer_size 512k;
proxy_read_timeout 86400s;
client_max_body_size 0;

【注意事项】:

如果你反代后,没有 443端口,从官方文档看,似乎是不支持的

但老苏没有条件进行验证,只能建议你采用老苏的方案了

命令行安装

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 nextcloud-aio 和 子目录
mkdir -p /volume1/docker/nextcloud-aio/{config,data}

# 进入 nextcloud-aio 目录
cd /volume1/docker/nextcloud-aio

# 创建卷
docker volume create \
   --driver local \
   --name nextcloud_aio_mastercontainer \
   -o device="/volume1/docker/nextcloud-aio/config" \
   -o type="none" \
   -o o="bind"

docker volume create \
   --driver local \
   --name nextcloud_aio_nextcloud_datadir \
   -o device="/volume1/docker/nextcloud-aio/data" \
   -o type="none" \
   -o o="bind"

# 运行容器
docker run -d \
   --init \
   --sig-proxy=false \
   --restart unless-stopped \
   --name nextcloud-aio-mastercontainer \
   -p 3093:8080 \
   -v nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
   -v /var/run/docker.sock:/var/run/docker.sock:ro \
   -e APACHE_PORT=11000 \
   -e APACHE_IP_BINDING=0.0.0.0 \
   -e NEXTCLOUD_DATADIR="nextcloud_aio_nextcloud_datadir" \
   nextcloud/all-in-one:latest
  • 3093 :是容器 nextcloud-aio-mastercontainer 的访问端口;
  • APACHE_IP_BINDINGapache 容器侦听的主机 IP
  • APACHE_PORTapache 容器侦听的主机端口 ;

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  nextcloud-aio-mastercontainer:
    image: nextcloud/all-in-one:latest
    container_name: nextcloud-aio-mastercontainer
    restart: unless-stopped
    ports:
      - 3093:8080
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - NEXTCLOUD_DATADIR=nextcloud_aio_nextcloud_datadir
      - APACHE_PORT=11000
      - APACHE_IP_BINDING=0.0.0.0

volumes:
  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer
    driver: local
    driver_opts:
      type: 'none'
      o: 'bind'
      device: '/volume1/docker/nextcloud-aio/config'

  nextcloud_aio_nextcloud_datadir:
    name: nextcloud_aio_nextcloud_datadir
    driver: local
    driver_opts:
      type: 'none'
      o: 'bind'
      device: '/volume1/docker/nextcloud-aio/data'

然后执行下面的命令

# 新建文件夹 nextcloud-aio 和 子目录
mkdir -p /volume1/docker/nextcloud-aio/{config,data}

# 进入 nextcloud-aio 目录
cd /volume1/docker/nextcloud-aio

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

注意事项

  • 容器的名称不能改,必须是 nextcloud-aio-mastercontainer ,否则日志中会有下面的提示

注意:容器名字中的连接线是 - 而不是 _

It seems like you did not give the mastercontainer the correct name? (The 'nextcloud-aio-mastercontainer' container was not found.)

Using a different name is not supported since mastercontainer updates will not work in that case!
  • 卷的名称也不能改,必须是 nextcloud-aio-mastercontainer ,否则日志中会有下面的提示

注意:容器名字中的连接线是 _ 而不是 -

It seems like you did not give the mastercontainer volume the correct name? (The 'nextcloud_aio_mastercontainer' volume was not found.)

Using a different name is not supported since the built-in backup solution will not work in that case!

如何重置

如果在初始安装过程中出现意外情况,您可能需要重置 AIO 安装,以便能够从头开始

具体的方法可以参考官方的文档, How to properly reset the instance?章节:https://github.com/nextcloud/all-in-one#how-to-properly-reset-the-instance

运行

在浏览器中打开 https://群晖IP:3093注意,是 https 不是 http,否则你会看到

如果提示 您的连接不是私密连接,点 高级

继续前往192.168.0.197(不安全)

现在可以看到下面

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在群晖上安装Nextcloud-AIO详解 的相关文章

随机推荐

  • 完全卸载docker

    停止docker服务 systemctl stop docker 列出所有docker相关组件 yum list installed grep docker 删除上一条命令列出来的所有组件 yum y remove xxxx 谨慎操作 删除
  • 因果推断(五)——反事实,后悔药?

    反事实推断一个词概括就是 后悔 例子 还是以小夏开店为例 小夏请了A明星代言后 销售量虽然有提升 但是由于该明星的代言费很贵 导致最终还是亏本了 于是 小夏想要是当时没有请明星代言 会不会就不亏本了 推断没有发生过的事情 就是反事实推断 当
  • shell编程基础(四)-shell特殊符号

    目录 符号总览 1 输出 输入重导向 1 井号 comments 1 帐户的 home 目录 1 分号 Command separator 1 连续分号 Terminator 1 点 dot 2 string 单引号 single quot
  • k8s leaderelection

    const LEASELOCKNAME tes LEASELOCKNAMESPACE kube system func main LeaseLockID uuid New String client InitClientSet run fu
  • 少儿机器人编程与软件编程区别

    现在社会 机器人编程是一门博大精深 有着多学科融合性的课程 针对少儿方面 林林总总的相关编程培训也是层出不穷 格物斯坦来分析下这两者的区别所在 纯软件是个虚拟的世界 简单而完美 就像我们上学时所说的理想条件下 而真实世界太复杂了 并且总有意
  • 十分钟了解MES系统的发展历程和标准体系

    在20世纪70年代后期到21世纪这阶段 企业之间的主要竞争因素发生了较大的变化 客户对产品的需求逐渐多样化 制造企业的生产模式也开始由大批量的刚性生产变为了多品种 小批量的柔性生产模式 生产线也从以前的手工方式转为了以自动化的机器人生产线为
  • 使用R语言中的data

    使用R语言中的data table包进行数据操作和转换是非常高效和方便的 其中 melt函数是一个非常实用的函数 可以将数据表从宽格式转换为长格式 在本文中 我将详细介绍如何使用melt函数 以及通过源代码示例展示其用法和效果 1 什么是宽
  • Java什么情况下数据类型可以自动转换?什么情况下需要强制转换?

    在程序中 当把一种数据类型的值赋给另一种数据类型的变量时 需要进行数据类型转换 自动类型转换也叫隐式类型转换 指的是两种数据类型在转换的过程中不需要显式地进行声明 当把一个类型取值范围小的数值直接赋给另一个取值范围大的数据类型变量时 系统就
  • minikube:部署一个nginx应用

    通过run命令运行pod 创建pod minikube kubectl run nginx image nginx port 80 查看pod的ip minikube kubectl get pods o wide 遇到查看不到IP的问题可
  • 关于自定义视图容器(Container View Controller)

    苹果对UIViewController以及其使用有着非常详细的文档 UIViewController Reference ViewController Programming Guide 一 UIViewController 作为iOS开发
  • 惠普笔记本重装win10系统教程

    惠普PAVILION 15 AU034TX X0S89PA 重装系统教程 文章目录 惠普PAVILION 15 AU034TX X0S89PA 重装系统教程 1 Bios设置启动盘 2 开始重装系统操作 3 电脑基本设置 4 激活win10
  • python源程序执行的方式是边编译边执行吗_Python代码是编译执行还是解释执行?...

    有人在讨论 Python 代码是编译执行还是解释执行 这个问题还可以换一种说法 Python 是编译型语言还是解释型语言 回答这个问题前 我们先弄清楚什么是编译型语言 什么是解释型语言 所谓编译执行就是源代码经过编译器编译处理 生成目标机器
  • MySQL存储过程专题

    文章目录 MySQL存储过程 0 环境说明 1 使用说明 2 准备 3 语法 3 0 语法结构 3 1 变量及赋值 1 局部变量 2 用户变量 3 会话变量 4 全局变量 3 2 入参出参 3 3 流程控制 判断 if case 3 4 流
  • Python反编译exe

    TOC Python反编译exe 下载工具 1 python国内下载 https mirrors huaweicloud com python 建议使用 3 10一下的版本 2 下载 下载pyinstxtractor 网址 https gi
  • Python-pandas-画柱状图/饼图

    一 柱状图 import pandas as pd pandas的制图功能是构建在matplotlib之上的 import matplotlib pyplot as plt 1 使用pandas画图 datas pd read excel
  • git rm -r cached <dir>按层次遍历目录导致删除目录下文件时“未匹配任何文件“错误

    haypin MBP cpp cmake js java python main git add haypin MBP cpp cmake js java python main find ipath js o ipath build o
  • Qt窗口大小设置

    用Qt创建一个窗口 如何调整窗口的大小呢 1 setBaseSize 调用这个方法 1 setBaseSize 800 600 运行程序 发现一点效果都没有 注意我这里并没有使用setFixedSize setMaximumSize 因为虽
  • LightGBM原理简介

    1 LightGBM简介 Light Gradient Boosting Machine 是一个实现GBDT算法的框架 支持高效率的并行训练 并且具有以下优点 1 更快的训练速度 2 更低的内存消耗 3 更好的准确率 4 分布式支持 可以快
  • 智能指针详细解析(智能指针的使用,原理解析)

    本文转自努力的少年博主 https blog csdn net sjp11 article details 123899141 目录 一 智能指针的基本概念 二 智能指针的定义和使用 三 auto ptr 四 unique ptr 五 sh
  • 在群晖上安装Nextcloud-AIO详解

    本文是应网友 刘源 的要求折腾的 什么是 Nextcloud AIO Nextcloud AIO 就是 Nextcloud All in One 顾名思义就是一个 Nextcloud 的 All in One 版本 这是一个基于 Docke