『香橙派』基于Orange Pi AIpro打造高效个人云存储解决方案

news2024/11/19 1:31:30


📣读完这篇文章里你能收获到

  • 了解Orange Pi AIpro硬件优势,为构建高效云存储基础设施的理想平台。
  • 学会使用Orange Pi AIpro硬件平台,搭载Ubuntu Server系统,打造云存储环境。
  • 掌握利用Kodbox软件,享受文件管理、多格式预览及编辑的全方位云服务体验。
  • 一键部署Kodbox,实现服务容器化,提升系统稳定性和安全性。
  • 通过花生壳内网穿透,无论身处何地,都能轻松访问家中搭建的私有云盘。

文章目录

  • 一、引言
    • 1.1 整体技术架构概览
    • 1.2 Orange Pi AIpro简介
      • 1.2.1 昇腾AI技术
      • 1.2.2 高性能硬件配置
      • 1.2.3 海量数据存储空间
    • 1.3 Kodbox简介
      • 1.3.1 核心功能
      • 1.3.2 协作与分享
  • 二、准备工作
    • 2.1 Orange Pi AIpro开箱与基础设置
    • 2.2 在Orange Pi AIpro上安装Ubuntu
    • 2.3 确保本地网络能联网
  • 三、Kodbox部署实战
    • 3.1 更新必要软件包
    • 3.2 Docker环境安装
    • 3.3 环境文件准备
    • 3.4 容器编排脚本编写
    • 3.5 启动服务
  • 四、玩转个人云盘
    • 4.1 系统登陆
    • 4.2 桌面管理
    • 4.3 文件管理
      • 4.3.2 视频播放
      • 4.3.1 外链分享
    • 4.4 后台管理
  • 五、内网穿透实战
    • 5.1 安装工具包
    • 5.2 安装花生壳phddns
    • 5.3 通过SN码登陆
    • 5.4 创建内网穿透映射
    • 5.5 通过外网访问
  • 六、总结
    • 6.1 开发者的友好性
    • 6.2 应用场景的广泛性
    • 6.3 操作与体验

一、引言

在数字化时代,个人数据的存储与管理成为了日常生活的关键一环。随着高清照片、视频文件的增多以及远程办公的普及,对可靠、便捷的个人云存储需求日益增长。面对市面上高昂的商业云存储服务费用,以及对数据隐私的担忧,越来越多的用户开始探索自建个人云存储的可能性。本项目旨在利用Orange Pi AIpro的强大硬件能力,结合Kodbox的成熟软件框架,打造出一个既安全又高效的个人网盘系统。

1.1 整体技术架构概览

资源组件功能
硬件平台Orange Pi AIpro利用其内置的昇腾AI技术、高性能硬件配置(8GB至16GB LPDDR4X内存、M.2接口支持等),为个人云存储提供物理基础
操作系统Ubuntu文中提到使用此操作系统作为基础软件环境,通过MicroSD卡安装,配置网络与系统基础设定
容器技术Docker用于轻量级、可移植的软件打包方案,以及Docker Compose,用于定义和运行多容器的分布式应用
云存储应用Kodbox这是一个开源的私有云存储软件,提供文件管理、多终端同步、在线预览编辑、项目协作、文件分享等功能,强调数据隐私和自定义能力
数据库MariaDB作为Kodbox后端数据存储的核心,通过Docker容器部署,配置了数据持久化、安全性和自动升级策略。
网络穿透工具花生壳Phddns用于实现内网穿透,使得外部网络可以访问到内部部署的服务,通过简单的SN码登录和配置即可创建外网访问映射

香橙派内网穿透.jpg

1.2 Orange Pi AIpro简介

1.2.1 昇腾AI技术

Orange Pi AIpro,作为业界首款基于昇腾深度研发的AI开发板,集创新设计、卓越性能与全面技术支持于一体,树立了AI开发领域的全新标杆。这款开发板深度融合昇腾AI技术,搭载高效能图形处理器,并配备8GB至16GB LPDDR4X内存,外加灵活的32GB至256GB eMMC扩展选项,展现了其强大的数据处理与存储能力。凭借8/20 TOPS的强大AI运算能力,Orange Pi AIpro轻松应对各类复杂计算需求。
image.png

1.2.2 高性能硬件配置

在物理接口配置上,Orange Pi AIpro展现出前所未有的灵活性与扩展潜力。它不仅拥有双路4K高清视频输出能力,还配备了多样化的端口:双HDMI接口、GPIO接口、Type-C供电接口、支持SATA/NVMe SSD的M.2插槽、TF卡插槽、千兆以太网接口、双USB 3.0、USB Type-C 3.0、Micro USB接口,以及专为摄像头和显示屏设计的MIPI接口,还预留了电池连接口,极大地方便了开发者进行多样化项目部署。
image.png

1.2.3 海量数据存储空间

Orange Pi AIpro更进一步集成了先进的M.2接口,全面支持SATA及NVMe协议的SSD 2280规格固态硬盘,这一设计极大地拓宽了存储解决方案的可能性。通过接入高速SSD,用户不仅能够享受到TB级的海量数据存储空间,还确保了数据的快速读写访问能力,这对于需要处理大规模数据集的云计算应用、边缘计算场景及高清多媒体内容创作而言,无疑是至关重要的加速器。它不仅提升了系统响应速度,也优Q化了大数据处理和存储效率,从而将Orange Pi AIpro塑造成为构建高效云存储基础设施的理想平台。
image.png

1.3 Kodbox简介

Kodbox,作为一个成熟且开源的私有云存储解决方案,提供了文件管理、多终端同步、在线预览与编辑等一系列功能,旨在帮助用户轻松建立自己的私有云存储服务。它不仅支持高度自定义,还强调数据隐私保护,让用户的数据掌握在自己手中,而非第三方云服务商。对于追求数据自主控制权和灵活性的技术爱好者而言,可道云无疑是构建个人网盘的优选工具。

1.3.1 核心功能

  • 文件操作:支持新建、删除、复制、移动、粘贴和上传下载等操作,与本地文件管理无异。
  • 快捷键支持:用户可以根据需要自定义文件排序、视图和分类等快捷键设置。
  • 多格式预览:支持数百种常见格式的文档预览,包括图片、音乐、视频、Office文档、PDF、OFD、XPS、PhotoShop、Illustrator文件等,无需下载或安装额外软件。

image.png

1.3.2 协作与分享

  • 项目协作:快速发起项目协作,向系统内成员或部门分配不同权限。
  • 文档讨论:基于文件或文件夹发起交流讨论,提高协作效率。
  • 文件动态:提供文档所有事件流的记录,清晰展示文档生命周期。
  • 历史版本:自动生成文件的历史版本,并支持预览回溯和备注。

image.png

二、准备工作

2.1 Orange Pi AIpro开箱与基础设置

在正式开始之前,首先需要对Orange Pi AIpro进行开箱检查,确保所有配件齐全,包括主板、电源适配器、MicroSD卡、HDMI线(如果计划连接显示器)、USB键盘和鼠标等。
image.png
接下来,遵循以下步骤进行基础设置:

  1. MicroSD卡准备:使用SD卡读卡器,将Ubuntu镜像写入MicroSD卡中。推荐使用官方工具完成镜像烧录过程,以确保操作的简便性。
  2. 连接硬件:将MicroSD卡插入Orange Pi AIpro的相应插槽,连接电源适配器、HDMI线(如果需要直接查看启动过程),以及USB键盘和鼠标。
  3. 首次启动:按下电源键启动设备,如果连接了显示器,你将看到Ubuntu的安装界面或直接进入系统(取决于你的SD卡是否已预装系统并设置了自动启动),由于我拿到的板子已经烧录好了系统,因此直接上电即自动开机。

1716297767340.png

2.2 在Orange Pi AIpro上安装Ubuntu

默认登陆密码:Mind@123

若SD卡未预装系统,你需要通过显示器和键盘执行Ubuntu的安装程序。按照屏幕提示,选择语言、设置网络、分配硬盘空间、设置用户名和密码等步骤完成安装。

2.3 确保本地网络能联网

  • 连接wifi,点击右上角的wifi按钮,选择wifi并输入密码

image.png

  • 测试网络连接:使用ping命令测试与外部网络的连通性,如ping baidu.com,确保网络配置正确无误。

Screenshot_2024-05-22_23-54-14.png

三、Kodbox部署实战

Kodbox开源地址:https://github.com/kalcaddle/kodbox

3.1 更新必要软件包

首先,更新系统软件包列表和系统内核,以获取最新的安全更新和补丁:

sudo apt update
sudo apt upgrade -y

3.2 Docker环境安装

  • 安装并启动docker服务, 新版本docker会自动安装docker-compose-plugin
 sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
 sudo systemctl enable docker 
 sudo systemctl start docker

提示:
若docker compose命令不存在,可手动安装二进制文件docker-compose并在后续命令中替换。

  • curl -SL https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
  • chmod +x /usr/local/bin/docker-compose

3.3 环境文件准备

注意:首先创建一个目录作为项目目录,后面所有命令都在这个目录下执行

  • 需在db.env中设置数据库密码,还有yml中的MYSQL_ROOT_PASSWORD需补充.
sudo mkdir -p /data/kodbox
cd /data/kodbox
  • 创建文件来设置数据库环境变量
sudo vim db.env
MYSQL_PASSWORD=kodbox123456
MYSQL_DATABASE=kodbox
MYSQL_USER=kodbox

3.4 容器编排脚本编写

创建docker-compose.yml 文件,在其中配置映射端口、持久化目录

sudo vim docker-compose.yml
version: '3.5'

services:
  db:
    image: mariadb:10.6
    restart: always
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - "./db:/var/lib/mysql"       #./db是数据库持久化目录,可以修改
      # - "./etc/mysql/conf.d:/etc/mysql/conf.d"       #增加自定义mysql配置
    environment:
      - MYSQL_ROOT_PASSWORD=kodbox123456
      - MARIADB_AUTO_UPGRADE=1
      - MARIADB_DISABLE_UPGRADE_BACKUP=1
    env_file:
      - db.env
      
  app:
    image: kodcloud/kodbox
    restart: always
    ports:
      - 9980:80                       #左边9980是使用端口,可以修改
    volumes:
      - "./site:/var/www/html"      #./site是站点目录位置,可以修改
    environment:
      - MYSQL_HOST=db
      - REDIS_HOST=redis
    env_file:
      - db.env
    depends_on:
      - db
      - redis

  redis:
    image: redis:alpine
    restart: always

3.5 启动服务

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

sudo docker compose up -d

Screenshot_2024-05-22_23-53-01.png

四、玩转个人云盘

4.1 系统登陆

  • 登陆地址:ip:9980
  • 可开放多个登陆账号,设置不同的角色权限

在这里插入图片描述

Screenshot_2024-05-23_00-02-57.png

4.2 桌面管理

  • 点击右边侧边栏的“桌面”进入

image.png

4.3 文件管理

  • 支持托拉直接上传文件
  • 支持多格式的文件在线预览编辑

image.png
image.png

4.3.2 视频播放

Screenshot_2024-05-23_00-20-29.png

4.3.1 外链分享

image.png

4.4 后台管理

image.png
image.png

五、内网穿透实战

5.1 安装工具包

sudo -s
apt install net-tools wget

5.2 安装花生壳phddns

  • 下载地址:https://hsk.oray.com/download
  • 配置教程:https://service.oray.com/question/11630.html
  • 选择Rasberry PI 64位的,该平台兼容Orange PI
# 1. 下载包
wget "https://dl.oray.com/hsk/linux/phddns_5.1.0_rapi_aarch64.deb" -O phddns_5.1.0_rapi_aarch64.deb

# 2. 运行  	
phddns_5.1.0_rapi_aarch64.deb

image.png
image.png

5.3 通过SN码登陆

  • 香橙派中的花生壳安装完成后,先复制生成的SN码。然后在浏览器中访问远程管理地址http://b.oray.com ,在登录页面中输入SN码与默认密码(admin)登录。
  • 账号密码->SN码登陆

image.png

5.4 创建内网穿透映射

注意:网站应用映射HTTP需付费6元

  • 添加内网穿透映射时,点击页面上的“增加映射”按钮,随后选择网页应用。

image.png

  • 选择HTTP,填写内网主机,内网端口

image.png

5.5 通过外网访问

  • 通过该地址即可在外网访问运行在Orange Pi AIpro的Kodbox私有网盘了

image.png

六、总结

使用Orange Pi AIpro开发板搭建个人云存储系统后,我对这款开发板有了更为深刻的理解。Orange Pi AIpro不仅仅是一款硬件产品,将高性能硬件与软件创新巧妙融合,满足了现代个人和家庭对数据存储日益增长的需求。在体验过程中,我深刻感受到它在以下几方面的优势:

6.1 开发者的友好性

Orange Pi AIpro的高性能硬件配置,特别是其对eMMC模块的支持和M.2 SSD扩展性,大大简化了存储空间的扩展过程。这对于开发者而言,意味着可以根据实际需求灵活调整存储规模,无需受限于固定的硬件限制,开发自由度大幅提升。

6.2 应用场景的广泛性

无论是个人媒体库的建立、家庭相册备份,还是远程工作文档的同步存储,Orange Pi AIpro均能游刃有余。其双HDMI接口和丰富的GPIO、USB接口,为多媒体中心搭建、智能家庭系统集成提供了便利,展现了其在多样化场景中的应用潜力。

6.3 操作与体验

从开箱到基础设置,再到Kodbox的部署,每一步都设计得相当人性化。尽管涉及较多的命令行操作,但详细的指南使得整个过程变得不那么生硬,反而像是一次对Linux系统管理的深度探索。


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

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

相关文章

如何将 Langfuse 链接到自有 PostgreSQL 数据库并升级 PostgreSQL 版本

在本文中,我们将介绍如何将 Langfuse 应用程序链接到自有的 PostgreSQL 数据库,并升级 PostgreSQL 以支持 jsonb 类型。 前提条件 运行 CentOS 7 的服务器已安装的 PostgreSQL 9.2 或更低版本需要将 Langfuse 连接到自有数据库,并升级 PostgreSQL 以支持 jsonb 类型1. 将 La…

迅为RK3562开发板专为3562编写10大分类2900+页文档

iTOP-3562开发板采用瑞芯微RK3562处理器,内部集成了四核A53Mali G52架构,主频2GHZ,内置1TOPSNPU算力,RK809动态调频。支持OpenGLES1.1/2.0/3.2、0penCL2.0、Vulkan 1.1内嵌高性能2D加速硬件。 内置独立NPU, 算力达 1TOPS,可用于轻…

2024中青杯数学建模竞赛B题药物属性预测思路代码论文分享

2024年中青杯数学建模竞赛B题论文和代码已完成,代码为B题全部问题的代码,论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解(问题1模型的建立和求解、问题2模型的建立和求解、问题3模型的建立和求解)、模型…

设计模式:外观模式 导诊台。空指针异常

文章目录 UML类图目录结构思路Register.javaOutpatientService.javaPrice.javaPharmacy.javaFacade.java空指针异常 Test.java UML类图 目录结构 思路 照着写,然后getRegister()方法的具体实现就是:打印一句话,然后到…

Java集合面试题集——2024最新大厂面试

文章目录 1. 集合框架2. ArrayList和LinkedList2.1 源码分析2.2 ArrayList listnew ArrayList(10)中的list扩容几次?2.3 如何实现数组和List之间的转换2.4 ArrayList和LinkedList的区别2.5 如何保证ArrayList的线程安全?2.6 CopyOnWriteArrayList是如何实现线程安全…

优选免单:重塑电商销售模式的新策略

随着电商行业的不断发展,一种名为“优选免单”的新兴销售模式正逐渐崭露头角。该模式以独特的价格策略、创新的奖励机制和巧妙的社交网络应用为核心,成功激发了消费者的购买热情,并实现了销售的高速增长。 一、规范运营,避免潜在风…

STL源码刨析:序列式容器之list

目录 1.前言 2.list的节点定义和结构 3.list的迭代器定义和结构 4.list的定义和结构 5.list的内存管理 6.list的元素操作 前言 在刨析了vector容器的源码后,list容器相比与vector容器,其元素的插入和删除较快,不需要对原本容器中的元…

哈希冲突的常见解决方法【附C++代码】

在C中,哈希表是一种常用的数据结构,用于实现快速的插入、删除和查找操作。 哈希表的核心在于哈希函数,它将输入的关键字转换为一个数组索引。然而,不同的关键字可能映射到相同的索引,这种情况称为哈希冲突。 有效地解…

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

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

GPT-4 与 GPT-4 Turbo有什么区别?

在不断发展的人工智能和自然语言处理领域,OpenAI 的 GPT 系列一直走在最前沿,彻底改变了机器理解和生成类人文本的方式。每一次迭代,进步都会突破可能性的界限。 最新的条目 GPT-4 和 GPT-4 Turbo 引起了人工智能社区内外的极大兴趣和争论。…

保留字与标识符

目录 保留字 标识符 自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 保留字 保留字是Python语言中一些已经被赋予特定意义的单词。开发程序时,不可以把这些保留字作为变量、函数、类、…

河道流量监测解决方案 河道水位监测 水质在线监测-计讯物联科技

在城市河道与入海口间的通道施工项目中,拦水坝不仅承担着调节水流、保护生态平衡的使命,也是确保施工区域安全的关键屏障。当前,项目团队面临着严峻的挑战:水位的异常上升和流量的急剧变化,这些都可能对拦水坝的稳定性…

公司预防文件泄密的常见手段 | 文件防泄密软件推荐排行榜

在当今信息化社会,企业面临着越来越多的文件泄密风险。为了保护企业的核心信息和资产,公司需要采取一系列手段来预防文件泄密。本文将介绍公司预防文件泄密的常见手段,并推荐五款优秀的防泄密软件,帮助企业构建更为严密的数据安全…

Mongodb 可视化工具Robot 3t安装【windows环境下】

下载应用 打开连接点我 选择windows版本并点击下载 下载完毕,双击并傻瓜安装 连接数据库 点击图标, 点击create创建连接 填写host和port 如果有用户名密码的,在authentication里填写 5. save 并连接即可使用!

Python自动化办公Excel数据处理实战指南

目录 一、引言 二、需求分析 三、技术选型 四、实战操作 数据读取 数据清洗 数据分析 数据输出 五、学习资源推荐: 六、结语 一、引言 在现代办公环境中,Excel数据处理是一项不可或缺的技能。然而,当数据量庞大、处理流程复杂时&a…

页面加载不出来,报错[@umijs/runtime] load component failed

问题描述 页面加载不出来数据,一直在旋转,控制台输出内容如下: 原因分析: 之前页面是没有问题的,在写当前页面突然出现页面加载不出来,控制台报错,主要是页面引入了这行代码报错 import { …

教育小程序的性能优化:从前端到后端的综合提升策略

随着教育小程序的普及,其性能直接影响用户体验和教学效果。本文将从前端到后端,详细探讨教育小程序的性能优化策略,帮助开发者打造高效、流畅的教育应用。 一、前端性能优化策略 代码优化 减少HTTP请求:合并CSS、JavaScript文件…

安装CUDA Toolkit解决异常:OSError: CUDA_HOME environment variable is not set.

安装CUDA Toolkit 安装CUDA Toolkit异常信息分析下载CUDA执行安装配置环境变量验证 安装CUDA Toolkit 异常信息 在执行pip install flash_attn,安装一个推理加速库的时候,遇到如下异常: Looking in indexes: https://mirrors.aliyun.com/p…

RocketMQ学习(1) 快速入门

mq的一些前置知识和概念知识可以看这篇文章——SpringCloud入门(3) RabbitMQ,比如常见mq的对比等等,这篇文章不再赘述。 目录 RocketMQ概念、安装与配置docker配置 RocketMQ快速入门**同步消息消费模式 **异步消息*单向消息**延迟消息*顺序消息批量消息事…

探索Python函数参数的奥秘

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、揭开函数参数的神秘面纱 1. 位置参数:按序传值的基石 2. 关键字参数&#…