前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Gitea | 笔记

Gitea | 笔记

作者头像
yiyun
发布2022-04-01 17:05:16
9120
发布2022-04-01 17:05:16
举报
文章被收录于专栏:yiyun 的专栏yiyun 的专栏

引言

横向对比 Gitea 与其它 Git 托管工具

使用 Docker 安装

docker-compose.yml

代码语言:javascript
复制
version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:1.14.6
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - HTTP_PORT=80
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:80"
      - "222:22"

这将使用 默认的 SQLite3 初始化数据库

注意:

如果在 http 上使用非 3000 端口,请更改 app.ini 以匹配 LOCAL_ROOT_URL = http://localhost:3000/

代码语言:javascript
复制
gitea.moeci.com/gitea/gitea/conf/app.ini
代码语言:javascript
复制
HTTP_PORT        = 80

失败:

还是无法用 https://gitea.moeci.com/ 正常访问

最终配置文件

于是改回

gitea.moeci.com/gitea/gitea/conf/app.ini

代码语言:javascript
复制
HTTP_PORT        = 3000
ROOT_URL         = http://gitea.moeci.com:3000/
代码语言:javascript
复制
version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:1.14.6
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - HTTP_PORT=3000
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "222:22"

重新启动 docker 容器

代码语言:javascript
复制
docker-compose down

docker-compose up -d

现在,访问 http://gitea.moeci.com:3000/ 就正常访问了

Nginx

代码语言:javascript
复制
server {
    listen 80;
    listen 443 ssl http2;
    server_name gitea.moeci.com;

	# proxy to 3000
    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header REMOTE-HOST $remote_addr;
        add_header X-Cache $upstream_cache_status;
        # cache
        add_header Cache-Control no-cache;
        expires 12h;
    }
    
}

安装

进入安装界面

http://gitea.moeci.com:3000/

注意: 尽管使用了 nginx,但在安装界面时,需要带上 3000 端口,不然部分前端文件会 404, 同时,这是一个 http

注意:图中 基础 URL 最终失败, 请使用 http://gitea.moeci.com:3000/ 代替

Q&A

补充

Gitea SSH 端口

gitea.moeci.com/gitea/gitea/conf/app.ini

默认: 22

代码语言:javascript
复制
SSH_PORT         = 222
SSH_LISTEN_PORT  = 222

本地 SSH 配置

参考:

注意: 这里 Gitea SSH 使用了 222 端口,需要放行 222 端口

.ssh/config

代码语言:javascript
复制
# Gitea
Host gitea.moeci.com
HostName gitea.moeci.com
Port 222
User git
IdentityFile ~/.ssh/id_rsa_yiyun

测试

代码语言:javascript
复制
ssh -T git@gitea.moeci.com # Attempts to ssh to Gitea

或者

代码语言:javascript
复制
ssh -i ~/.ssh/id_rsa_yiyun -T git@gitea.moeci.com -p222

SSH 连接 Gitea 失败

2022-3-27 17:36:06 更新, 经过测试, 完成 本地 SSH 配置 后,再关闭 Cloudflare 云朵CDN, 过一会即可, 容器内部使用 22 端口, 映射到宿主机 222 端口,放行 222 端口, 本地配置 gitea.moeci.com 使用 222 端口即可,之前不行,应该是没关 Cloudflare CDN

注意: 不能这样指定 222 端口,无效

代码语言:javascript
复制
git clone git@gitea.moeci.com:222:yiyungent/test.git

可以下方这样指定 222 端口

代码语言:javascript
复制
git clone ssh://git@gitea.moeci.com:222/yiyungent/test.git

Gitea 容器内部使用 22 端口, 失败

代码语言:javascript
复制
git clone git@gitea.moeci.com:yiyunStarRepos/evernote-backup.git

以下为 Gitea 容器内部使用 222 端口时, 还是失败

代码语言:javascript
复制
git clone ssh://git@gitea.moeci.com:222/yiyunStarRepos/evernote-backup.git

根据官方文档, 目测还需要连通

Gitea 镜像仓库

Gitea 的镜像仓库 是一种特殊的仓库, 能够 clone 到本地, 但不可写入, 即不能再由本地 push 到远程

转为 普通仓库

转为 普通仓库 后, 就可以正常 push

参考

感谢帮助!

本文作者: yiyun

本文链接: https://moeci.com/posts/分类-github/gitea-notebook/

版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 使用 Docker 安装
  • Nginx
  • 安装
  • Q&A
  • 补充
    • Gitea SSH 端口
      • 本地 SSH 配置
        • SSH 连接 Gitea 失败
          • Gitea 镜像仓库
          • 参考
          相关产品与服务
          容器镜像服务
          容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档