111 lines
3.2 KiB
Markdown
111 lines
3.2 KiB
Markdown
---
|
||
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
|
||
```
|
||
|
||
在后台工作流运行器可以看见就没问题了。 |