windows系统,家庭自用NAS。本地局域网 Docker安装nextcloud
windows系统,家庭自用NAS。本地局域网 Docker安装nextcloud
1、docker安装
太简单了,直接去搜一搜。
docker-compose 相关命令
docker-compose down
docker compose up -d
2、还是使用老的
在你需要挂载的目录下,新建一个文件,文件名为:docker-compose.yaml
docker-compose.yaml
复制下面的内容
version: '3.2'networks:default:name: nextcloudservices:app:image: nextcloud:latestrestart: unless-stoppedvolumes:- ./opt/Nextcloud_docker/app:/var/www/htmlenvironment:- MYSQL_PASSWORD=123456 # 按需修改- MYSQL_DATABASE=nextcloud- MYSQL_USER=nextcloud- MYSQL_HOST=db- TZ=Asia/Shanghaiports:- 8888:80 # 按需修改networks:- defaultcache:image: redis:latestrestart: unless-stoppedexpose:- "6379" # 可用此默认。因为这是暴露而不是映射volumes:- ./opt/Nextcloud_docker/cache:/datacommand: redis-server --requirepass '123456' # 按需修改environment:- TZ=Asia/Shanghainetworks:- defaultdb:image: mariadb:latestrestart: unless-stopped# 下面的command与官网略有不同。它将有助于避免MYSQL数据库的4047报错。command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressedvolumes:- ./opt/Nextcloud_docker/db:/var/lib/mysqlenvironment:- MYSQL_ROOT_PASSWORD=123456 # 按需修改- MYSQL_PASSWORD=123456 # 按需修改- MYSQL_DATABASE=nextcloud- MYSQL_USER=nextcloud- TZ=Asia/Shanghainetworks:- default
这个最好放到你要挂载的盘和目录,然后进行docker-compose up -d
3、配置nextcloud的config
这个就是在T:\nextcloud\opt\Nextcloud_docker\app\config\config.php
自己找找看吧
config.php
<?php
$CONFIG = array ('htaccess.RewriteBase' => '/','memcache.local' => '\\OC\\Memcache\\APCu','memcache.distributed' => '\\OC\\Memcache\\Redis','memcache.locking' => '\\OC\\Memcache\\Redis','redis' => array('host' => 'cache','port' => '6379','password' => '123456',),'default_phone_region' => 'CN','apps_paths' => array (0 => array ('path' => '/var/www/html/apps','url' => '/apps','writable' => false,),1 => array ('path' => '/var/www/html/custom_apps','url' => '/custom_apps','writable' => true,),),'upgrade.disable-web' => true,'instanceid' => 'ocx4d6ffgkjy','passwordsalt' => 'traaLklgOFTY5ji+aOkkCpW9uOn1CI','secret' => 'JuQWPi1iMXPitSfPhReWClkgjiLXXqrDUqHUwJrxgpsvAsPT','trusted_domains' => array (0 => 'localhost:8888',),'datadirectory' => '/var/www/html/data','dbtype' => 'mysql','version' => '29.0.1.1','overwrite.cli.url' => 'http://localhost:8888','dbname' => 'nextcloud','dbhost' => 'db','dbport' => '','dbtableprefix' => 'oc_','mysql.utf8mb4' => true,'dbuser' => 'nextcloud','dbpassword' => '123456','installed' => true,
);
执行定时任务
这个东西最好使用ubuntu系统,wsl2 可以搞个,不然windows很麻烦。
下面我是用ubuntu处理的定时任务,这个定时任务主要处理文件扫描,也就是下面直接移动复制文件到容器挂载的目录中,文件扫描就能把这个显示在web上。
docker exec -u www-data nextcloud-app-1 php cron.php
crontab -e */5 * * * * docker exec -u www-data nextcloud-app-1 php cron.php
tip: windows下的定时任务脚本
在Windows中使用schtasks创建每5分钟执行一次的任务,您可以按照以下步骤操作。这里我们使用/MIN参数来设置任务的频率。由于schtasks没有直接支持*/5 * * * *这样的crontab风格的分钟设置,我们将使用一个简单的循环脚本来实现每5分钟执行一次。
-
创建批处理脚本:
首先,创建一个批处理脚本文件,例如run-docker-cron.bat,并在其中添加以下内容:@echo off docker exec -u www-data nextcloud-app-1 php cron.php -
使用
schtasks创建任务:
打开命令提示符或PowerShell,然后使用以下命令创建任务。这个命令将创建一个名为MyDockerCronTask的任务,它会每5分钟运行一次批处理脚本:schtasks /create /tn "MyDockerCronTask" /tr "C:\Users\67317\Desktop\ai\nextcloud\run-docker-cron.bat" /sc minute /mo 5请将
C:\path\to\run-docker-cron.bat替换为您的批处理脚本实际所在的路径。 -
运行任务(测试):
您可以手动运行任务来测试它是否按预期工作:schtasks /run /tn "MyDockerCronTask" -
查看任务:
使用以下命令来查看任务的详细信息:schtasks /query /tn "MyDockerCronTask" -
修改任务(如果需要):
如果需要修改任务的触发时间或其他设置,您可以使用schtasks的/change选项:schtasks /change /tn "MyDockerCronTask" /mo 5 -
删除任务(如果需要):
如果需要删除任务,可以使用/delete选项:schtasks /delete /tn "MyDockerCronTask" /f
请注意,schta sks` 命令可能需要管理员权限来执行。如果您在执行上述命令时遇到权限问题,请以管理员身份运行命令提示符或PowerShell。
此外,确保您的批处理脚本文件路径正确,并且您的Docker命令可以在命令行中直接执行。如果Docker命令需要特定的环境变量或工作目录,请确保在批处理脚本中指定这些条件。
5、修改可信域名
解决方法:修改config文件下的config.php
1、修改trusted_domains
'trusted_domains' => array (0 => 'localhost:8888',1 => '192.168.3.111:8888',),
6、处理移动文件问题
因为本人这个电脑搞了1个T的固态,5个T的机械硬盘。
所以,在一个备份的1个T的机械硬盘中,使用docker compose up -d命令。将当前目录挂载到了nextcloud服务中。

1、然后将其他之前存储的东西,直接粘贴复制到。
T:\nextcloud\opt\Nextcloud_docker\app\data\root\files
相应的你要修改自己的地址目录。
T:\nextcloud\opt\Nextcloud_docker\app\data\root\files
这个root就是 root用户。

2、然后你就等你的定时任务刷新。

就是上面的定时任务,会进行文件扫描,。那么一切大功告成。

谢谢大家,如果有用可以点个赞或者收藏。
有问题,一起交流。
相关文章:
windows系统,家庭自用NAS。本地局域网 Docker安装nextcloud
windows系统,家庭自用NAS。本地局域网 Docker安装nextcloud 1、docker安装 太简单了,直接去搜一搜。 docker-compose 相关命令 docker-compose down docker compose up -d2、还是使用老的 在你需要挂载的目录下,新建一个文件,…...
迅狐跨境商城系统|全平台兼容|前端采用uni-app跨端框架,后端采用ThinkPHP5框架
高效实现全平台兼容的迅狐跨境商城系统 迅狐跨境商城系统是一款专为跨境电商企业设计的全平台兼容系统。其前端采用uni-app跨端框架,后端采用ThinkPHP5框架,旨在实现高效的开发和运营管理。 1. 全平台兼容的前端设计 迅狐跨境商城系统的前端采用uni-a…...
Elixir学习笔记——进程(Processes)
在 Elixir 中,所有代码都在进程内运行。进程彼此隔离,彼此并发运行并通过消息传递进行通信。进程不仅是 Elixir 中并发的基础,而且还提供了构建分布式和容错程序的方法。 Elixir 的进程不应与操作系统进程混淆。Elixir 中的进程在内存和 CPU…...
困惑度作为nlp指标的理解示例
为了更清晰地说明困惑度的计算过程以及如何通过困惑度判断模型的优劣,我们可以通过一个简单的例子来演示。假设我们有一个非常简单的文本语料库和两个基础的语言模型进行比较。 示例文本 假设我们的文本数据包括以下两个句子: “cat sits on the mat”…...
01 Pytorch 基础
paddle不需要放数据到gpu! 区别:1.batch_norlization 不同 2. 1.数据处理 1.取一个数据,以及计算大小 (剩下的工作,取batch,pytorch会自动做好了) 2.模型相关 如何得到结果 3.模型训练/模型…...
STL——set、map、multiset、multimap的介绍及使用
文章目录 关联式容器键值对树形结构与哈希结构setset的介绍set的使用set的模板参数列表set的构造set的使用set的迭代器使用演示 multisetmultiset演示 mapmap的定义方式map的插入map的查找map的[ ]运算符重载map的迭代器遍历multimapmultimap的介绍multimap的使用 在OJ中的使用…...
使用C语言,写一个类似Linux中执行cat命令的类似功能
一、详细的代码案例 #include <stdio.h> #include <stdlib.h> #include <string.h>// 函数声明 void cat_file(const char *filename);int main(int argc, char *argv[]) {if (argc < 2) {fprintf(stderr, "Usage: %s filename1 [filename2 ...]\n&…...
【Android】Android系统性学习——Android系统架构
前言 部分内容参考《Android进阶解密》 – 刘望舒 1. Android版本 官方链接:https://developer.android.com/studio/releases/platforms 里面有各个版本的官方文档,有些新功能的用法在这里面。 现在做安卓11,有时候需要向下兼容 2. AOSP …...
鸿蒙应用开发
学习视频: 00.课程介绍_哔哩哔哩_bilibili 官网:开发者文档中心 | 华为开发者联盟 (huawei.com) 开发工具 :DevEcoStudio , 类似Jetbrains 全家桶 ArkTS开发语言 :(基于TS,集成了前端语言…...
索引失效有效的11种情况
1全职匹配我最爱 是指 where 条件里 都是 ,不是范围(比如>,<),不是 不等于,不是 is not null,然后 这几个字段 建立了联合索引 ,而且符合最左原则。 那么就要比 只建…...
字符数组基础知识及题目
死识。。。 字符该如何存储呢?这一点我们在以前就接触过了。用char来存储。 如何输入一个单词呢? char a[10002]; scanf("%s",a); 就不用地址符了。 如何输入句子呢? char a[100002]; gets(a); gets是读入句子的,…...
一个简单的玩具机器人代码
编写一个玩具机器人脚本通常取决于机器人的硬件、接口和具体功能。然而,由于我们不能直接控制一个真实的硬件机器人,所以只是写一个模拟的C语言脚本示例,该脚本描述了一个简单的玩具机器人可能执行的一些基本操作。 假设我们的“玩具机器人”…...
设计模式-装饰器模式Decorator(结构型)
装饰器模式(Decorator) 装饰器模式是一种结构模式,通过装饰器模式可以在不改变原有类结构的情况下向一个新对象添加新功能,是现有类的包装。 图解 角色 抽象组件:定义组件的抽象方法具体组件:实现组件的抽象方法抽象装饰器&…...
RK3588开发板中使用Qt对zip文件进行解压
操作步骤: 下载源码quazip-0.7.3.zip ,在网上找找下载地址上传源码进行解压,然后使用命令 cd quazip-0.7.3 qmake make主要用的是quazip-0.7.3/quazip这个里面的源码,然后把源码加入到自己创建的qt项目pro中,导入方式…...
三、网络服务协议
目录 一、FTP:文件传输协议 二、Telnet:远程登录协议 三、AAA认证 四、DHCP 五、DNS 六、PPP协议 七、ISIS协议 一、FTP:文件传输协议 C/S架构,现多用于企业内部的资料共享和网络设备的文件传输,企业内部搭建一…...
C++初学者指南第一步---1. C++开发环境设置
C初学者指南第一步—1. C开发环境设置 目录 C初学者指南第一步---1. C开发环境设置1.1 工具1.1.1 代码编辑器和IDE1.1.2 Windows1.1.3 命令行界面 1.2 编译器1.2.1 gcc/g (支持Linux/Windows/MacOSX)1.2.2 clang/clang (支持Linux/Windows/MacOS)1.2.3 Microsoft Visual Studio…...
二维数组与指针【C语言】
二维数组与指针 一维数组一维数组与指针二维数组二维数组与指针总结补充判断以下方式是否正确打印二维数组一维数组 int arr[] = {11, 22, 33, 44};arr:首地址(第一个元素的地址) 一维数组与指针 int arr[] = {11, 22, 33, 44};因为,arr表示的是首地址,等价于 int* p =…...
解决linux下安装apex库报错:ModuleNotFoundError: No module named ‘packaging‘
使用如下命令安装apex: git clone https://github.com/NVIDIA/apex cd apex pip install -v --disable-pip-version-check --no-cache-dir --global-option"--cpp_ext" --global-option"--cuda_ext" ./ 报错: Running command py…...
React基础教程(07):条件渲染
1 条件渲染 使用条件渲染,结合TodoList案例,进行完善,实现以下功能: 当列表中的数据为空的时候,现实提示信息暂无待办事项当列表中存在数据的时候,提示信息消失 这里介绍三种实现方式。 注意这里的Empty是…...
回归预测 | Matlab实现NGO-HKELM北方苍鹰算法优化混合核极限学习机多变量回归预测
回归预测 | Matlab实现NGO-HKELM北方苍鹰算法优化混合核极限学习机多变量回归预测 目录 回归预测 | Matlab实现NGO-HKELM北方苍鹰算法优化混合核极限学习机多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现NGO-HKELM北方苍鹰算法优化混合核极限…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...
STM32标准库-ADC数模转换器
文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...
