WeAir

安装Forgejo

Forgejo是一款自托管轻量级软件代码托管平台。

准备

提前安装Nginx。

下载Forgejo二进制文件

Forgejo下载页面,下载最新版二进制文件。

1
2
wget https://codeberg.org/forgejo/forgejo/releases/download/v15.0.3/forgejo-15.0.3-linux-amd64 -O /usr/local/bin/forgejo
chmod a+x /usr/local/bin/forgejo

安装git及相关程序

1
2
3
4
5
# On Ubuntu/Debian:
apt install git git-lfs

# On Fedora/RHEL/CentOS:
yum install git git-lfs

添加git用户

添加git用户,使Forgejo运行在git用户下。

1
2
3
4
5
6
7
8
# 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
useradd --system --shell /bin/bash --comment 'Git Version Control' \
--gid git --home-dir /home/git --create-home git

创建Forgejo运行及配置目录

1
2
3
4
mkdir /var/lib/forgejo
chown git:git /var/lib/forgejo && chmod 750 /var/lib/forgejo
mkdir /etc/forgejo
chown root:git /etc/forgejo && chmod 770 /etc/forgejo

在Linux中以service方式运行

Forgejo提供了一个systemd服务脚本

1
wget https://codeberg.org/forgejo/forgejo/raw/branch/forgejo/contrib/systemd/forgejo.service -O /etc/systemd/system/forgejo.service

重新加载systemd

1
systemctl daemon-reload

启动Forgejo服务

1
2
systemctl enable forgejo.service
systemctl start forgejo.service

配置Forgejo

停止Forgejo服务

1
systemctl stop forgejo.service

配置app.ini权限

1
chmod 750 /etc/forgejo && chmod 640 /etc/forgejo/app.ini

可以根据官方配置文档示例文件以root用户身份进一步编辑配置文件,然后重新启动服务。

配置Nginx反代

1
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
28
29
30
31
32
33
server {
listen 80;
listen [::]:80;

server_name domain.name
merge_slashes off;

return 301 https://$host$request_uri;
}

server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;

server_name domain.name;

ssl_certificate /path/key.crt;
ssl_certificate_key /path/cert.key;

location / {
proxy_pass http://127.0.0.1:3000;

proxy_set_header Connection $http_connection;
proxy_set_header Upgrade $http_upgrade;
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;

client_max_body_size 512M;
}
}

后记

打开域名访问Forgejo服务,进行后续安装配置。

其它问题可查询官方文档