---
title: 安装gitea
cover: https://pic.biss.click/image/961bc881-cb0a-4ab7-ace5-9990e71c30a0.webp
categories: 技术
tags: gitea
abbrlink: 34725d47
swiper_index: 1
summary: >-
  这篇文章详细介绍了如何在2C2G的服务器上安装Gitea，包括获取二进制文件、创建用户和工作目录、创建系统服务、创建数据库以及安装Runner等步骤。Gitea作为一个轻量级的自助Git服务，适合用于托管网站源码。文章还提供了关于如何配置反向代理和数据库的信息，以及如何使用Docker运行Gitea
  Runner以实现GitHub Actions功能。通过这些步骤，用户可以在自己的服务器上成功部署Gitea，并利用其进行版本控制和自动化工作流程。
date: 2026-02-07 06:32:04
series:
---

今天想把网站的源码转移到自建git仓，所以先来安装gitea吧（gitlab过于庞大，服务器配置不够）
PS:我的服务器为2C2G

# 安装gitea
这里用二进制文件安装
## 获取二进制文件：
```bash
wget -O gitea https://dl.gitea.com/gitea/1.25.4/gitea-1.25.4-linux-amd64
chmod +x gitea
cp gitea /usr/local/bin/gitea
```

## 创建用户
这一步不是必须的，但是推荐这样，用root用户很容易出问题。

```bash
# On Ubuntu/Debian:
adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Git Version Control' \
   --group \
   --disabled-password \
   --home /home/git \
   git

# On Fedora/RHEL/CentOS:
groupadd --system git
adduser \
   --system \
   --shell /bin/bash \
   --comment 'Git Version Control' \
   --gid git \
   --home-dir /home/git \
   --create-home \
   git
```

## 创建工作目录

```bash
mkdir -p /var/lib/gitea/{custom,data,log}
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea
chmod 750 /etc/gitea
chmod 640 /etc/gitea/app.ini
```

## 创建系统服务

直接把github上面的挪过来就可以

{% link service文件,github,https://github.com/go-gitea/gitea/blob/release/v1.25/contrib/systemd/gitea.service %}

然后注册服务并启动
```bash
sudo systemctl enable gitea
sudo systemctl start gitea
```

## 创建数据库
可以用MySQL数据库或者PostgreSQL，创建一个数据库在web页面填写进去就行。

反向代理略过，和普通网站的反向代理配置没有什么区别。

# 安装runner
这个runner也不是必须的，是为了实现github的action功能；在2C2G服务器上我看运行的还可以，当然，只是这个hexo博客的自动构建，占用资源也少；
使用doker，这也是官方建议。以下是compose文件：

```yaml

services:
  runner:
    image: gitea/act_runner:latest
    ports:
      - 8088:8088
    environment:
      - CONFIG_FILE=/config.yaml
      - GITEA_INSTANCE_URL=https://git.biss.click
      - GITEA_RUNNER_REGISTRATION_TOKEN=  #替换成自己的token
    volumes:
      - ./config.yaml:/config.yaml
      - ./data:/data
      - /var/run/docker.sock:/var/run/docker.sock # 允许 Runner 调用宿主机 Docker

```
token在管理后台 工作流-运行器-新建运行器获取
config文件需要这样生成

```bash
docker run --entrypoint="" --rm -it docker.io/gitea/act_runner:latest act_runner generate-config > config.yaml
```

在后台工作流运行器可以看见就没问题了。