电视盒子部署gitea仓库

发布时间:2026/8/22 09:35:59

最新修改时间:2026/8/23 00:00:00

9 min read

目录

前言

部署gitea

最终效果

连接github和gitea

gitea问题总结

问题一

git用户配置

问题二

自动镜像配置

效果展示

armv7架构的镜像资源及其他软件分享

○( ^皿^)っ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的地址打开安装界面,并按照配置去安装了

这里一般只需要确认仓库名字、管理员注册这些,其他都默认就行

这里提示,管理员用户名用英文字母,别用汉字

然后登陆后再设置一些东西

最终效果

image-20260822171729951

连接github和gitea

我的本意是电脑→本地gitea→github

事先同步github所有仓库到gitea(记得先勾选镜像仓库,待到完成后再恢复为普通仓库)

优点:随时可访问仓库,不受网络环境影响,仓库安全、隐私性更强(毕竟gitea在局域网内)

首先进入gitea网页端,点击右上创建→迁移外部仓库→github

image-20260823000000692

正常填写内容,迁移仓库即可

具体内容填写问题,建议尽量保持与目标仓库信息一致,避免出现意外情况

:warning: 警告: 注意目标仓库一定要是公开的,私有会导致迁移失败(令牌权限高低都不影响失败)

令牌记得保存

迁移成功后,点击gitea仓库设置,下划到底更改仓库所有权


然后划到镜像设置部分,根据要求添加推送镜像

  1. http链接
  2. 授权:
    1. 用户名:目标仓库账号‘用户名’
    2. 密码:前面迁移仓库时使用的‘令牌’

添加后会自动同步一次,可以自己修改内容再试一试(推送镜像仓库可以添加多个,但没必要)

最终效果如下图:(可以看到填写远程仓库链接上方出现一行成功例子)


这个时候就可以把远程仓库(目标仓库)设置为私有了,你看这完全不用再担心网络问题了,就是一个一个操作太麻烦了,社区有提供插件批量操作,有兴趣的可以去试一试!!!

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架构的镜像:

  1. gitea镜像:https://hub.docker.com/r/patrickthedev/gitea-rpi
  2. alist镜像:https://xuanyuan.cloud/zh/r/xhofe/alist
  3. 1panel镜像:https://hub.docker.com/r/moelin/1panel

armv7架构的软件安装: