概述
- 本篇文章是在华硕AIoT国内战略合作伙伴--深圳风火轮团队提供的开发板(Tinker edge R)上,搭建一个本地gitea服务器。
- Tinker Edge R是华硕基于国产芯片RK3399Pro推出的一款口袋开发板,接口丰富。国产芯片的加持,也避免被卡脖子的风险。
- Tinker Edge R采用了类Pi 尺寸 100 x 72mm Pico lTX外形,搭载的高性能AI处理器RK3399 Pro。其RK3399 Pro是瑞芯微推出的一款低功耗、高性能的应用处理器芯片,该芯片基于Big.Little架构,即具有独立的NEON协同处理器的双核Cortex-A72及四核Cortex-A53组合架构,主频高达1.8GHz,集成Mali-T860 MP4四核图形处理器,RK3399内置多个高性能硬件处理引擎,能够支持多种格式的视频解码,如:4K*2K@60fps 的H.264/H.265/VP9,也支持1080P@30fps的H.264/MVC/VP8 以及高质量的JPEG编解码和图像的前后处理器。它配备了一个功能强大的神经网络处理单元(Npu),支持市场主流平台,如caffe、张量流等。许多嵌入式强大的硬件引擎为高端应用程序提供了优化的性能。
- gitea:是一个自己托管的Git服务程序。它和GitHub, Bitbucket or Gitlab等比较类似。它是从 Gogs 发展而来,并已经Fork并且命名为Gitea。Gitea的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。我们采用Go作为后端语言,这使我们只要生成一个可执行程序即可。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了x86,amd64,还包括 ARM 和 PowerPC。
支持特性:
- 支持活动时间线
- 支持 SSH 以及 HTTP/HTTPS 协议
- 支持 SMTP、LDAP 和反向代理的用户认证
- 支持反向代理子路径
- 支持用户、组织和仓库管理系统
- 支持添加和删除仓库协作者
- 支持仓库和组织级别 Web 钩子(包括 Slack 集成)
- 支持仓库 Git 钩子和部署密钥
- 支持仓库工单(Issue)、合并请求(Pull Request)以及 Wiki
- 支持迁移和镜像仓库以及它的 Wiki
- 支持在线编辑仓库文件和 Wiki
- 支持自定义源的 Gravatar 和 Federated Avatar
- 支持邮件服务
- 支持后台管理面板
- 支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 TiDB(MySQL) 数据库
- 支持多语言本地化(21 种语言)
- gitea官网:https://docs.gitea.io/en-us/
Tinker edge R烧录系统教程
- 刚拿到板子的时候,板子是没有烧录系统,所以我们要烧录自己要用的系统,如风火轮团队提供了两个系统的镜像:安卓和Debian。
- 本次搭建gitea服务器,我才用Debian上进行搭建。
- 烧录教程参考了深圳风火轮科技的论坛帖子,链接:https://smartfire.cn/thread-5...
搭建gitea服务器流程
- Gitea安装,安装gitea教程很简单,Gitea在Linux操作系统的安装方式有两种:Docker安装和二进制文件安装,为了更加快速安装,我采用二进制安装,二进制文件下载链接:https://dl.gitea.io/gitea
# 采用wget获取,如果下载不了,可能需要梯子。
$ wget -O gitea https://dl.gitea.io/gitea/1.16.5/gitea-1.16.5-linux-amd64
# 修改权限
$ chmod +x gitea
- 配置开机自启动
- Gitea作为我们本地仓库服务器,没有开机都要手动启动Gitea服务会很繁琐,所以需要将gitea配置成service服务,并开机自启动.
- Gitea仓库中,为我们提供了service文件模板,链接:https://github.com/go-gitea/g...
- 将其service文件模板下载下来,放到目录:/etc/systemd/system/
- 修改user,home目录以及其他必须的初始化参数
User=gitea
Group=gitea
WorkingDirectory=/home/gitea/
......
ExecStart=/usr/local/bin/gitea web
Restart=always
Environment=USER=gitea HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea
- 将我们第一步下载下来的gitea二进制文件拷贝到/usr/local/bin/目录下:
$ sudo cp gitea /usr/local/bin/
创建gitea用户。
$ sudo adduser gitea ......... # 根据提示填写对应信息
创建gitea需要使用的目录,并修改权限。
$ sudo mkdir -p /var/lib/gitea/{custom,data,log,ssl} $ sudo chown -R gitea:gitea /var/lib/gitea/ $ sudo chmod -R 750 /var/lib/gitea/ $ sudo mkdir /etc/gitea $ sudo chown root:gitea /etc/gitea $ sudo chmod 770 /etc/gitea
激活gitea服务和启动gitea服务,并将其作为系统自启动服务。
$ sudo systemctl enable gitea $ sudo systemctl start gitea
安装数据库
- 作为仓库,并需要要有数据存储的位置。而Gitea对于常用的数据库都支持了,如PostgreSQL,MySQL,SQLite。这对于我们来说是非常友好的。我采用MySQL数据库作为的数据存储。
- MySQL的安装教程在这里就不多讲解,自行百度便可以。
- 配置数据库
- 连接MySQL数据库,创建gitea使用的账号gitea:
> CREATE USER 'gitea' IDENTIFIED BY 'gitea';
- 创建gitea使用的数据库giteadb:
> CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
- 授权gitea用户对giteadb数据库的操作权限:
> GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea';
> FLUSH PRIVILEGES;
登录运行
- 如上配置完,便可以通过浏览器访问Tinker edge R上搭建的gitea服务器。
- 登录方式:http://板子IP:3000。登录进去之后便可以显示如下界面。
- 然后点击"注册",按照数据库的定义进行设置后,即可创建账号登录管理界面了。
总结
- 华硕Tinker edge R,功能接口都很齐全,资源很丰富,对于接下来在上面做开发,提供了更多可行性。
- Tinker edge R搭载着强劲的RK3399 Pro,可以给我们搭载各种本地化服务器。同时可以让我们做一些应用。
- 我将在后续做一些有趣的东西,如openCV,云笔记,物联网平台等应用。敬请期待
<br/>关注微信公众号『Rice嵌入式开发技术分享』,后台回复“微信”添加作者微信,备注”入群“,便可邀请进入技术交流群。