Docker 实战 -- Nextcloud

文章目录

    • 前言
    • 1. 创建 `docker-compose.yml`
    • 2. 启动 Nextcloud
    • 3. 访问 Nextcloud
    • 4. 配置优化(可选)
      • 使用 PostgreSQL
      • 使用 redis
      • 添加 Cron 后台任务
    • 5. 常用命令
    • 6. 反向代理(Nginx/Apache)

前言

当你迷茫的时候,请点击 Docker 实战目录 快速查看前面的技术文章,相信你总能找到前行的方向

本文用使用 Docker Compose 快速搭建 Nextcloud, 搭建个人网盘


1. 创建 docker-compose.yml

version: '3.0'services:nextcloud:image: nextcloud:latestcontainer_name: nextcloudrestart: unless-stoppedports:- "6780:80"  # 映射到宿主机的 6780 端口(避免与现有 80 端口冲突)volumes:- ./apps:/var/www/html/custom_apps  # 自定义应用- ./config:/var/www/html/config  # 配置文件- ./data:/var/www/html/data  # 文件存储environment:- NEXTCLOUD_ADMIN_USER=admin  # 初始管理员用户名- NEXTCLOUD_ADMIN_PASSWORD=12345678  # 初始管理员密码depends_on:- db- redisnetworks:- nextcloud_networkdb:image: mysql:8.2.0container_name: nextcloud_dbrestart: unless-stoppedvolumes:- ./db:/var/lib/mysql  # 数据库持久化environment:- MYSQL_ROOT_PASSWORD=aa12345678- MYSQL_PASSWORD=aa12345678- MYSQL_DATABASE=nextcloud- MYSQL_USER=nextcloudnetworks:- nextcloud_networkredis:image: redis:latestcontainer_name: nextcloud_redisrestart: unless-stoppednetworks:- nextcloud_networknetworks:nextcloud_network:driver: bridge

2. 启动 Nextcloud

docker-compose up -d  # 后台启动

3. 访问 Nextcloud

  • 浏览器访问:http://localhost:6780
  • 初始登录:
    • 用户名:admin
    • 密码:12345678(在 docker-compose.yml 中设置)

初始会有在页面上提示在数据库创建管理员账号, 数据库主机填docker 中的服务名, 在这里是 db, 也可以用外置数据库,只要nextcloud能访问到
在这里插入图片描述

之后就可以愉快地使用你的私有网盘了
在这里插入图片描述

4. 配置优化(可选)

使用 PostgreSQL

修改 db 服务部分:

db:image: postgres:14container_name: nextcloud_dbrestart: unless-stoppedvolumes:- ./db:/var/lib/postgresql/dataenvironment:- POSTGRES_PASSWORD=dbpassword- POSTGRES_USER=nextcloud- POSTGRES_DB=nextcloud

使用 redis

config/config.php 中添加:

'memcache.local' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => ['host' => 'redis','port' => 6379,
],

添加 Cron 后台任务

nextcloud 服务中添加:

nextcloud:# ... 其他配置 ...environment:- NEXTCLOUD_CRONJOB_ENABLED=true  # 启用 cron

5. 常用命令

命令说明
docker-compose logs -f查看日志
docker-compose down停止并删除容器
docker-compose pull更新镜像

6. 反向代理(Nginx/Apache)

如果需要通过域名访问(如 https://cloud.yourdomain.com),可添加 Nginx 反向代理:

server {listen 80;server_name cloud.yourdomain.com;return 301 https://$server_name$request_uri;
}server {listen 443 ssl;server_name cloud.yourdomain.com;ssl_certificate /path/to/ssl.crt;ssl_certificate_key /path/to/ssl.key;location / {proxy_pass http://localhost:6780;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}
}

通过以上步骤,你可以快速搭建一个高可用、可扩展的 Nextcloud 私有云! 🌟

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

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

相关文章

【计算机网络 | 第2篇】计算机网络概述(下)

文章目录七.因特网服务提供商🥝八.接入网🥝主流的家庭宽带接入方式介入网工作原理🧐DSL技术:铜线上的“三通道”通信DSL的速率标准呈现出显著的"不对称"特征🤔电缆互联网接入技术🍋‍&#x1f7e…

SpringMVC 6+源码分析(四)DispatcherServlet实例化流程 3--(HandlerAdapter初始化)

一、概述 HandlerAdapter 是 Spring MVC 框架中的一个核心组件,它在 DispatcherServlet 和处理程序(handler)之间扮演适配器的角色。DispatcherServlet 接收到 HTTP 请求后,需要调用对应的 handler 来处理请求(如控制器…

【lucene】FastVectorHighlighter案例

下面给出一套可直接拷贝运行的 Lucene 8.5.0 FastVectorHighlighter 完整示例(JDK 8),演示从建索引、查询到高亮的全过程。 > 关键点:字段必须 1. 存储原始内容(setStored(true)) 2. 开启 TermVecto…

C++返回值优化(RVO):高效返回对象的艺术

在C开发中,按值返回对象的场景十分常见(如运算符重载、工厂函数等),但开发者常因担忧“构造/析构的性能开销”而陷入纠结:该不该返回对象?如何避免额外成本?本文将剖析痛点、拆解错误思路&#…

用 PyTorch 实现一个简单的神经网络:从数据到预测

PyTorch 是目前最流行的深度学习框架之一,以其灵活性和易用性受到开发者的喜爱。本文将带你从零开始,用 PyTorch 实现一个简单的神经网络,用于解决经典的 MNIST 手写数字分类问题。我们将涵盖数据准备、模型构建、训练和预测的完整流程&#…

四级页表通俗讲解与实践(以 64 位 ARM Cortex-A 为例)

📖 🎥 B 站博文精讲视频:点击链接,配合视频深度学习 四级页表通俗讲解与实践(以 64 位 ARM Cortex-A 为例) 本文面向希望彻底理解现代 64 位架构下四级页表的开发者,结合 ARM Cortex-A 系列处理…

AI模型整合包上线!一键部署ComfyUI,2.19TB模型全解析

最近体验了AIStarter平台上线的AI模型整合包,包含2.19TB ComfyUI大模型,整合市面主流模型,一键部署ComfyUI,省去重复下载烦恼!以下是使用心得和部署步骤,适合AI开发者参考。工具亮点这款AI模型整合包由熊哥…

灰色优选模型及算法MATLAB代码

电子装备试验方案优选是一个典型的多属性决策问题,通常涉及指标复杂、信息不完整、数据量少且存在不确定性的特点。灰色系统理论(Grey System Theory)特别擅长处理“小样本、贫信息”的不确定性问题,因此非常适合用于此类方案的优…

AI框架工具FastRTC快速上手6——视频流案例之物体检测(下)

一 前言 上一篇,我们实现了用YOLO对图片上的物体进行检测,并在图片上框出具体的对象并打出标签。但只是应用在单张图片,且还没用上FastRTC。 本篇,我们希望结合FastRTC的能力,实现基于YOLO的实时视频流的物体检测。 本篇文字将不会太多。学习完本篇,对比前面的文章,你…

PHP常见中高面试题汇总

一、 PHP部分 1、PHP如何实现静态化 PHP的静态化分为:纯静态和伪静态。其中纯静态又分为:局部纯静态和全部纯静态。 PHP伪静态:利用Apache mod_rewrite实现URL重写的方法; PHP纯静态,就是生成HTML文件的方式&#xff0…

基于Java AI(人工智能)生成末日题材的实践

Java AI 生成《全球末日》文章的实例 使用Java结合AI技术生成《全球末日》题材的文章可以通过多种方式实现,包括调用预训练模型、使用自然语言处理库或结合生成式AI框架。以下是30个实例的生成方法和示例代码片段。 调用预训练模型(如GPT-3或GPT-4) 使用OpenAI API生成末日…

针对软件定义车载网络的动态服务导向机制

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

Pytorch实现婴儿哭声检测和识别

Pytorch实现婴儿哭声检测和识别 目录 Pytorch实现婴儿哭声检测识别 1. 项目说明 2. 数据说明 (1)婴儿哭声语音数据集 (2)自定义数据集 3. 模型训练 (1)项目安装 (2)准备Tra…

海信IP810N/海信IP811N_海思MV320-安卓9.0主板-TTL烧录包-可救砖

海信IP810N/海信IP811N_海思MV320处理器-安卓9主板-TTL烧录包-可救砖准备工作:TTL线自备跑码工具【putty跑码中文版】路径:【工具大全】-【putty跑码中文版】测试跑码以后将跑码窗口关闭;然后到下方下载烧录工具并大致看下教程烧录…

Go 中的 interface{} 与 Java 中的 Object:相似之处与本质差异

在软件系统开发中,“通用类型”的处理是各语言设计中不可忽视的一部分。Java 使用 Object,Go 使用 interface{},它们都可以容纳任意类型的值,是实现动态行为或通用容器的基础类型。然而,虽然两者在使用层面看似相似&am…

Docker-07.Docker基础-数据卷挂载

一.案例首先我们通过一则案例来引出问题。我们要修改nginx容器内的html目录下的index.html文件,并且要将静态资源部署到nginx的html目录,就要首先知道该html目录的所在位置。我们首先查看nginx镜像的帮助文档,这里就是将有关静态资源目录的&a…

数据结构(三)双向链表

一、什么是 make 工具?make 是一个自动化构建工具,主要用于管理 C/C 项目的编译和链接过程。它通过读取 Makefile 文件中定义的规则,自动判断哪些文件被修改,并仅重新编译这些部分,从而大幅提高构建效率。二、什么是 M…

如何在没有iCloud的情况下将联系人转移到新iPhone?

升级到新 iPhone 后,设置已完成,想在不使用 iCloud 的情况下将联系人从 iPhone 转移到 iPhone 吗?别担心。还有其他 5 种方法可以帮助您轻松地将联系人转移到新 iPhone。这样,您就无需再次重置新设备了。第 1 部分:如何…

SpringBoot3.x入门到精通系列:4.2 整合 Kafka 详解

SpringBoot 3.x 整合 Kafka 详解 🎯 Kafka简介 Apache Kafka是一个分布式流处理平台,主要用于构建实时数据管道和流应用程序。它具有高吞吐量、低延迟、可扩展性和容错性等特点。 核心概念 Producer: 生产者,发送消息到Kafka集群Consumer: 消…

Android audio之 AudioDeviceInventory

1. 类介绍 AudioDeviceInventory 是 Android 音频系统中的一个核心类,位于 frameworks/base/services/core/java/com/android/server/audio/ 路径下。它负责 管理所有音频设备的连接状态,包括设备的添加、移除、状态更新以及策略应用。 设备连接状态管理:记录所有已连接的音…