Gitea

来自 Alpine Linux

Gitea 是一个社区管理的轻量级代码托管解决方案,使用 Go 编写。它是 Gogs 的一个分支。

注意: 本指南不适用于在 Docker 中安装 Gitea。如果您想在 Docker 容器中安装 Gitea,请遵循官方文档

安装

首先,启用社区仓库

然后安装 gitea 软件包

apk add gitea

设置数据库

注意: 这些说明适用于 MariaDB。如果您想设置另一个数据库,请遵循官方文档

安装 MariaDB 和 mariadb-client 软件包

apk add mariadb mariadb-client

设置 MariaDB 安装并使其安全

mysql_install_db --user=mysql --datadir=/var/lib/mysql service mariadb start rc-update add mariadb mysql_secure_installation

创建 gitea 数据库和一个有权访问它的用户

注意: mysql -u root -p 之后的所有内容都应在 MariaDB 提示符(看起来像 MariaDB [(none)]>)中键入
注意: 将上面的用户名“giteauser”和密码“giteapassword”替换为安全的内容。记住这些设置。稍后设置 Gitea 时您将需要它们。

mysql -u root -p CREATE DATABASE gitea DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'giteapassword'; FLUSH PRIVILEGES; EXIT

如果需要,您可以现在卸载 mariadb-client,因为它不再需要了

apk del mariadb-client

/etc/gitea/app.ini 中,将 [database] 部分的内容替换为以下内容

DB_TYPE = mysql
HOST = /var/run/mysqld/mysqld.sock
NAME = gitea			; The database name set with 'CREATE DATABASE'
USER = giteauser		; The database user
PASSWD = giteapassword		; The password for the database user

配置

可以使用 /etc/conf.d/gitea 配置 Gitea 服务

描述 配置变量 默认值
运行 Gitea 的用户 GITEA_USER gitea
Gitea 工作目录 GITEA_WORK_DIR /var/lib/gitea/
Gitea 配置文件 GITEA_CONF /etc/gitea/app.ini

/etc/gitea/app.ini 中的一些其他设置

描述 配置变量 默认值
Gitea 自定义目录 无法配置 /var/lib/gitea/custom/
Web 文件 STATIC_ROOT_PATH /usr/share/webapps/gitea/
数据文件 APP_DATA_PATH /var/lib/gitea/data/
Git 仓库存储目录 ROOT /var/lib/gitea/git/
日志目录 ROOT_PATH /var/log/gitea/
注意: Gitea 有一个内置的 Web 服务器,因此无需配置一个。但是,您可以设置反向代理
注意: 要自定义 Gitea 的外观,请在 /usr/share/webapps/gitea/ 中找到正确的路径,并在 /var/lib/gitea/custom/ 中创建相同的路径。 例如,要添加新的 Gitea 主题,请创建 /var/lib/gitea/custom/public/css/ 目录,然后将主题的 css 添加到那里。

控制和启动 Gitea

您不应该在未设置某些环境变量和传递一些选项的情况下启动 Gitea,因为它不会知道将数据和日志存储在哪里,因此建议使用 init 脚本启动 gitea

service gitea start

要将 Gitea 添加到默认运行级别(以便它在每次启动时自动运行)

rc-update add gitea

要停止 Gitea 服务

service gitea stop

不使用 init 脚本运行 Gitea

如果(由于任何原因),您想在不使用 init 脚本的情况下启动 Gitea,您应该首先停止 Gitea 服务

service gitea stop

然后,使用以下命令(以 gitea 用户身份)运行 Gitea

GITEA_WORK_DIR=/var/lib/gitea gitea web --config /etc/gitea/app.ini

这将使用正确的配置文件并写入正确的目录。

安装后

此材料需要扩展...

请随时帮助我们完成它。

安装 Gitea 后,转到 http://localhost:3000 并开始安装后流程。

设置 SSH Git 访问

不要尝试耍聪明并使用 ssh-copy-id,因为它不会设置正确的命令。

例如,如果这是公钥

ssh-ed25519 ******************************************************************** **********@gmail.com

.ssh/authorized_keys 中的行需要是

command="/usr/bin/gitea --config=/etc/gitea/app.ini serv key-2",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-ed25519 ******************************************************************** **********@gmail.com

为了做到这一点,生成 SSH 密钥,然后转到 Gitea 设置面板并单击 Add Key 按钮,然后粘贴您的公钥。

现在,一旦您将私钥添加到 SSH 代理,您就可以像通常使用 GitHub、GitLab 等一样使用 SSH 与 Gitea。