通过 docker 安装一个 gitlab 没啥难度。按照的官方手册一溜烟跑下来,感觉比用 rpm 包装都容易很多。在此作下简单的记录
运行 gitlab 容器
# 构建docker数据挂载目录
mkdir -p /data/gitlab
运行如下脚本
#! /bin/bash
GITLAB_HOME=/data/gitlab
sudo docker run -d \
-p 443:443 -p 80:80 -p 2222:22\
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
gitlab/gitlab-ce:17.2.0-ce.0
映射端口443(HTTPS),80(HTTP),22(gitlab的SSH服务),gitlab-ce的版本请随意只是要注意如果从dockerhub上拖取不下来那么你可能需要换成国内的镜像源或者使用代理。
配置 HTTPS
出于安全性考虑,强烈建议通过防火墙限制80端口的访问并启用https。
# 创建证书存放路径
mkdir -p /data/gitlab/config/ssl
# 生成证书
openssl req -x509 -newkey rsa:1024 -keyout gitlab.key -out gitlab.crt -nodes -days 36500
在你的 /data/gitlab/config/gitlab.rb 添加如下配置
external_url 'https://你的域名'
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"
nginx['proxy_set_headers'] = {
"X-Forwarded-Proto" => "https",
"X-Forwarded-Ssl" => "on"
}
# 这个是用于设置 ssh 端口的,如果不修改默认使用22
gitlab_rails['gitlab_shell_ssh_port'] = 2222
重启你的容器并让配置生效(可能需要几分钟)
docker restart gitlab
标签:gitlab,部署,Gitlab,ssl,HOME,--,Docker,data,80
From: https://www.cnblogs.com/oscar2960/p/18316703