阿里云自建gitea
56

安装 Gitea

一、创建安装目录:

1、mkdir ~/gitea && cd ~/gitea

2、创建数据目录:mkdir data

二、运行 Gitea 容器:

1、使用 Docker 命令启动:

      docker run -d --name gitea \
        -p 8888:3000 \
        -p 2222:22 \
        -v $(pwd)/data:/data \
        -e USER_UID=1000 \
        -e USER_GID=1000 \
        -e RUN_MODE=prod \
        --restart=always \
        gitea/gitea:latest

解释:

-p 8888:3000:映射 Web 端口 3000 到主机 8888。

-p 2222:22:映射 SSH 端口 22 到主机 2222,避免与系统 SSH 冲突。

-v $(pwd)/data:/data:挂载本地 data 目录到容器 /data,保存配置和仓库。

-e USER_UID=1000 -e USER_GID=1000:设置用户和组 ID,匹配容器内 git 用户。

--restart=always:容器自动重启。

三、检查容器:

1、docker ps 确认 gitea 容器运行。(类似下面这样)

d89b767f96d5 gitea/gitea:latest "/usr/bin/entrypoint…" 7 days ago Up 43 minutes 0.0.0.0:2222->22/tcp, :::2222->22/tcp, 0.0.0.0:8888->3000/tcp, :::8888->3000/tcp gitea

2、查看日志:docker logs gitea ,确保无错误。(类似下面这样)

2025/07/31 01:35:55 Started GET /assets/img/logo.svg for 338.11.88.39:0

2025/07/31 01:35:55 Completed GET /assets/img/logo.svg 200 OK in 197.215µs

2025/07/31 01:35:59 Completed GET /user/events 200 OK in 4.993945913s.........................

四、初始配置:

1、访问 http://git.zdbxll.cn:8888(或公网 IP:8888)。
2、首次运行会生成配置文件,填写:

数据库:选择 SQLite3,路径 /data/gitea.db。

站点名称:Gitea: Git with a cup of tea。

管理员账户:用户名 gurun,设置密码。

SSH 服务器域名:git.zdbxll.cn。

SSH 端口:22(容器内),外部使用 2222。

根 URL:https://git.zdbxll.cn。

配置完成后,访问 https://git.zdbxll.cn。

五、配置 app.ini(高级选项)

1、停止容器:docker stop gitea
2、编辑 ./data/gitea/conf/app.ini:
      APP_NAME = Gitea: Git with a cup of tea

     RUN_MODE = prod

     RUN_USER = git

     [repository]

      ROOT = /data/git/repositories

      

      [server]

      APP_DATA_PATH = /data/gitea

      DOMAIN = localhost

      SSH_DOMAIN = git.zdbxll.cn

      HTTP_PORT = 3000

      ROOT_URL = https://git.zdbxll.cn

      DISABLE_SSH = false

      SSH_PORT = 22

      SSH_LISTEN_PORT = 22

      EXTERN_SSH_PORT = 2222

      LFS_START_SERVER = true

      LFS_CONTENT_PATH = /data/git/lfs

  

      [database]

      PATH = /data/gitea.db

      DB_TYPE = sqlite3

      [security]

      INSTALL_LOCK = true
3、启动gitea :docker start gitea
4、将本地公钥配置到gitea上。登录刚刚的gurun账号---> 设置--->ssh配置--->添加公钥
5、在docker 容器内 添加 git 用户,此用户是gitea的服务运行的唯一用户。
docker exec -it gitea /bin/bash
adduser --system --group --no-create-home --disabled-login git 

设置 /data/git/.ssh/authorized_keys 权限:

chown git:git /data/git/.ssh/authorized_keys
chmod 600 /data/git/.ssh/authorized_keys 

检查:id git

[gurun@iZuf61st10tgza1zukxiwsZ data]$ docker exec -it gitea /bin/bash
bash-5.1# id git
uid=1000(git) gid=1000(git) groups=1000(git),1000(git)

六、最终测试

1、本地电脑配置ssh连接

macOS 配置:vim cd ~/.ssh/config 文件添加如下代码:
        Host gitea    
        
        HostName git.zdbxll.cn
        
        User git
        
        Port 2222
        
        IdentityFile ~/.ssh/id_rsa 
2、测试

ssh -vT gitea

Hi there, gurun! You've successfully authenticated with the key named XXXXXX@163.com, but Gitea does not provide shell access.
出现上述:Hi there, gurun! 表示成功!

补充:本地ssh配置文件的Host 【git.zdbxll.cn】要对应 git@git.zdbxll.cn:gurun/avalonia-study.git 中的 【gitea】名称

阿里云自建gitea
https://zdbxll.cn/archives/1753926202918
作者
Administrator
发布于
更新于
许可