1.跟着文档走

gitea的安装比较简单,直接使用官方文档中的docker-compose文件即可。如果想实现ssh容器直通,需要对这个docker-compose文件做一定修改。

如果你还没有安装docker,参考本站教程  linux安装docker

gitea的官方文档上有关于docker容器ssh直通的教程,但是写的不够清晰,有些问题我没有搞懂。本文基于我的折腾记录和docker安装的gitea 1.21.4文档

 使用 Docker 安装 | Gitea Documentation

【Docker】gitea的ssh容器直通_ssh

首先是跟着文章里面的步骤做,先创建一个git子用户。wsl中创建子用户的命令参考 本站博客,ubuntu下使用adduser命令来添加。

sudo adduser git
  • 1.

注意创建的git用户的uid和gid是可能不是1000,可以用id 用户名的方式查看信息

$ id git
uid=1002(git) gid=1002(git) groups=1002(git)
  • 1.
  • 2.

为了保证权限一致,docker-compose中的环境变量需要对应修改。

environment:
      - USER_UID=1001
      - USER_GID=1001
  • 1.
  • 2.
  • 3.

还需要新增一个路径映射,在子用户git的家目录下创建一个.ssh目录。

- /home/git/.ssh/:/data/git/.ssh
  • 1.

注意:为了避免文件读写权限问题,我建议在创建git子用户后,在该子用户中操作docker-compose和新建gitea的映射文件夹,这样能保证git用户和gitea容器一定能访问到文件夹且具有权限。

在git用户中执行如下命令,出现的提示框全部回车即可。因为git用户是新创建的,必须把用户git加入sudoers文件中才能执行sudo命令,具体可以参考 博客中第八点的介绍。

sudo -u git ssh-keygen -t rsa -b 4096 -C "Gitea Host Key"
  • 1.