gitea真的是太轻量好用啦!
1 安装gitea
1.1 准备工作
我这里是采用了腾讯云的轻量应用云服务器,使用的Ubuntu并安装好了docker。这里采用docker部署。
1.2 创建目录与权限
bash1 2
| mkdir -p /srv/gitea/{data,config,logs} chown -R 1000:1000 /srv/gitea
|
1.3 编写docker-compose.yml
在 /srv/gitea/ 目录下创建 docker-compose.yml:
bash1
| sudo vi docker-compose.yml
|
然后根据自己的配置需求更改。这里已经使用了镜像源。
docker-compose.yml1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| version: "3"
networks: gitea: external: false
services: gitea: image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitea/gitea:1.24.3 container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 - GITEA__server__ROOT_URL=https://gitea.xinghenluyus.cn/ #修改成自己的 - GITEA__server__DOMAIN=gitea.xinghenluyus.cn #修改成自己的 - GITEA__server__SSH_DOMAIN=gitea.xinghenluyus.cn #修改成自己的 restart: always networks: - gitea volumes: - ./gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3000:3000" # Web 有冲突就修改 - "222:22" # SSH 有冲突就修改
|
1.4 部署命令
bash1 2
| cd /srv/gitea sudo docker compose up -d
|
1.5 解析域名到服务器
这一步主要是为了开启HTTPS,配合反向代理无端口食用。
在域名控制台添加A解析到服务器,在本地电脑打开终端,运行:
bash
如果返回的ip是解析的ip,说明解析成功。
1.6 安装 Nginx
登录你的服务器,执行:
Bash1 2 3 4 5 6 7 8 9
| #更新包列表 sudo apt update
#安装 Nginx sudo apt install nginx -y
#启动并设置开机自启 sudo systemctl start nginx sudo systemctl enable nginx
|
测试 Nginx 是否正常:
浏览器访问:gitea.example.com,看到Nginx欢迎页则说明安装成功。
1.7 创建 Nginx 配置文件(不启用 HPPTS)
- 创建文件
bash1
| sudo vim /etc/nginx/sites-available/gitea.xinghenluyus.cn.conf
|
nginx1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| server { listen 80; server_name gitea.xinghenluyus.cn;
# Certbot 验证路径 location /.well-known/acme-challenge/ { root /var/www/certbot; try_files $uri =404; }
# 其他请求代理到 Gitea location / { proxy_pass http://127.0.0.1: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_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
|
- 测试配置
bash
- 应该输出
1 2
| nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
|
- 重载Nginx
bash1
| sudo systemctl reload nginx
|
1.8 申请 Let’s Encrypt 证书(Certbot 会自动配置 HTTPS)
- 安装 Certbot
bash1
| sudo apt install certbot python3-certbot-nginx -y
|
- 创建验证目录
bash1
| sudo mkdir -p /var/www/certbot
|
- 创建验证目录
bash1
| sudo certbot --nginx -d gitea.xinghenluyus.cn
|
按提示操作:
2 服务器安装 Gitea Runner
2.1 生成配置文件
bash1 2
| cd /srv/gitea-runner sudo touch config.yaml
|
bash1 2 3
| docker run --entrypoint="" --rm -it \ swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitea/act_runner:0.2.11 \ act_runner generate-config > config.yaml
|
2.2 在 Gitea 管理后台获取注册 token
偷个懒~
2.3 用 Docker 运行并注册
bash1 2 3 4 5 6 7 8 9 10
| docker run \ -v /srv/gitea-runner/config.yaml:/config.yaml \ -v /var/run/docker.sock:/var/run/docker.sock \ -e CONFIG_FILE=/config.yaml \ -e GITEA_INSTANCE_URL="https://gitea.xinghenluyus.cn" \ -e GITEA_RUNNER_REGISTRATION_TOKEN="<your_token>" \ -e GITEA_RUNNER_NAME="runner-01" \ -e GITEA_RUNNER_LABELS="linux,docker" \ --name gitea_runner \ -d swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitea/act_runner:0.2.11
|
到这里你已经成功部署gitea啦!