Gitea 安装和配置

这篇具有很好参考价值的文章主要介绍了Gitea 安装和配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Gitea 安装和配置: http://coffeelatte.vip.cpolar.top/post/software/applications/gitea/gitea_安装和配置/

1. 简介

Gitea 是一个类似于 GitHub 的功能强大的代码托管平台,使用 Go 语言开发,只需要一个可执行程序文件即可部署,非常简单易用,且功能丰富。具有版本管理、组织管理、Issues讨论、版本发布等功能。内置维基百科和 SSH 子系统。

2. Gitea 安装

下载 Gitea 后直接运行,浏览器输入127.0.0.1:3000 来进行初始配置(需要先安装好数据库软件)。

3. 配置文件

Gitea 的配置文件为 <Gitea可执行程序路径>/custom/conf 目录下的 app.ini 文件。全部配置均可通过修改该文件来实现。修改完配置后,需要重启 Gitea 服务才能生效。

3.1. 发送测试邮件

以管理员账户登录 Gitea,点击右上角菜单进入“管理后台->应用配置”,下拉到“Mailer 配置->发送测试邮件”,输入接收邮箱地址后点击“发送”按钮即可发送测试邮件。

4. 创建/删除 Gitea 服务

4.1. Windows 服务

使用 SC 命令创建 Gitea 服务,并自动运行:

sc create Gitea start= auto binPath= ""<绝对路径>\gitea.exe" web --config "<绝对路径>\custom\conf\app.ini""

创建完服务后进入 Windows Services 找到 Gitea 并且点击运行。

如不再需要,同样使用 SC 命令删除服务,删除服务前需先停止该服务。

sc delete Gitea

4.2. Linux 服务

systemd 服务的开启过程如下,首先创建 gitea.service 文件:

sudo vim /etc/systemd/system/gitea.service

并参照以下模板填充该文件:

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.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
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
#Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

使用如下命令使能并启动 gitea 服务:

sudo systemctl enable gitea
sudo systemctl start gitea

使用如下命令停止 gitea 服务:

sudo systemctl stop gitea

5. 使用 HTTPS 服务

可以使用 Gitea 内嵌的 HTTPS 服务。内嵌 HTTPS 服务使用自认证证书,生成 10 年期限自认证证书命令如下:

gitea cert --host <HOST0,HOST1,...> --ca --duration 87600h

参数说明:

Argument Description
–host <value> Comma seperated hostnames and ips which this certificate is valid for. Wildcards are supported. Required.
–duration <value> Duration which the certificate is valid for. Optional. (default: 8760h0m0s)
–ca If provided, this cert generates it’s own certificate authority. Optional.

编辑 app.ini 文件如下:

[server]
PROTOCOL=https
ROOT_URL = https://git.example.com:3000/
HTTP_PORT = 3000
CERT_FILE = <绝对路径>/custom/https/cert.pem
KEY_FILE = <绝对路径>/custom/https/key.pem

注意,上面 CERT_FILE 和 KEY_FILE 必须使用绝对路径,否则无法正常启动 Gitea 服务。之后重启 Gitea 服务。通过浏览器访问 HTTPS 版本的 Gitea 服务,需要添加浏览器例外才能正常访问。另外客户端使用 git clone 需要关闭 git 的 ssl 认证功能。命令如下:

git config --global http.sslVerify false

另外 Gitea 还可以使用 Let’s Encrypt 提供的证书,这是 CA 认证证书,有效期为 90 天。Let’s Encrypt 的使用方法见官方手册。

6. 使用内置 SSH

Gitea 有内置 SSH 服务,支持 SSH 格式的 git clone,使能方式为修改 app.ini 文件中的下列内容:

[server]
SSH_DOMAIN       = 127.0.0.1
DISABLE_SSH      = false
START_SSH_SERVER = true
SSH_PORT         = 3022
SSH_LISTEN_PORT  = 3022

7. 邮箱配置

Gitea 可以通过预先配置好的电子邮件发送服务器发送服务邮件如:通知、消息、注册确认等信息。邮件发送服务器为 smtp 服务器,需要同时提供服务器端口,用户名和密码。

; Mail server
; Gmail: smtp.gmail.com:587
; QQ: smtp.qq.com:465
; 163: smtp.163.com:465
; Note, if the port ends with "465", SMTPS will be used. Using STARTTLS on port 587 is recommended per RFC 6409. If the server supports STARTTLS it will always be used.
[mailer]
ENABLED = true
; PROTOCOL: empty: One of "smtp", "smtps", "smtp+starttls", "smtp+unix", "sendmail", "dummy".
PROTOCOL    = smtp
SMTP_ADDR   = smtp.sina.com
; SMTP_PORT: empty: Mail server port. If no protocol is specified, it will be inferred by this setting. Common ports are
;   * 25: insecure SMTP
;   * 465: SMTP Secure
;   * 587: StartTLS

; Mail from address, RFC 5322. This can be just an email address, or the `"Name" <email@example.com>` format
FROM    = user_name@sina.com
; Mailer user name and password
USER    = user_name@sina.com
; Use PASSWD = `your password` for quoting if you use special characters in the password. 该字段也可用于指定“设备授权码”
PASSWD  = user_password

启用邮件系统后,可以开启邮件通知功能。该功能在有提醒需要发送时,Gitea 会通过以上配置的邮件系统向用户发送邮件通知,如有 Issue 分派给了某个用户,则该用户会收到邮件提醒。

[service]
; Mail notification
ENABLE_NOTIFY_MAIL                = true

8. 允许通过邮箱进行外部注册

开启邮件系统后,可以开启邮件注册功能。用户可以自己注册账号,并收到注册确认邮件。通过点击注册确认邮件中的连接,激活新账号。

[service]
; Whether a new user needs to confirm their email when registering.
REGISTER_EMAIL_CONFIRM            = true
; Disallow registration, only allow admins to create accounts.
DISABLE_REGISTRATION              = false
; Allow registration only using third part services, it works only when DISABLE_REGISTRATION is false
ALLOW_ONLY_EXTERNAL_REGISTRATION  = false
; Enable captcha validation for registration
ENABLE_CAPTCHA                    = true

其中,校验码为可选功能,建议开启。文章来源地址https://www.toymoban.com/news/detail-851251.html

9. 配置文件示例

APP_NAME = Gitea: Git with a cup of tea
RUN_USER = Administrator
RUN_MODE = prod

[security]
INTERNAL_TOKEN = <TOKEN>
INSTALL_LOCK   = true
SECRET_KEY     = <KEY>

[database]
DB_TYPE  = sqlite3
HOST     = 127.0.0.1:3306
NAME     = gitea
USER     = gitea
PASSWD   =
SSL_MODE = disable
PATH     = <绝对路径>/data/gitea.db

[repository]
ROOT             = <绝对路径>/gitea-repositories
DISABLE_HTTP_GIT = true

[repository.upload]
ENABLED          = true
FILE_MAX_SIZE    = 1024
MAX_FILES        = 1000

[server]
PROTOCOL         = https
SSH_DOMAIN       = 127.0.0.1
DOMAIN           = 127.0.0.1
HTTP_PORT        = 3000
ROOT_URL         = %(PROTOCOL)s://127.0.0.1:3000/
CERT_FILE        = <绝对路径>/Path/cert.pem
KEY_FILE         = <绝对路径>/Path/key.pem
DISABLE_SSH      = false
START_SSH_SERVER = true
SSH_PORT         = 3022
SSH_LISTEN_PORT  = 3022
LFS_START_SERVER = true
LFS_CONTENT_PATH = <绝对路径>/Path/data/lfs
LFS_JWT_SECRET   = <SECRET>
OFFLINE_MODE     = false

[mailer]
ENABLED = true
HOST    = smtp.sina.com:465
FROM    = user_name@sina.com
USER    = user_name@sina.com
PASSWD  = user_password

[service]
REGISTER_EMAIL_CONFIRM            = true
ENABLE_NOTIFY_MAIL                = true
DISABLE_REGISTRATION              = false
ALLOW_ONLY_EXTERNAL_REGISTRATION  = false
ENABLE_CAPTCHA                    = true
REQUIRE_SIGNIN_VIEW               = true
DEFAULT_KEEP_EMAIL_PRIVATE        = false
DEFAULT_ALLOW_CREATE_ORGANIZATION = false
DEFAULT_ENABLE_TIMETRACKING       = true
NO_REPLY_ADDRESS                  = noreply.example.org

[picture]
DISABLE_GRAVATAR        = true
ENABLE_FEDERATED_AVATAR = false

[openid]
ENABLE_OPENID_SIGNIN = false
ENABLE_OPENID_SIGNUP = false

[session]
PROVIDER = file

[attachment]
ENABLED       = true
PATH          = <绝对路径>/Path/data/attachments
ALLOWED_TYPES = image/jpeg|image/png|application/zip|application/gzip
MAX_SIZE      = 4
MAX_FILES     = 5

[log]
MODE      = file
LEVEL     = Info
ROOT_PATH = <绝对路径>/Path/log

[other]
SHOW_FOOTER_TEMPLATE_LOAD_TIME = false

10. 外部参考资料

  1. 官方网站
  2. 下载连接

到了这里,关于Gitea 安装和配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Gitea】配置 Push To Create

    在 Git 代码管理工具使用过程中,经常需要将一个文件夹作为仓库上传到一个未创建的代码仓库。如果 Git 服务端使用的是 Gitea,通常会推送失败。 因为 Gitea 默认推送时不创建仓库。 Push To Create即 推送创建 , Gitea 提供了两个参数开启 推送创建 ,分别是 ENABLE_PUSH_CREATE_USER 和

    2024年02月22日
    浏览(25)
  • 配置自动化部署Jenkins和Gitea

    这里使用的是Jenkins+Gitea 如果不知道怎么安装Jenkins和Gitea可以参考下面文章 https://blog.csdn.net/weixin_46533577/article/details/134644144 我的另一篇文章 前端 先说下自己的情况,因为自己服务器原因,使用的服务器内存太小只有4g,如果这时候再使用 npm run build 进行打包时会出现卡死,

    2024年02月21日
    浏览(43)
  • Gitea启用SSH服务以及密钥生成与代码拉取

    配置文件位置 装载路径:/data/gitea/conf/app.ini (按照自己映射路径寻找 /gitea/conf/app.ini ),下载此文件到本地; 找到[server]配置节点,修改以下信息项; 修改配置节: SSH_DOMAN = 与http访问的域名配置一样即可 ,只需写域名,无需http以及端口号等 ; 修改配置节: DISABLE_SSH =

    2024年04月09日
    浏览(47)
  • Docker 配置 Gitea + Drone 搭建 CI/CD 平台

    本文的IP地址是为了方便理解随便打的,不要乱点 首先使用 docker 搭建 Gitea 服务器,用于管理代码版本,数据库选择mysql Gitea 服务器的 docker-compose.yml 配置文件如下: 运行前先去数据库服务器中新建一个名为 gitea 的数据库 命令: CREATE DATABASE gitea 编写完成后在当前目录下运行

    2024年01月23日
    浏览(40)
  • 小米万兆路由器里的 Docker 安装 Gitea

    小米2022年12月份发布了万兆路由器,里面可以使用Docker。 今天尝试在小米的万兆路由器里安装Gitea。 先将一块USB外接硬盘格式化为ext4格式,然后外接到小米路由器上, 然后创建虚拟内存,我这里最大可以设置为512MB, 访问DOCKER,安装Docker和第三方管理(SimpleDocker), 然后单击

    2024年02月12日
    浏览(68)
  • 【讲解下Gitea】

    🌈个人主页:程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! Gitea是一个开源的,轻量级的代码托管解决方案,它是用Go语言编写的,旨

    2024年04月08日
    浏览(22)
  • 在Docker中安装Gitea

    2024年02月06日
    浏览(33)
  • Synology搭建Gitea(Docker)

    Nas轻量git方案:Docker安装Gitea; 群晖(Synology) NAS 如何安装 gitea 为所有Docer创建一个组 docker ; 权限: 读写共享目录:docker、Repositories,两个主要涉及到的内容; 应用程序: 拒绝:所以目录。该用户组下所有用户没有使用应用的场景; 为容器Gitea创建一个用户 gitea ; 禁止访问

    2024年02月02日
    浏览(48)
  • debian12部署Gitea服务

    方案一,网络情况良好的情况: 使用wget从github下载gitea二进制文件( 一定要注意下载与自己平台对应的版本 ) 方案二,网络情况不好的情况: 使用在别的地址下载好的gitea二进制文件,上传到debian系统上: 首先创建一个文件夹用来放gitea的二进制文件,路径随意: 然后将

    2024年01月16日
    浏览(46)
  • Git 提交分支合并请求(Gitea)

    在 feature分支 (特性分支)完成开发后,需要提交申请,将 feature分支 合并到 develop分支 (开发分支)。 当项目负责人通过请求后,本次开发结束;如项目负责人拒绝请求,则需要按要求修改代后重新提交。 注:本示例使用的 Git服务器 为 Gitea。 创建 合并请求 选择合并的

    2024年02月12日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包