侧边栏壁纸
博主头像
进一步,海阔天空 博主等级

进一步,海阔天空

  • 累计撰写 140 篇文章
  • 累计创建 19 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

Docker安装Gitea并启用https访问

海阔天空
2022-05-28 / 0 评论 / 0 点赞 / 1009 阅读 / 0 字

准备工作

  • 到https://freessl.cn/为域名申请一个免费的ssl证书,并导出。把压缩包中的git-xxx-com.crt文件和git-xxx-com_key.key文件复制到服务器中的/var/lib/gitea目录

image-1654585376181

Gitea安装

  • 首先您要安装好docker,然后pull出gitea最新版。
docker pull gitea/gitea
  • 运行docker容器
docker run --name gitea -d -p 3000:3000 -p 10022:22 -p 10443:443 -v /var/lib/gitea:/data --privileged=true --restart=always gitea/gitea
  • 修改gitea配置
vi /var/lib/gitea/gitea/conf/app.ini

主要修改PROTOCOL,ROOT_URL,REDIRECT_OTHER_PORT,PORT_TO_REDIRECT,CERT_FILE,KEY_FILE这几个设置即可

APP_NAME = git.xxx.com
RUN_MODE = prod
RUN_USER = git

[repository]
ROOT = /data/git/repositories

[repository.local]
LOCAL_COPY_PATH = /data/gitea/tmp/local-repo

[repository.upload]
TEMP_PATH = /data/gitea/uploads

[server]
PROTOCOL         = https
APP_DATA_PATH    = /data/gitea
SSH_DOMAIN       = git.xxx.com
HTTP_PORT        = 3000
ROOT_URL         = https://git.xxx.com:3000/
REDIRECT_OTHER_PORT = true
PORT_TO_REDIRECT = 10443
CERT_FILE = /data/git-xxx-com-https/git.xxx.com.crt
KEY_FILE = /data/git-xxx-com-https/git.xxx.com_key.key
DISABLE_SSH      = false
SSH_PORT         = 22
LFS_START_SERVER = true
LFS_CONTENT_PATH = /data/git/lfs
DOMAIN           = git.xxx.com

[service.explore]
REQUIRE_SIGNIN_VIEW               = true  #未登录用户禁止查看探索页面

  • 重启容器
docker restart gitea

这样就可以通过https://git.xxx.com:3000访问站点了。

通过上面的配置我们确实可以通过https访问我们的gitea服务了,但是这种方式配置证书非常不方便,而且有个更严重的问题是当我们的https证书过期时候,我们得手动申请证书再复制到指定目录下,有没有什么办法自动生成永不过期的证书呢?当然有啦,参考我的这篇文章使用NEXUS3搭建DOCKER镜像仓库的后半部分,安装nginxwebui,生成https证书,然后通过nginxwebui做代理转发即可。不同的是gitea的配置文件中就不需要进行https证书的配置了,参考如下:

APP_NAME = git.xxx.com
RUN_MODE = prod
RUN_USER = git

[repository]
ROOT = /data/git/repositories

[repository.local]
LOCAL_COPY_PATH = /data/gitea/tmp/local-repo

[repository.upload]
TEMP_PATH = /data/gitea/uploads

[server]
PROTOCOL         = http #改成http
APP_DATA_PATH    = /data/gitea
SSH_DOMAIN       = git.xxx.com
HTTP_PORT        = 3000
ROOT_URL         = https://git.xxx.com:3000/

去掉这几个配置
#REDIRECT_OTHER_PORT = true
#PORT_TO_REDIRECT = 10443
#CERT_FILE = /data/git-xxx-com-https/git.xxx.com.crt
#KEY_FILE = /data/git-xxx-com-https/git.xxx.com_key.key

DISABLE_SSH      = false
SSH_PORT         = 22
LFS_START_SERVER = true
LFS_CONTENT_PATH = /data/git/lfs
DOMAIN           = git.xxx.com

[service.explore]
REQUIRE_SIGNIN_VIEW               = true  #未登录用户禁止查看探索页面
0

评论区