Rice我叫加饭? · 2022年04月18日

华硕Tinker edge R--gitea服务器的搭建

概述

  1. 本篇文章是在华硕AIoT国内战略合作伙伴--深圳风火轮团队提供的开发板(Tinker edge R)上,搭建一个本地gitea服务器。

  1. Tinker Edge R是华硕基于国产芯片RK3399Pro推出的一款口袋开发板,接口丰富。国产芯片的加持,也避免被卡脖子的风险。
  2. 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、张量流等。许多嵌入式强大的硬件引擎为高端应用程序提供了优化的性能。
  3. 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服务器流程

  1. 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
  1. 配置开机自启动
  2. Gitea作为我们本地仓库服务器,没有开机都要手动启动Gitea服务会很繁琐,所以需要将gitea配置成service服务,并开机自启动.
  3. Gitea仓库中,为我们提供了service文件模板,链接:https://github.com/go-gitea/g...
  4. 将其service文件模板下载下来,放到目录:/etc/systemd/system/
  5. 修改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
  1. 将我们第一步下载下来的gitea二进制文件拷贝到/usr/local/bin/目录下:
$ sudo cp gitea /usr/local/bin/
  1. 创建gitea用户。

    $ sudo adduser gitea
    .........
    # 根据提示填写对应信息
  2. 创建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
  3. 激活gitea服务和启动gitea服务,并将其作为系统自启动服务。

    $ sudo systemctl enable gitea
    $ sudo systemctl start gitea

安装数据库

  1. 作为仓库,并需要要有数据存储的位置。而Gitea对于常用的数据库都支持了,如PostgreSQL,MySQL,SQLite。这对于我们来说是非常友好的。我采用MySQL数据库作为的数据存储。
  2. MySQL的安装教程在这里就不多讲解,自行百度便可以。
  3. 配置数据库
  4. 连接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嵌入式开发技术分享』,后台回复“微信”添加作者微信,备注”入群“,便可邀请进入技术交流群。

推荐阅读
关注数
1756
内容数
51
一个周末很无聊的嵌入式软件工程师,写写经验,写写总结。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息