基于OrangePi AIpro + owncloud 5分钟搭建一个私有网盘

news2024/10/7 2:30:06

OrangePi AIpro自带镜像系统已预装了docker,这里我们直接基于docker安装owncloud。

准备

  • 切换用户: HwHiAiUser 默认密码:Mind@123
su HwHiAiUser
  •  创建文件夹
sudo mkdir /home/SummerGao/owncloud-docker-server
  • 切换至刚创建的文件夹下
cd /home/SummerGao/owncloud-docker-server
  • docker 添加国内镜像源

  1. 修改 daemon.json
sudo vim /etc/docker/daemon.json

     2. 添加:

"https://ox288s4f.mirror.aliyuncs.com",
"http://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com"

     3. 修改完如下:

 

     4. 重启docker 

sudo systemctl daemon-reload
sudo systemctl restart docker

 

安装

1. 创建:docker-compose.yml

sudo vim docker-compose.yml

2. 编辑内容如下:

version: "3"

volumes:
  files:
    driver: local
  mysql:
    driver: local
  redis:
    driver: local

services:
  owncloud:
    image: owncloud/server:${OWNCLOUD_VERSION}
    container_name: owncloud_server
    restart: always
    ports:
      - ${HTTP_PORT}:8080
    depends_on:
      - mariadb
      - redis
    environment:
      - OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
      - OWNCLOUD_TRUSTED_DOMAINS=${OWNCLOUD_TRUSTED_DOMAINS}
      - OWNCLOUD_DB_TYPE=mysql
      - OWNCLOUD_DB_NAME=owncloud
      - OWNCLOUD_DB_USERNAME=owncloud
      - OWNCLOUD_DB_PASSWORD=owncloud
      - OWNCLOUD_DB_HOST=mariadb
      - OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME}
      - OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD}
      - OWNCLOUD_MYSQL_UTF8MB4=true
      - OWNCLOUD_REDIS_ENABLED=true
      - OWNCLOUD_REDIS_HOST=redis
    healthcheck:
      test: ["CMD", "/usr/bin/healthcheck"]
      interval: 30s
      timeout: 10s
      retries: 5
    volumes:
      - files:/mnt/data

  mariadb:
    image: mariadb:10.11 # minimum required ownCloud version is 10.9
    container_name: owncloud_mariadb
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=owncloud
      - MYSQL_USER=owncloud
      - MYSQL_PASSWORD=owncloud
      - MYSQL_DATABASE=owncloud
      - MARIADB_AUTO_UPGRADE=1
    command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"]
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"]
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - mysql:/var/lib/mysql

  redis:
    image: redis:6
    container_name: owncloud_redis
    restart: always
    command: ["--databases", "1"]
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - redis:/data

  配置:

  • 公开端口 8080,允许 HTTP 连接。
  • 使用单独的 MariaDB 和 Redis 容器。
  • 将数据和 MySQL 数据目录挂载到主机上以进行持久存储。

3. 创建一个 .env 配置文件,其中包含所需的配置设置。

sudo cat << EOF > .env
OWNCLOUD_VERSION=10.14
OWNCLOUD_DOMAIN=localhost:8080
OWNCLOUD_TRUSTED_DOMAINS=localhost
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin
HTTP_PORT=8080
EOF

只需要调整一些设置,这些是:

Setting NameDescriptionExample

OWNCLOUD_VERSION

The ownCloud version

latest

OWNCLOUD_DOMAIN

The ownCloud domain

localhost:8080

OWNCLOUD_TRUSTED_DOMAINS

The ownCloud trusted domains

localhost

ADMIN_USERNAME

The admin username

admin

ADMIN_PASSWORD

The admin user’s password

admin

HTTP_PORT

The HTTP port to bind to

8080

 以上配置,假设您是在本地安装。对于远程访问,需要更新 OWNCLOUD_DOMAIN 和 OWNCLOUD_TRUSTED_DOMAINS 的值添加可访问服务器的主机名或 IP 地址。 

4. 构建并启动容器

sudo docker compose up -d

5. 检查所有容器是否已成功启动

sudo docker compose ps

通过运行 docker compose ps 检查所有容器是否已成功启动。如果它们都正常工作,您应该会看到类似于以下内容的输出:

NameCommandStatePorts

owncloud_mariadb

docker-entrypoint.sh --max …​

Up (healthy)

3306/tcp

owncloud_redis

docker-entrypoint.sh --dat …​

Up (healthy)

6379/tcp

owncloud_server

/usr/bin/entrypoint /usr/b …​

Up (healthy)

0.0.0.0:8080→8080/tcp

在其中,您可以看到数据库、ownCloud 和 Redis 容器正在运行,并且可以通过主机上的端口 8080 访问 ownCloud。 

尽管容器已启动并正在运行,但 ownCloud 可能仍需要几分钟才能完全运行。 检查日志输出:

sudo docker compose logs --follow owncloud

等到输出显示正在启动 apache daemon...​,然后再访问 Web UI。

重要说明:

所有重要数据在以下情况后仍然存在:

sudo docker compose down
sudo docker compose up -d

有些细节会丢失,例如默认应用程序在卸载后可能会重新出现。

6. 访问 Web UI

要登录 ownCloud UI,请在您选择的浏览器中打开 http://localhost:8080,您将在其中看到标准 ownCloud 登录屏幕,如下图所示。

用户名和密码是您之前存储在 .env 中的凭据。请注意,即使您更改 .env 中的值,这些值也不会在部署期间发生更改。

7. 停止容器

sudo docker compose stop

要停止并删除容器以及相关网络、镜像和卷:

sudo docker compose down --rmi all --volumes

参考

Installing with Docker :: Documentation for ownCloud (A Kiteworks Company)

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

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

相关文章

使用 Compose Multiplatform Media Player 实现跨平台媒体播放

使用 Compose Multiplatform Media Player 实现跨平台媒体播放 在跨平台开发中,媒体播放功能是一个常见且重要的需求。Compose Multiplatform Media Player 是一个专为 Compose Multiplatform 项目设计的强大媒体播放器库,它可以在 iOS 和 Android 平台上无缝实现视频播放、…

Prism 目录方式加载插件,提示`xxx.resources.dll`找不到

问题场景 前置条件 使用Prism 实现的目录配置方式加载插件&#xff1b; 有两个模块插件&#xff1a;ModuleA 以及 MouduleB。 问题现象 独立项目作为插件被加载时&#xff0c;加载指定模块中的用户控件&#xff0c;程序能正常运行&#xff0c;点击模块进行加载。 但输出窗…

cartographer从入门到精通(一):cartographer介绍

一、cartographer重要文档 有关cartographer的资料有2个比较重要的网站&#xff0c;我们的介绍也是基于这两个网站&#xff0c;其中会加入自己的一些理解&#xff0c;后续也有一些对代码的修改&#xff0c;来实现我们想完善的功能。 1-Cartographer 2-Cartographer ROS 第1个…

Python 面试【★★★★★】

欢迎莅临我的博客 &#x1f49d;&#x1f49d;&#x1f49d;&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

STM32第九课:DHT11温湿度传感器

文章目录 需求一、DHT11温湿度传感器二、模块配置流程1.配置时钟和IO2.读取数据3.数据处理 三、导入语音模块四、关键代码总结 需求 1.完成DHT11温湿度检测模块的配置。 2.处理DHT11获取的数据&#xff0c;在串口打印处理后的实时数据。 2.通过Su-03t语音识别模块实现实时温湿…

WLAN 4-Way Handshake如何生成GTK?

关于Wi-Fi的加密认证过程&#xff0c;可以参考如下链接&#xff0c;今天我们来理解如何生成GTK。 WLAN数据加密机制_tls加密wifi-CSDN博客 1 GTK GTK&#xff08;Group Temporal Key&#xff09;是由AP通过GMK生成&#xff0c;长度为128位&#xff0c;并在四次握手的第三步中…

哈尔滨高校大学智能制造实验室数字孪生可视化系统平台项目的验收

哈尔滨高校大学智能制造实验室数字孪生可视化系统平台项目的验收&#xff0c;标志着这一技术在教育领域的应用取得了新的突破。项目旨在开发一个数字孪生可视化系统平台&#xff0c;用于哈尔滨高校大学智能制造实验室的设备模拟、监测与数据分析。项目的主要目标包括&#xff1…

数据结构_线性表

线性表的定义和特点 线性表是具有相同特性的数据元素的一个有限序列 :线性起点/起始节点 :的直接前驱 :的直接后继 :线性终点/终端节点 n:元素总个数,表长 下标:是元素的序号,表示元素在表中的位置 n0时称为空表 线性表 由n(n>0)个数据元素(结点),组成的有限序列 将…

Quantlab5.0:一切围绕可实盘策略驱动开发

原创文章第573篇&#xff0c;专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 2024年上半年即将结束&#xff0c;开始准备星球下半年的工作。 目前设想的——Quantlab5.0&#xff0c;之所以升级一个大版本&#xff0c;与4.x有很大不同。 5.0专注策略开发&…

负载均衡器有什么用?

负载均衡器有什么用&#xff1f; 负载均衡器是一种在多个服务器之间分配网络或应用程序流量的设备或软件应用程序。其主要目的是确保没有一台服务器承担过多的需求&#xff0c;从而提高应用程序的响应速度和可用性。 在计算机发展的早期&#xff0c;负载均衡是一个手动过程。…

【Sublime】Sublime Text 中运行终端

Sublime Text 本身并不是一个终端仿真器&#xff0c;可以使用插件来在 Sublime Text 中集成终端功能。最常用的插件之一是“Terminal”。 使用“Terminal”插件在 Sublime Text 中启动终端 以下是安装和使用该插件的步骤&#xff1a; 安装 Package Control&#xff1a; 如果你…

【自动驾驶汽车通讯协议】深入理解PCI Express(PCIe)技术

文章目录 0. 前言1. PCIe简介1.1 PCIe外观1.2 PCIe的技术迭代 2. PCIe的通道&#xff08;lane&#xff09;配置2.1 通道配置详解2.2 通道配置的影响 3. PCIe的架构3.1 架构层次3.2 核心组件 4. PCIe的特性5. PCIe在自动驾驶中的应用 0. 前言 按照国际惯例&#xff0c;首先声明&…

mybatis框架介绍 , 环境的搭建和代码实现

1.mybatis框架介绍 mybatis框架介绍 mybatis是Apache软件基金会下的一个开源项目&#xff0c;前身是iBatis框架。2010年这个项目由apache 软件基金会迁移到google code下&#xff0c;改名为mybatis。2013年11月又迁移到了github(GitHub 是一个面向开源及私有 软件项目的托管平…

40V 60V 80V 100V 400V高压LDO三端稳压器选择,技术参数

40V 60V 80V 100V 400V高压LDO三端稳压器选择,技术参数

基于yolo的物体识别坐标转换

一、模型简介: 1.1、小孔成像模型简图如下:不考虑实际相机中存在的场曲、畸变等问题 相对关系为: 为了表述与研究的方便,我们将像面至于小孔之前,且到小孔的距离仍然是焦距f,这样的模型与原来的小孔模型是等价的 相对关系为: 二、坐标系简介: **世界坐标系(world coo…

Qt中用QLabel创建状态灯

首先ui设计中分别创建了4个大灯和4个小灯。 编辑.h文件 #ifndef LED_H #define LED_H#include <QWidget> #include <QLabel>QT_BEGIN_NAMESPACE namespace Ui { class Led; } QT_END_NAMESPACEclass Led : public QWidget {Q_OBJECTpublic:Led(QWidget *parent n…

今天天气正好,开锐界L去追风

早就想开着它来个惬意的自驾游&#xff0c;结果因为工作原因一直在忙东忙西&#xff0c;锐界L这车都是上下班代步使用&#xff0c;今天终于空闲下来了&#xff0c;带着它来郊区转一圈&#xff0c;顺便交一篇极其不正式的游记吧&#xff0c;写的不好。 本来打算去的远一点&…

Nvidia Jetson/RK3588+AI双目立体相机,适合各种割草机器人、扫地机器人、AGV等应用

双目立体视觉是基于视差原理&#xff0c;依据成像设备从不同位置获取的被测物体的图像&#xff0c;匹配对应点的位置偏移&#xff0c;得到视差数据&#xff0c;进而计算物体的空间三维信息。为您带来高图像质量的双目立体相机&#xff0c;具有高分辨率、低功耗、远距离等优点&a…

一文掌握 Object 类里的所有方法(wait、notify、finalize)

Object 概述 Object 类是 Java 中所有类的父类&#xff0c;这个类中包含了若干方法&#xff0c;这也就意味着所有类都将继承这些方法。因此&#xff0c;掌握这个类的方法是非常必要的&#xff0c;毕竟所有类都能为你提供这些方法。 Object 类位于 java.base 模块下 java.lang…

python系列30:各种爬虫技术总结

1. 使用requests获取网页内容 以巴鲁夫产品为例&#xff0c;可以用get请求获取内容&#xff1a; https://www.balluff.com.cn/zh-cn/products/BES02YF 对应的网页为&#xff1a; 使用简单方法进行解析即可 import requests r BES02YF res requests.get("https://www.…