安装 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.