Ubuntu 24.04 LTS 通过 docker 安装 nextcloud 搭建个人网盘

devtools/2025/1/22 10:31:26/

准备

  • Ubuntu 24.04 LTS
  • Ubuntu 空闲硬盘挂载
  • Ubuntu 安装 Docker Desktop
  • Ubuntu 24.04 LTS 安装 tailscale

[我的Ubuntu服务器折腾集](https://blog.csdn.net/jh1513/article/details/145222679。

nextcloud_8">安装 nextcloud

参考 Ubuntu24.04系统Docker安装Nextcloud+Onlyoffice _。

  • 更新系统包
sudo apt update
sudo apt upgrade -y
  • Ubuntu 安装 Docker
    如果还没有安装 Docker 和 Docker Compose,可以按照以下命令安装:

安装 Docker:

sudo apt install -y docker.io

启动并启用 Docker:

sudo systemctl enable --now docker

安装 Docker Compose:

sudo apt install -y docker-compose
  • 拉取 Nextcloud 镜像
sudo docker pull nextcloud
  • 创建 Docker Compose 配置文件

我把nextcloud安装在ubuntu外置硬盘,其挂载在 /media/mydisk 目录,参考Ubuntu 24.04 LTS 空闲硬盘挂载。在 /media/mydisk 下创建一个文件夹 nextcloud,来来存放 Docker Compose。在 nextcloud 文件夹下载创建 db_data 和 nextcloud_data 两个文件夹.

mkdir -p /media/mydisk/nextcloud
cd /media/mydisk/nextcloud
mkdir db_data
mkdir nextcloud_data

然后创建 docker-compose.yml 文件:

vim docker-compose.yml

然后粘贴进去下面配置文件。注意参考博文Ubuntu24.04系统Docker安装Nextcloud+Onlyoffice _中间配置文件第一句 version: '3.8',我给删除了,不然后面运行会给警报消息 WARN[0000] /media/mydisk/nextcloud/docker-compose.yml: the attribute version is obsolete, it will be ignored, please remov

services:# 数据库服务db:image: mysql:latest                       # 使用最新版本的 MySQL 镜像container_name: nextcloud_mysql           # 自定义容器名称restart: always                           # 容器异常退出时自动重启environment:MYSQL_ROOT_PASSWORD: your_root_password # 定义 MySQL 的 root 用户密码MYSQL_PASSWORD: your_password           # 定义 Nextcloud 用户的密码MYSQL_DATABASE: nextcloud               # 创建数据库,名为 nextcloudMYSQL_USER: nextcloud                   # 定义 MySQL 用户名TZ: Asia/Shanghai                       # 设置时区为上海volumes:- /media/mydisk/nextcloud/db_data:/var/lib/mysql  # 将 MySQL 数据存储在主机的指定目录,实现持久化存储networks:- nextcloud_network                     # 连接到指定的网络# Nextcloud 应用服务app:image: nextcloud:latest                   # 使用最新版本的 Nextcloud 镜像container_name: nextcloud                 # 自定义容器名称restart: always                           # 容器异常退出时自动重启depends_on:- db                                     # 确保 db 服务先启动environment:MYSQL_DATABASE: nextcloud               # 使用与数据库服务相同的数据库名称MYSQL_USER: nextcloud                   # 使用与数据库服务相同的用户名MYSQL_PASSWORD: your_password           # 使用与数据库服务相同的密码MYSQL_HOST: db                          # 数据库主机名为 db(即 db 服务)TZ: Asia/Shanghai                       # 设置时区为上海volumes:- /media/mydisk/nextcloud/nextcloud_data:/var/www/html  # 将 Nextcloud 数据存储在主机的指定目录,实现持久化存储ports:- "8080:80"                             # 将容器的 80 端口映射到主机的 8080 端口networks:- nextcloud_network                     # 连接到指定的网络# OnlyOffice 文档服务onlyoffice:image: onlyoffice/documentserver:7.1.0     # 使用指定版本的 OnlyOffice 镜像container_name: nextcloud_onlyoffice       # 自定义容器名称restart: always                           # 容器异常退出时自动重启environment:JWT_ENABLED: 'false'                    # 关闭 JWT(无需密钥)JWT_SECRET:                             # 不设置 JWT 密钥TZ: Asia/Shanghai                       # 设置时区为上海ports:- "8081:80"                             # 将容器的 80 端口映射到主机的 8081 端口networks:- nextcloud_network                     # 连接到指定的网络# 网络定义
networks:nextcloud_network:                          # 定义一个名为 nextcloud_network 的网络# 卷定义,用于持久化存储数据
volumes:mysql_data:                                 # 定义 MySQL 数据的卷nextcloud_data:                             # 定义 Nextcloud 数据的卷
  • 启动 Nextcloud 和 MariaDB 服务
sudo docker compose up -d
  • 然后查看运行中的容器
docker ps -a
  • 打开浏览器通过 本地IP访问,192.168.x.xx:8080,并设置好用户名和密码。
    在这里插入图片描述

配置 Tailscale 访问

  • Ubuntu 24.04 安装 tailscale

  • Ubuntu 安装 Tailscale 后,通过Tailscale IP访问会提示不被信任的域名访问。

在这里插入图片描述

  • 修改 trusted_domains
'trusted_domains' =>array (0 => '本地192.168.XXX.XXX',1 => '100.XXX.XXX.XXX',  // 添加你的 Tailscale IP 地址2 => 'Tailscale domain',  // 添加Tailscale 域名),

在这里插入图片描述

至此,可以通过 本地 IP,Tailscale IP,Tailscale 域名访问 nextcloud

配置预览苹果HEIC图片

参考

  • Can’t preview HEIC images
  • Image Previews only working for HEIC photos

config.php 在哪

下面代码查找 config.php 文件

find /media/mydisk/nextcloud/nextcloud_data -name config.php

新增预览代码

        'enabled_previews' => true,'enabledPreviewProviders' => array (0 => 'OC\\Preview\\BMP',1 => 'OC\\Preview\\GIF',2 => 'OC\\Preview\\JPEG',3 => 'OC\\Preview\\MarkDown',4 => 'OC\\Preview\\MP3',5 => 'OC\\Preview\\PNG',6 => 'OC\\Preview\\TXT',7 => 'OC\\Preview\\XBitmap',8 => 'OC\\Preview\\OpenDocument',9 => 'OC\\Preview\\Krita',10 => 'OC\\Preview\\WebP',11 => 'OC\\Preview\\HEIC',),

在这里插入图片描述
重启ubuntu

sudo reboot

效果
在这里插入图片描述


http://www.ppmy.cn/devtools/152567.html

相关文章

docker运行长期处于activating (start)

当systemctl start docker启动docker卡住长时间无响应,使用systemctl status docker查看docker运行状态发现activating (start) since 二 1998-01-06 00:43:48 CST; 38min ago,这个状态表示启动中,还未启动完成active (running),可以尝试以下操作&#x…

Learning Prompt

说明:这是我的学习笔记,很多内容转自网络,请查阅文章末尾的参考资料。 目录 基本要求(C.R.E.A.T.E)总结文章(Summarise)改写文章(Rewrite)根据参考资料回答问题(Question & Answer)参考资料 基本要求(C.R.E.A.T.E) Character This is th…

ubuntu22.04编译多个版本OpenCV

按照本文方法可以实现ubuntu22.04上面同时存在OpenCV4.5.5和OpenCV4.9.0。方法其实是按照正常的流程就可以,参照这个:ubuntu18.04openc4.5.5contrib 4.5.5编译_ubuntu18 anzhuang opencv4.5.5-CSDN博客 需要修改的地方是在第6步“保存path,方…

Java实战:Spring Boot application.yml配置文件详解

本文将详细介绍Spring Boot application.yml 配置文件的使用和配置项。我们将探讨 application.yml 文件的基本概念,以及如何使用它来配置Spring Boot应用程序的各个方面。此外,我们将通过具体的示例来展示如何配置不同的Spring Boot组件,如数…

【k8s】k8s部署Argo CD

1、创建 Argo CD 命名空间: 先创建一个专用的命名空间 argocd 用于部署 Argo CD。 kubectl create namespace argocd 2、安装 Argo CD: 使用 kubectl 从 Argo CD 官方 GitHub 仓库安装它。运行以下命令来安装所有的 Argo CD 组件: kubectl a…

如何在 Pytest 中使用命令行界面和标记运行测试

关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 在前文你已经初步尝试编写了代码和单元测试,并且想要确保它能正常运行。…

在现有 Docker Desktop 环境下安装与配置独立 Kubernetes环境

在现有 Docker Desktop 环境下安装与配置独立 Kubernetes 集群环境 目标 在已安装Docker Desktop自带Kubernetes的情况下,搭建一个独立 Kubernetes 集群环境。配置独立的 kubectl 工具,使其默认管理独立的 Kubernetes 集群。保留 Docker Desktop 的 Ku…

常见的备份服务器操作系统如何选择

针对不同的需求,常见的备份服务器操作系统有多个选择。以下是几种主流操作系统及其在备份管理和数据恢复中的优势与劣势。 Linux操作系统 Linux是一个广泛用于备份服务器的操作系统,因其高稳定性、强大的性能和开源特性而受到青睐。特别是一些基于Linux的…