目录
○( ^皿^)っHiahiahia…
前言
设备:电视盒子(hi3798mv100-armv7)
部署方式:docker compose
gitea镜像:https://hub.docker.com/r/patrickthedev/gitea-rpi
首先手册里已经给出了一种省事的安装脚本,但我看了一下发现,好简陋,甚至变成文件操控了,不如直接用git,于是我遍寻互联网查找相关信息,终于找到了适配armv7架构的gitea镜像资源
这里会有一个问题,镜像拉取超时,所以需要自己配置好合适的镜像加速
此架构的gitea镜像还有两三个,但我推荐这一个是因为更新快,更安全稳定,另外有就不错了,咱玩的是内网,能用就行
部署gitea
依旧docker,手册里有完整的docker安装脚本,这里默认大家配置好了docker及其Linux系统等
我用的是docker compose(我的习惯),大家也可以直接pull拉取镜像。
找好想要存储的位置直接创建gitea、data
例如: vim /mnt/software/gitea/docker-compose.yml
直接编辑yml文件
version: "3"
networks:
gitea:
external: false
services:
server:
image: docker.gitea.com/gitea:1.27.2
# 这里换成适合我们设备的gitea镜像,这里改成 patrickthedev/gitea-rpi:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- SSH_PORT=222 # 告诉 Gitea 对外暴露的端口号
- SSH_LISTEN_PORT=22 # 强制容器内 SSH 服务监听 22 端口
- START_SSH_SERVER=true # 确保启动内置 SSH 服务 (这三行确保后续电脑git 操作时能正常连接gitea)
restart: always
networks:
- gitea
volumes:
# 存储地址记得查看修改,一般直接在创建好的地址编辑默认即可,不懂问ai,很快的
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
# 这里gitea官网有讲,3000是http访问端口,222是ssh连接的端口,所以没事默认即可
- "3000:3000"
- "222:22"
# 可以说我这个模板几乎是很完美了,甚至不需要修改任何东西0.0我厉害吧!!!
记得再创建一个data文件夹:
mkdir -p /mnt/software/gitea/data
chmod 755 /mnt/software/gitea/data # 确认权限(加不加这道命令都行,主要怕后续出现权限问题)
供gitea自带数据库使用(或者自己另外建数据库,不建议,咱这设备本来就小,自带的已经够用了)
最后就是万众瞩目的启动环节了
执行 docker-compose up -d命令,创建容器拉取镜像,等待→完成
然后你就可以在浏览器按照 ip:3000的地址打开安装界面,并按照配置去安装了
这里一般只需要确认仓库名字、管理员注册这些,其他都默认就行
这里提示,管理员用户名用英文字母,别用汉字
然后登陆后再设置一些东西
最终效果

连接github和gitea
我的本意是电脑→本地gitea→github
事先同步github所有仓库到gitea(记得先勾选镜像仓库,待到完成后再恢复为普通仓库)
优点:随时可访问仓库,不受网络环境影响,仓库安全、隐私性更强(毕竟gitea在局域网内)
首先进入gitea网页端,点击右上创建→迁移外部仓库→github

正常填写内容,迁移仓库即可
具体内容填写问题,建议尽量保持与目标仓库信息一致,避免出现意外情况
:warning: 警告: 注意目标仓库一定要是公开的,私有会导致迁移失败(令牌权限高低都不影响失败)
令牌记得保存
迁移成功后,点击gitea仓库设置,下划到底更改仓库所有权
然后划到镜像设置部分,根据要求添加推送镜像
- http链接
- 授权:
- 用户名:目标仓库账号‘用户名’
- 密码:前面迁移仓库时使用的‘令牌’
添加后会自动同步一次,可以自己修改内容再试一试(推送镜像仓库可以添加多个,但没必要)
最终效果如下图:(可以看到填写远程仓库链接上方出现一行成功例子)

这个时候就可以把远程仓库(目标仓库)设置为私有了,你看这完全不用再担心网络问题了,就是一个一个操作太麻烦了,社区有提供插件批量操作,有兴趣的可以去试一试!!!
gitea问题总结
在你部署好后会出现的推送、同步等问题,比较隐秘,一般没这方面知识你要问ai好久才能解决(还可能解决不了)
问题一
git用户配置
现象:在推送到gitea后,出现变更未根据需求同步到github对应仓库
原因:
Gitea 镜像同步使用的 Git 环境默认使用 HTTP/2,与 GitHub HTTPS 链路存在 TLS 兼容问题。 同时,Gitea 实际运行用户是 git,不是 root
解决方式:
docker exec -it gitea sh # 先进入容器(因为我是使用docker部署的0.0)
su git # 切换到gitea运行用户
git config --global http.version HTTP/1.1 # 设置Git 使用 HTTP/1.1:
git config --global --list # 确认是否成功,会出现:http.version=HTTP/1.1
问题二
自动镜像配置
现象:Gitea 手动同步成功,但不会自动推送 GitHub
原因:
Gitea Push Mirror 默认依赖后台定时任务检查,不是收到 push 后立即执行
解决方式:
# 修改 Gitea 配置:
vim /mnt/software/gitea/data/gitea/conf/app.ini
# 我们的这个app.ini的地址可能不同,但是找到它就行,不要新建文件
# 添加下面两行代码,保存退出即可
[cron.update_mirrors]
SCHEDULE = @every 1m
# 重启gitea
docker-compose down
docker-compose up -d
效果展示
像下面这样,方向是推送,最后更新有时间(你每次push都会有相近时间,这个可以观察0.0)

:warning: 警告 : 上面两个问题的解决并不会真正的实现即刻推送,因为是通过http,会出现网络不稳定,而导致失败,不过设置了定时循环,也不用担心。
说到底还是网络问题,只不过变好了而已!!!
armv7架构的镜像资源及其他软件分享
后续在这里更新,当然只是我安装的应用才会更新在这里,毕竟我不用我干嘛找0.0
只需要找到适配的镜像就成,然后就是一键部署搞定
armv7架构的镜像:
- gitea镜像:https://hub.docker.com/r/patrickthedev/gitea-rpi
- alist镜像:https://xuanyuan.cloud/zh/r/xhofe/alist
- 1panel镜像:https://hub.docker.com/r/moelin/1panel
armv7架构的软件安装: