在群晖上安装Nextcloud-AIO详解

news2025/1/14 1:02:00

在这里插入图片描述

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

什么是 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.cfhttp://192.168.0.197:11000apache 主机:端口

主机设置

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(不安全)

现在可以看到下面👇这样的界面了

注意保存密码

点最下面的按钮登录,输入密码

登录完成后看到 AIO 界面

前提是你的网络没问题,或者已经将需要的容器下载下来了,否则有可能卡在检查升级的页面上

设置域名

为了测试,都勾选了

时区需改为 Asia/Shanghai

回到顶部,点 Download and start containers

如果像下面这样,不一定是有问题,可能只是还没启动完成,稍等之后点 Reload 按钮重新加载

nextcloud-aio-nextcloud 启动的过程是比较长的,要有耐心。着急的话可以点服务后面的 Starting 看日志,来了解进度;

如果没有提前下载镜像,网络又不太好的情况下,比较容易出现 Server error. Please check the mastercontainer logs for details. This page will reload after 10s automatically. Then you can check the mastercontainer logs.

当下面这样时,基本上就算正常了,可以开始下一步访问了

之所以说基本正常,是因为 Notify Push 一直在重启,日志中显示 start.sh: line 36: /nextcloud/custom_apps/notify_push/bin/x86_64/notify_push: No such file or directory,懒得再去研究了,因为这种安装方式远远没有老苏之前写的安装方式简单快捷;

注意红框中的用户名和密码

Initial Nextcloud username: admin  
Initial Nextcloud password: c32b4f14f897b89be557a215001417315db3bf1a69606fd3

Open your Nextcloud,会在浏览器中打开新的页面,地址是我们前面设置的域名

即使你在浏览器中输入 http://群晖IP:11000,也会跳转为设置的域名;

输入用户名和密码,登录成功后主界面就出来了

接下里就可以正常使用了

参考文档

nextcloud/all-in-one: Nextcloud AIO stands for Nextcloud All-in-One and provides easy deployment and maintenance with most features included in this one Nextcloud instance.
地址:https://github.com/nextcloud/all-in-one

How to Install the Nextcloud All-in-One on Linux - Nextcloud
地址:https://nextcloud.com/blog/how-to-install-the-nextcloud-all-in-one-on-linux/

How to run AIO on Synology DSM.
地址:https://github.com/nextcloud/all-in-one#how-to-run-aio-on-synology-dsm

all-in-one/reverse-proxy.md at main · nextcloud/all-in-one
地址:https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#2-use-this-startup-command

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/998649.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

苹果铃声怎么设置?3招教你设置个性化铃声!

苹果手机因其颜值、性能与生态吸引了一大批粉丝用户。在拿到新手机后,大家第一时间就是给手机设置好听的铃声。那么,苹果铃声怎么设置呢?手机铃声能设置成自己喜欢的歌曲吗?当然可以了!本文将给大家介绍3种轻松设置苹果…

文件上传16.17关

二次渲染-Pass-16 直接看源码: 我们还是按照13,14,15的思路进行上传:发现没有info信息了。 二次渲染的时候把码的信息给干掉了。怎么办呢? 把原图和他修改过的图片进行比较,看看哪个部分没有被修改。将p…

轻松整理文件,让你的电脑更有条理!尝试按名称归类方法

文件管理是我们日常计算机使用中经常面临的一项任务。有时候,我们可能需要对电脑中大量的文件进行分类整理,而手动一个个处理无疑是繁琐且耗时的。为了提高效率,许多文件批量高手软件应运而生。 文件批量高手软件是一种能够按文件名称批量归…

常见气体摩尔体积

参考链接 固体和气体的摩尔体积 - 百度文库 (baidu.com) 特此记录 anlog 2023年8月7日

三维模型3DTILE格式轻量化压缩主要技术方法浅析

三维模型3DTILE格式轻量化压缩主要技术方法浅析 三维模型3DTILE格式轻量化压缩主要技术方法浅析 随着三维地理空间数据的应用日益广泛,为了更快速地传输和存储这些大规模数据,3DTile格式的轻量化压缩显得尤为重要。本文将浅析关于三维模型3DTile格式轻量…

快人一步进入智能新纪元,《新程序员006》来了!

文 | 王启隆 曾浩辰 出品 | 《新程序员》编辑部 亲爱的 CSDN 以及《新程序员》的读者朋友们,金秋将至,《新程序员006:人工智能新十年》也正式与大家见面!现在点击下方封面,即可订阅,立即阅读电子书。精美…

蓝皮书首发!车载毫米波雷达赛道进入「大变革周期」,技术/产品/市场并行升级

随着整车智能化进入普及周期,汽车制造商对传感器的需求正在激增,尤其是在辅助驾驶领域,不管是入门级L2,还是高阶NOA,毫米波雷达的单车搭载数量也在发生变化。 高工智能汽车研究院监测数据显示,2022年中国市…

java: 错误: 无效的源发行版:17 【解决】

文章目录 异常信息原因重新创建一个低版本springboot 异常信息 java: 错误: 无效的源发行版:17原因 windows 10本地 jdk8 pom.xml: springboot 3.1.3 versionjdk17 springboot版本的问题 springboot3.0 需要jdk17支持,如果没有安装jdk17 只需把sprin…

超级好用的css属性——clip-path

目录 基本概念 circle()函数 ellipse()函数 polygon()函数 path()函数 总结 clip-path是CSS3中的一个属性,用于在元素上创建一个裁剪区域,以显示元素的一部分。它允许您选择性地显示元素的某个部分,而隐藏其他部分。clip-path属性可以用…

4个维度讲透ChatGPT技术原理,揭开ChatGPT神秘技术黑盒!(文末送书)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

要闻 |上海市测绘院一行领导莅临大势智慧考察交流

9月8日,上海市测绘院首席专家、博士后科研工作站站长顾建祥等一行莅临武汉大势智慧科技有限公司(后简称“大势智慧”)考察工作。大势智慧CEO黄先锋博士、CTO张帆博士等人陪同调研,并就新型基础测绘与实景三维上海建设展开座谈。 上…

京东API接口(商品详情页采集+关键词搜索商品列表):开启电商业务的新篇章

随着电子商务的飞速发展,京东作为国内领先的电商平台,提供了丰富的API接口,帮助开发者轻松集成电商功能,扩展业务范围。本文将介绍京东API接口的作用和价值,探讨适用场景,操作步骤,优势分析及应…

基于Linux的智能家居(工厂模式)

目录 1.项目概述 2.程序框架 3.函数准备 3.1需要函数知识点 3.2编码提醒 4.代码 5.注意事项 1.项目概述 控制端有两个,语音串口UART和Tcp通讯。 执行端有IO输出和IO输入。 2.程序框架 程序分为3部分-------------1.输入控制 2.输出设备 3.主函数-多线程…

【文末送书】Matlab科学计算

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

《Python入门到精通》time模块详解,Python time标准库,time库函数大全

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 time模块详解 1、获取操作time.time() 获取时间戳(float)time.time_ns() 获取时间戳(int)time.thread_time()…

03JVM_类加载

一、类加载与字节码技术 1.类文件结构 2.字节码指令 3.编译期处理 4.类加载阶段 5.类加载器 6.运行期优化 1.类文件结构 类文件结构 1.1 魔数magic 介绍 每个java class文件的前4个字节是魔数:0x CAFEBABE。魔数作用在于分辨出java class文件和非java clas…

开学了,运营校园跑腿怎么样?

校园跑腿项目是当今市场上备受关注和追捧的一种新兴服务业。随着人们生活节奏的加快和需求多样化,校园跑腿项目在满足大众日常生活需求的同时也为创业者提供了巨大的商机。下面将从市场需求、竞争环境和发展前景三个方面,对校园跑腿项目的现状进行分析&a…

Unity实现2D游戏跟随摄像机(平滑移动)

文章目录 玩家角色脚本字段跟随逻辑 完整代码其他相关文章连接 玩家角色 首先创建一个可用的玩家角色,写好移动逻辑,如果要使用在Unity商店中购买的资源,可以点击Window菜单栏> Package Manager选项,来打开Package Manager窗口…

OSCP系列靶场-Esay-SunsetDecoy保姆级

OSCP系列靶场-Esay-SunsetDecoy保姆级 目录 OSCP系列靶场-Esay-SunsetDecoy保姆级总结准备工作信息收集-端口扫描目标开放端口收集目标端口对应服务探测 信息收集-端口测试22-SSH端口的信息收集22-SSH端口版本信息与MSF利用22-SSH协议支持的登录方式22-SSH手动登录尝试(无)22-S…

离子风蛇是什么?

离子风蛇是一种坐立式静电消除器,可手动将蛇管变形使风蛇指向目标方向,让离子气流直流吹向目标表面,方便移动,适用于工厂车间、电子行业、半导体行业、薄膜、卷料、分切等行业。可安放于各种工作区域,除静电除尘效果好…