windows系统,家庭自用NAS。本地局域网 Docker安装nextcloud

本文主要是介绍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分钟执行一次。

  1. 创建批处理脚本
    首先,创建一个批处理脚本文件,例如 run-docker-cron.bat,并在其中添加以下内容:

    @echo off
    docker exec -u www-data nextcloud-app-1 php cron.php
    
  2. 使用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 替换为您的批处理脚本实际所在的路径。

  3. 运行任务(测试):
    您可以手动运行任务来测试它是否按预期工作:

    schtasks /run /tn "MyDockerCronTask"
    
  4. 查看任务
    使用以下命令来查看任务的详细信息:

    schtasks /query /tn "MyDockerCronTask"
    
  5. 修改任务(如果需要):
    如果需要修改任务的触发时间或其他设置,您可以使用 schtasks/change 选项:

    schtasks /change /tn "MyDockerCronTask" /mo 5
    
  6. 删除任务(如果需要):
    如果需要删除任务,可以使用 /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服务中。

image-20240615234840296

1、然后将其他之前存储的东西,直接粘贴复制到。
T:\nextcloud\opt\Nextcloud_docker\app\data\root\files

相应的你要修改自己的地址目录。

T:\nextcloud\opt\Nextcloud_docker\app\data\root\files

这个root就是 root用户。

image-20240615235027497

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

image-20240615235226040

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

image-20240615235306286

谢谢大家,如果有用可以点个赞或者收藏。

有问题,一起交流。

这篇关于windows系统,家庭自用NAS。本地局域网 Docker安装nextcloud的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1066766

相关文章

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成