『香橙派』基于Orange Pi AIpro打造高效个人云存储解决方案
读完这篇文章里你能收获到
- 了解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码登录和配置即可创建外网访问映射 |
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轻松应对各类复杂计算需求。
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接口,还预留了电池连接口,极大地方便了开发者进行多样化项目部署。
1.2.3 海量数据存储空间
Orange Pi AIpro更进一步集成了先进的M.2接口,全面支持SATA及NVMe协议的SSD 2280规格固态硬盘,这一设计极大地拓宽了存储解决方案的可能性。通过接入高速SSD,用户不仅能够享受到TB级的海量数据存储空间,还确保了数据的快速读写访问能力,这对于需要处理大规模数据集的云计算应用、边缘计算场景及高清多媒体内容创作而言,无疑是至关重要的加速器。它不仅提升了系统响应速度,也优Q化了大数据处理和存储效率,从而将Orange Pi AIpro塑造成为构建高效云存储基础设施的理想平台。
1.3 Kodbox简介
Kodbox,作为一个成熟且开源的私有云存储解决方案,提供了文件管理、多终端同步、在线预览与编辑等一系列功能,旨在帮助用户轻松建立自己的私有云存储服务。它不仅支持高度自定义,还强调数据隐私保护,让用户的数据掌握在自己手中,而非第三方云服务商。对于追求数据自主控制权和灵活性的技术爱好者而言,可道云无疑是构建个人网盘的优选工具。
1.3.1 核心功能
- 文件操作:支持新建、删除、复制、移动、粘贴和上传下载等操作,与本地文件管理无异。
- 快捷键支持:用户可以根据需要自定义文件排序、视图和分类等快捷键设置。
- 多格式预览:支持数百种常见格式的文档预览,包括图片、音乐、视频、Office文档、PDF、OFD、XPS、PhotoShop、Illustrator文件等,无需下载或安装额外软件。
1.3.2 协作与分享
- 项目协作:快速发起项目协作,向系统内成员或部门分配不同权限。
- 文档讨论:基于文件或文件夹发起交流讨论,提高协作效率。
- 文件动态:提供文档所有事件流的记录,清晰展示文档生命周期。
- 历史版本:自动生成文件的历史版本,并支持预览回溯和备注。
二、准备工作
2.1 Orange Pi AIpro开箱与基础设置
在正式开始之前,首先需要对Orange Pi AIpro进行开箱检查,确保所有配件齐全,包括主板、电源适配器、MicroSD卡、HDMI线(如果计划连接显示器)、USB键盘和鼠标等。
接下来,遵循以下步骤进行基础设置:
- MicroSD卡准备:使用SD卡读卡器,将Ubuntu镜像写入MicroSD卡中。推荐使用官方工具完成镜像烧录过程,以确保操作的简便性。
- 连接硬件:将MicroSD卡插入Orange Pi AIpro的相应插槽,连接电源适配器、HDMI线(如果需要直接查看启动过程),以及USB键盘和鼠标。
- 首次启动:按下电源键启动设备,如果连接了显示器,你将看到Ubuntu的安装界面或直接进入系统(取决于你的SD卡是否已预装系统并设置了自动启动),由于我拿到的板子已经烧录好了系统,因此直接上电即自动开机。
2.2 在Orange Pi AIpro上安装Ubuntu
默认登陆密码:Mind@123
若SD卡未预装系统,你需要通过显示器和键盘执行Ubuntu的安装程序。按照屏幕提示,选择语言、设置网络、分配硬盘空间、设置用户名和密码等步骤完成安装。
2.3 确保本地网络能联网
- 连接wifi,点击右上角的wifi按钮,选择wifi并输入密码
- 测试网络连接:使用ping命令测试与外部网络的连通性,如
ping baidu.com
,确保网络配置正确无误。
三、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 Aliyunsudo 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.6restart: alwayscommand: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROWvolumes:- "./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=1env_file:- db.envapp:image: kodcloud/kodboxrestart: alwaysports:- 9980:80 #左边9980是使用端口,可以修改volumes:- "./site:/var/www/html" #./site是站点目录位置,可以修改environment:- MYSQL_HOST=db- REDIS_HOST=redisenv_file:- db.envdepends_on:- db- redisredis:image: redis:alpinerestart: always
3.5 启动服务
进入项目目录,执行docker compose up -d启动命令,会自动拉取容器并运行
sudo docker compose up -d
四、玩转个人云盘
4.1 系统登陆
- 登陆地址:ip:9980
- 可开放多个登陆账号,设置不同的角色权限
4.2 桌面管理
- 点击右边侧边栏的“桌面”进入
4.3 文件管理
- 支持托拉直接上传文件
- 支持多格式的文件在线预览编辑
4.3.2 视频播放
4.3.1 外链分享
4.4 后台管理
五、内网穿透实战
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
5.3 通过SN码登陆
- 香橙派中的花生壳安装完成后,先复制生成的SN码。然后在浏览器中访问远程管理地址http://b.oray.com ,在登录页面中输入SN码与默认密码(admin)登录。
- 账号密码->SN码登陆
5.4 创建内网穿透映射
注意:网站应用映射HTTP需付费6元
- 添加内网穿透映射时,点击页面上的“增加映射”按钮,随后选择网页应用。
- 选择HTTP,填写内网主机,内网端口
5.5 通过外网访问
- 通过该地址即可在外网访问运行在Orange Pi AIpro的Kodbox私有网盘了
六、总结
使用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系统管理的深度探索。
相关文章:

『香橙派』基于Orange Pi AIpro打造高效个人云存储解决方案
读完这篇文章里你能收获到 了解Orange Pi AIpro硬件优势,为构建高效云存储基础设施的理想平台。学会使用Orange Pi AIpro硬件平台,搭载Ubuntu Server系统,打造云存储环境。掌握利用Kodbox软件,享受文件管理、多格式预览及编辑的全…...
Sylvester矩阵、子结式、辗转相除法的三者关系(第二部分)
【三者的关系】 首先,辗转相除法可以通过Sylvester矩阵进行,过程如下(以 m 8 、 l 7 m 8、l 7 m8、l7为例子)。 首先调整矩阵中 a a a系数到最后面几行,如下所示: S ( a 8 a 7 a 6 a 5 a 4 a 3 a 2 …...

PyTorch的数据处理
💥今天看一下 PyTorch数据通常的处理方法~ 一般我们会将dataset用来封装自己的数据集,dataloader用于读取数据 Dataset格式说明 💬dataset定义了这个数据集的总长度,以及会返回哪些参数,模板: from tor…...

第14章-蓝牙遥控小车 手把手做蓝牙APP遥控小车 蓝牙串口通讯讲解
本文讲解手机蓝牙如何遥控小车,如何编写串口通信指令 第14章-手机遥控功能 我们要实现蓝牙遥控功能,蓝牙遥控功能要使用:1.单片机的串口、2.蓝牙通信模块 所以我们先调试好:单片机的串口->蓝牙模块->接到一起联调 14.1-电脑控制小车 完成功能…...
【补充1】字节对齐
文章目录 1.字节对齐的基本概念2.字节对齐规则3.实践出真知(加大难度)4 位域 1.字节对齐的基本概念 (1)现代计算机中内存空间都是按照byte划分的, 从理论上讲似乎对任何类型的变量的访问可以从任何地址开始࿰…...
Java数据库连接(JDBC)
一、引言 在Java应用程序中,经常需要与数据库进行交互以存储、检索和处理数据。Java数据库连接(JDBC)是Java平台中用于执行这一任务的标准API。JDBC允许Java程序连接到关系数据库,并使用SQL语句来执行查询和更新操作。本教程将详…...
记录一次cas单点登录的集成
主要思路:浏览器访问CAS服务器登录,拿到凭证给后端,后端用此凭证到CAS服务器验证登录并拿到用户信息,之后基于该凭证维持用户的登录状态。 主要流程: 1.浏览器访问后端需认证登录地址(不带ticket…...

【吊打面试官系列】Java高并发篇 - 什么是乐观锁和悲观锁?
大家好,我是锋哥。今天分享关于 【什么是乐观锁和悲观锁?】面试题,希望对大家有帮助; 什么是乐观锁和悲观锁? 1、乐观锁: 就像它的名字一样,对于并发间操作产生的线程安全问题持乐观状态, 乐观锁认为竞争…...
机器学习之词袋模型
目录 1 词袋模型基本概念 2 词袋模型的表示方法 2.1 三大方法 1 独热表示法(One-Hot) 2 词频表示法(Term Frequency, TF) 3 词频-逆文档频率表示法(TF-IDF) 2.2 例子 1 词袋模型基本概念 词袋模型&a…...

【C++/STL】vector(常见接口、模拟实现、迭代器失效)
🌈个人主页:秦jh_-CSDN博客🔥 系列专栏: https://blog.csdn.net/qinjh_/category_12575764.html?spm1001.2014.3001.5482 目录 简单使用 常见接口 find insert vector模板 模拟实现 尾插 构造 迭代器失效 使用memcpy拷贝问…...
Spring Boot Web 开发:MyBatis、数据库连接池、环境配置与 Lombok 全面解析
推荐一个AI网站,免费使用豆包AI模型,快去白嫖👉海鲸AI 1.0 MyBatis 概述 MyBatis 是一个优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 可以帮助我们将数据库操作抽象出来,使得我们的代码更加简洁…...

【UE5.1 多线程 异步】“Async Blueprints Extension”插件使用记录
目录 一、异步生成Actor示例 二、异步计算示例 参考视频 首先需要在商城中下载“Async Blueprints Extension”插件 一、异步生成Actor示例 2. 创建一个线程类,这里要指定父类为“LongAsyncTask”、“InfiniteAsyncTask”、“ShortAsyncTask”中的一个 在线程类…...

【已解决】在jupyter里运行torch.cuda.is_available(),显示True,在pycharm中运行却显示false。
文章目录 问题概述1、在Jupyter中GPU运行true2、在pycharm中GPU运行false3、个人解决方案仅供参考 问题概述 在jupyter里运行torch.cuda.is_available(),显示True,在pycharm中运行却显示false。原因在于jupyter 运行环境和pycharm 运行环境不同…...
Flutter 中的 Scrollbar 小部件:全面指南
Flutter 中的 Scrollbar 小部件:全面指南 在Flutter中,滚动条(Scrollbar)是一种常见的UI组件,用于提供对滚动内容的快速访问和控制。Scrollbar 小部件可以附加到任何可滚动的widget上,如ListView、GridVie…...

【华为】将eNSP导入CRT,并解决不能敲Tab问题
华为】将eNSP导入CRT,并解决不能敲Tab问题 eNSP导入CRT打开eNSP,新建一个拓扑右键启动查看串口号关联CRT成功界面 SecureCRT连接华为模拟器ensp,Tab键不能补全问题选择Options(选项)-- Global Options (全局选项&#…...

实验二 电子传输系统安全-进展2
上周任务完成情况(代码链接,所写文档等) 重新调通电子公文传输系统部署gmssl学习生成SM2证书学习gmssl中的CTLS实现将数据库从SqlServer迁移到Mysql调试Mysql驱动学习Bouncy Castle 代码链接 Mysql表设计 /* Navicat MySQL Data Transfer…...
JavaScript 获取 HTML 中特定父元素下的子元素
JavaScript 获取 HTML 中特定父元素下的子元素 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title>查找子元素示例</title> </head> <body><div id"parent"><p&…...

等保服务是一次性服务吗?为什么?怎么理解?
我国等保政策已经严格落地执行,但还有不少企业对于等保服务不是很了解。例如有人问,等保服务是一次性服务吗?为什么?怎么理解?今天我们就来简单回答一下,仅供参考哈! 等保服务是一次性服务吗&…...

全网首发UNIAPP功能多的iapp后台源码
全网首发UNIAPP功能多的iapp后台源码,众所周知UN Dev Assist 后台是一款既不免费又不好用的后台今天直接分享。 搭建教程在里面了,自己查看。 源码下载:https://download.csdn.net/download/m0_66047725/89291994 更多资源下载:…...

【搜索方法推荐】高效信息检索方法和实用网站推荐
博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...