你的显示设备太小了

top

安装配置 Gogs

本文首次发布日期为 ,最近更新日期为

Gogs

1. 安装

1.1 操作系统

  本文是在 Arch Linux 系统下完成的(但我是凭记忆写的……有错通过简书留言)。

1.2 安装数据库

# pacman -S mariadb

  更多内容请看 MySQL - ArchWiki 

1.3 安装 Nginx

# pacman -S nginx-mainline

  更多内容请看 nginx - ArchWiki 

1.4 下载 Gogs

  到 官网  下载最新的压缩包并解压到 ~/gogs 目录下。

2. 配置

2.1 环境

  根据前面的内容,假设:

    1. 已经建好名为 gogs 且编码为 utf8mb4 的数据库以及数据库用户。

    2. 操作系统中运行网站的用户为 git

    3. 已经申请好 SSL 证书。

2.2 Gogs 配置

  在 ~/gogs/ 目录下创建 custom/conf/app.ini 文件并添加以下内容:

RUN_USER = git

[server]
DOMAIN           = 域名
ROOT_URL         = https://域名/

2.3 Nginx 配置

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

	server_name 域名;

	# SSL
		ssl_certificate /etc/nginx/ssl/域名.crt;
		ssl_certificate_key /etc/nginx/ssl/域名.key;

	# reverse proxy
		location  / {
			proxy_pass http://127.0.0.1:3000 $request_uri;
	}

}

# HTTP redirect
server {
	listen 80;
	listen [::]:80;

	server_name 域名;

	return 301 https://域名$request_uri;
}

2.4 systemctl 配置

[Unit]
Description=Gogs
After=syslog.target
After=network.target
After=mariadb.service mysqld.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git

# Some distributions may not support these hardening directives. If you cannot start the service due
# to an unknown option, comment out the ones not supported by your version of systemd.
ProtectSystem=full
PrivateDevices=yes
PrivateTmp=yes
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

2.5 安装 Gogs

  浏览器打开 https://域名 填好内容就行。