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

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

一、引言

在数字化时代,个人数据的存储与管理成为了日常生活的关键一环。随着高清照片、视频文件的增多以及远程办公的普及,对可靠、便捷的个人云存储需求日益增长。面对市面上高昂的商业云存储服务费用,以及对数据隐私的担忧,越来越多的用户开始探索自建个人云存储的可能性。本项目旨在利用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

# 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系统管理的深度探索。


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐