📣读完这篇文章里你能收获到
- 了解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 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
四、玩转个人云盘
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系统管理的深度探索。