基于香橙派搭建家庭网盘

ops/2024/9/20 1:27:58/

一、概述

         家庭网盘是一种用于家庭用户的在线存储和文件共享服务。它允许家庭成员在云端存储、同步和分享照片、视频、文档等文件,方便快捷地访问和管理个人和家庭数据。家庭网盘通常提供安全可靠的数据存储和备份功能,保障用户数据的安全性。此外,家庭网盘还常常支持多平台访问,如PC、手机、平板等,让用户可以随时随地轻松获取所需文件。一些家庭网盘服务还提供了共享文件夹功能,方便家庭成员之间共享文件和协作。总之,家庭网盘为家庭用户提供了便捷的数据存储和分享解决方案,提升了家庭生活的数字化体验。

     Kodbox可道云(原芒果云KodExplorer)是一款业内领先的政务/企业私有云和在线文档管理系统。它为个人网站、企业私有云部署和网络存储提供了安全可控、简便易用且可高度定制的解决方案。通过Kodbox,用户可以轻松管理在线文档、实现在线办公等功能,确保数据的安全性和可访问性。其灵活性和定制性使其适用于各种规模和类型的组织,为其提供了高效的文档管理和团队协作的平台。

   结合香橙派优势,将kodbox部署在香橙派上,经济实惠且数据安全。

二、准备工作

1)、香橙派

香橙派一个,4核8G的那个配置。具体链接:http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-AIpro.html

 

2)、移动硬盘

移动硬盘一个,硬盘是家里老存货,外壳是某多多买的,外壳大概20块钱左右。不放心的可以用2块硬盘组一个软raid1。

 

 三、操作系统如下

 

四、存储准备

1)、格式化磁盘

# mkfs.xfs  /dev/sda

新建数据目录,该目录存放数据库文件和网盘文件,条件允许可以使用2块硬盘。

2)、挂载目录

# mount /dev/sda /data

五、安装环境

1、安装docker

# apt install docker.io -y

 

2、检查容器状态

# systemctl  status  docker

 

3、下载docker-compose

# wget https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-aarch64

 

 

4、修改权限

(base) root@orangepiaipro:~# mv  docker-compose-linux-aarch64.1 docker-compose

(base) root@orangepiaipro:~# chmod +x docker-compose

(base) root@orangepiaipro:~# cp -a  docker-compose  /bin

 5、启动容器

 

6、首先创建一个项目目录并进入

# mkdir /kodbox

#  cd /kodbox

 

7设置环境变量

设置环境变量(必须修改等号右边的值,形式如 `MYSQL_USER=kodbox`,注意不要包含&符号),这些在docker启动时会自动传入容器

#  vi .env

#下面是文件内容

MYSQL_ROOT_PASSWORD=[数据库ROOT密码]

MYSQL_DATABASE=[新建数据库名称]

MYSQL_USER=[新建数据库用户名]

MYSQL_PASSWORD=[新建数据库用户密码]

样例如下:

 

 

8新建docker-compose.yml 文件

# vi docker-compose.yml

version: "3.5"

 

services:

  db:

    image: mariadb

    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW

    volumes:

      - "./db:/var/lib/mysql"        #左边 ./db 代表数据库持久化目录位置

    environment:

      - "TZ=Asia/Shanghai"

      - "MYSQL_ROOT_PASSWORD"

      - "MYSQL_DATABASE"

      - "MYSQL_USER"

      - "MYSQL_PASSWORD"

 

  app:

    image: kodcloud/kodbox

    ports:

      - 80:80        #左边 80 是主机访问端口,可按需修改

    links:

      - db

      - redis

    volumes:

      - "./site:/var/www/html"        #左边 ./site 代表kodbox持久化目录位置

    restart: always

 

  redis:

    image: redis:alpine

    environment:

      - "TZ=Asia/Shanghai"

restart: always

样例如下:

 

9、启动容器

进入项目目录,执行docker-compose 启动命令,会自动拉取容器并运行

# docker-compose up -d

#下面是输出内容

Creating network "kodbox_default" with the default driver

Creating kodbox_redis_1 ... done

Creating kodbox_db_1    ... done

Creating kodbox_app_1   ... done

 

10、查看容器状态

列出docker容器,可以看到3个容器正在运行

$ docker ps

#下面是输出内容

(base) root@orangepiaipro:/kodbox# docker ps

CONTAINER ID   IMAGE             COMMAND                  CREATED         STATUS         PORTS                                                  NAMES

1c3fe77d03e1   kodcloud/kodbox   "/entrypoint.sh supe…"   6 minutes ago   Up 6 minutes   443/tcp, 0.0.0.0:80->80/tcp, :::80->80/tcp, 9000/tcp   kodbox-app-1

1a845d307d89   mariadb           "docker-entrypoint.s…"   6 minutes ago   Up 6 minutes   3306/tcp                                               kodbox-db-1

c0bdb32c6fa6   redis:alpine      "docker-entrypoint.s…"   6 minutes ago   Up 6 minutes   6379/tcp                                               kodbox-redis-1 kodbox_redis_1

 

11、如果需要停止服务

$ docker-compose down

#下面是输出内容

Stopping kodbox_app_1   ... done

Stopping kodbox_db_1    ... done

Stopping kodbox_redis_1 ... done

Removing kodbox_app_1   ... done

Removing kodbox_db_1    ... done

Removing kodbox_redis_1 ... done

Removing network kodbox_default

 

#因为数据库和kodbox已经挂载了持久化目录,需要时可以重新启动,不用担心数据丢失

# docker-compose up -d

12、通过页面配置环境

1)、检查环境

 2)、修改配置信息(注意:服务器要写容器名称)

 下一步

 下一步:

 3)、设置admin的用户名及密码

 4)、设置邮箱和存储空间

 

六、网盘使用

1、上传文件

2、用户界面窗口

 

七、参考:

1. OrangePi AIpro资料

外观及散热器安装资料:https://pan.baidu.com/s/1BK3AS5mhrUntJKegU0NMqg?pwd=87ne

官方工具:

https://pan.baidu.com/s/1Jho73pw91r5GJD2KijY45Q?pwd=3xuz

用户手册:

https://pan.baidu.com/s/1clOIklNzsHSigsrZzeWWMA?pwd=va56

原理图:

https://pan.baidu.com/s/15tVnYKyeRQd9Ora38Q9orw?pwd=xe5p

机械图:

https://pan.baidu.com/s/1vp9RHJQa6WOckskJhc2JAw?pwd=ydq5

linux源码:

https://pan.baidu.com/s/16ee2y0N0g79vWXLzWKvC2A?pwd=rth7

香橙派AIpro资料汇总:

https://metaxiaoyu.feishu.cn/docx/CE0bdHxyTocRGFxLoDPcG6I5nJd?from=from_copylink

香橙派AIpro学习资源一站式导航:

https://www.hiascend.com/forum/thread-0285140173361311056-1-1.html

香橙派论坛:

http://forum.orangepi.cn/

昇腾社区:

https://www.hiascend.com/

 

 

 

 

 


http://www.ppmy.cn/ops/44459.html

相关文章

java项目级云MES源码(制造执行系统) springboot + vue-element-plus-admin生产制造业MES系统源码

java项目级云MES源码(制造执行系统) springboot vue-element-plus-admin生产制造业MES系统源码 MES系统通过信息传递对从订单下达到产品完成的整个生产过程进行优化管理。当工厂发生实时事件时,MES制造执行系统功能的发挥重点体现在及时做出反应、报告&…

高效编写大模型 Prompt 提示词,解锁 AI 无限创意潜能

随着 ChatGPT 的出现,AI 成为新的焦点,有人说过“未来 50%的工作将是提示词工作”,目前很多公司也在开始招聘 Prompt 提示词工程师。Prompt(提示词)成为了连接创意与技术的桥梁,它不仅是简单的指令&#xf…

Rom应用开发遇到得一些小bug

记录一些细碎得bug ROM时间类问题 问题描述: 设备拔电重启,ROM时间为默认时间如1970年1月1日,与某些业务场景互斥 问题原因: 后台接口校验https证书校验失败,要求是2年内得请求头校验了时间戳,时间戳过期…

leetcode-560 和为k的数组

一、题目描述 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 注意:nums中的元素可为负数 输入:nums [1,1,1], k 2 输出:2输入:num…

MyBatisPlus实现多表查询

前言 在现代Web开发中,数据操作层的高效与灵活至关重要。MyBatisPlus(简称MP)作为MyBatis的增强工具,凭借其简洁的API设计和丰富的功能,极大地简化了数据库操作,尤其是在处理复杂查询如多表关联查询时展现出了独特的优势。本文将通过一个实际案例——使用MyBatisPlus实现…

【Zotero】【MacOS】Zotero6常用插件总结

因为目前MacOS只支持Zotero6,所以我将网上找到的教程以及自己找到适应Zotero6版本的插件做了个整合 教程地址:Zotero6安装/插件安装教程 插件地址:Zotero6_Plugs

docxtemplater避坑!!! 前端导出word怎么插入本地图片或base64 有完整示例

用docxtemplater库实现前端通过模板导出word,遇到需求,要插图片并转成word并导出,在图片转换这块遇到了问题,网上查示例大多都跑不通,自己琢磨半天,总算搞明白了。 附上清晰完整示例,供参考。 …

搭建电商电子商务平台有哪些好用的电商API数据采集接口?

电商API接口主要用于帮助开发者将电商功能集成到自己的应用程序中,实现诸如商品检索、商品价格数据获取、订单处理、支付、物流跟踪等功能。以下是一些常用的电商API接口提供商: 主流电商平台API: 淘宝开放平台:提供淘宝、天猫、…

智能的PHP开发工具PhpStorm v2024.1全新发布——支持PHPUnit 11.0

PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。 立即获取PhpS…

AI PC 的曙光:微软大胆出击与苹果竞争

AI PC 的曙光:微软大胆出击与苹果竞争 AI PC 的曙光:微软大胆出击与苹果竞争 概述 微软已正式进入 AI PC 时代,并且毫不避讳地直接向苹果的 MacBook 发起攻击。随着代号为“Copilot”的笔记本电脑的推出,微软准备彻底改变我们与…

顺序表以及实现(结构篇)

顺序表是一种线性表的存储结构,它使用一组地址连续的存储单元依次存储线性表的数据元素。在顺序表中,逻辑上相邻的元素在物理存储上也相邻,通常采用数组来实现这种存储方式。 前言: 顺序表格的特点: 随机访问&#x…

检索模型预训练方法:RetroMAE

论文title:https://arxiv.org/pdf/2205.12035RetroMAE: Pre-Training Retrieval-oriented Language Models Via Masked Auto-Encoder 论文链接:https://arxiv.org/pdf/2205.12035 摘要 1.一种新的MAE工作流,编码器和解器输入进行了不同的掩…

IP协议说明

文章目录 前言一、IP协议的简介二、IP数据报1.IP 数据报结构2.IP 数据报的分片解析3.IP 数据报的分片重装 三、IP 数据报的输出四、IP 数据报的输入 前言 IP 指网际互连协议, Internet Protocol 的缩写,是 TCP/IP 体系中的网络层协议。设计 IP 的目的是…

基于jeecgboot-vue3的Flowable流程-我的任务(一)

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 1、首先可以用现成生成代码的前端来做这个,只要做一些调整就可以了,这样利用现有的一些模板可以快速构建我的任务,否则vue2与vue3相差太大,移…

【MIT 6.5840(6.824)学习笔记】GFS

1 分布式存储系统难点 在设计大型分布式系统或存储系统时,初衷通常是为了获得显著的性能提升,通过数百台计算机的资源来并行完成大量工作。因此,性能问题成为最初的关注点。一个自然的想法是将数据分片(Sharding)&…

ModuleNotFoundError: No module named ‘import_export‘

import_export 是一个用于 Django 的第三方库,提供了导入和导出数据的功能。如果你在使用这个库时遇到 ModuleNotFoundError: No module named import_export 错误,这意味着你的项目中没有安装 django-import-export 模块。 要解决这个问题,你需要安装 django-import-expor…

小程序与内嵌webview的数据交互

小程序与内嵌webview的数据交互 一、目的 我们要就将h5切换到小程序,由于时间问题,一些页面不得不通过webvie承接,所以这就涉及到h5和webview交互的问题。(后期把大部分需要交互的页面迁移到小程序了,这都小问题。&a…

MySQL数据库案例实战教程:数据类型、语法与高级查询详解

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

【Elasticsearch】Centos7安装Elasticsearch、kibana、IK分词

目录 本文安装包下载地址注意安装elasticsearch1.上传文件2.解压elasticsearch-6.3.1.tar.gz3.开启远程连接权限4.修改其他配置[root用户操作]5.重启虚拟机6.启动es7.外部访问 安装kibana-61.解压2.配置3.启动kibana4.访问5.在开发工具中做数据的增删改查操作 安装IK分词1.wind…

leetcode-主持人调度(二)-110

题目要求 思路 1.先将开始时间和结束时间拆分放到两个数组中进行排序 2.如果开始的时间小于结束时间,说明目前没有空闲的人,需要增加人,如果大于等于,说明有人刚结束了主持,可以进行新的主持了,变更到下一…