当前位置: 首页 > news >正文

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.lryc.cn/news/607371.html

相关文章:

  • 【05】VM二次开发——模块参数配置--带渲染/不带渲染(WinForm界面调用 模块参数配置)
  • Java 日期时间处理:分类、用途与性能分析
  • 前端学习日记(十七)
  • Ant 构建java项目
  • FastDDS (SharedMemory)
  • webpack面试题及详细答案80题(41-60)
  • C++ 前缀和、双指针
  • Node.js中Buffer的用法
  • 嵌入式第十七课!!!!位运算!!!
  • 考取锅炉司炉工证需要学习哪些专业知识?
  • Linux 用户与组管理:从配置文件到实操命令全解析
  • golang的函数
  • YOLO V11 + BotSort行人追踪定位项目
  • 风光储并离网切换仿真模型(下垂控制一次调频)
  • 详解K8s集群搭建:从环境准备到成功运行
  • 【问题思考总结】CART树如何剪枝?从CART树的生成到剪枝以及为什么CTt一定小于Ct?【图文】
  • 在多租户或多服务共享 Redis 时,如何做逻辑隔离或权限控制?
  • 【数据结构】-----排序的艺术画卷
  • ESD监控系统确保工厂生产设备的静电安全
  • 浏览器【详解】内置Observer(共五种,用于前端监控、图片懒加载、无限滚动、响应式布局、生成安全报告等)
  • cesium FBO(四)自定义相机渲染到Canvas(离屏渲染)
  • 开源工具FossFLOW,绘制技术图表
  • 嵌入式GPU图像渲染工具全景实用指南(i.MX8MP平台)
  • Python深度解析与爬虫进阶:从理论到企业级实践
  • ubuntu 镜像克隆
  • Git 实现原理剖析
  • 【编号394】阿姆河流域土地利用分布数据(1990-2015)
  • 智能问数系统的调研
  • 【工具分享】模拟接口请求响应的Chrome插件ModResponse
  • 什么是doris