docker 安装gitlab

helei 2021-12-13 953 12/13
安装
docker run -d -h gitlab-ce -p 8443:443 -p 9099:80 -p 10022:22 --name gitlab --restart always -v /D/work/docker/data/gitlab/config:/etc/gitlab -v /D/work/docker/data/gitlab/logs:/var/log/gitlab -v /D/work/docker/data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

启动过程比较慢

获取密码
docker exec -it containerID /bin/bash
cat /etc/gitlab/initial_root_password
设置中文
点击右上角头像>Preferences>Preferences>滑倒最下面>Language
配置项
/home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
#需要注意的是这里的端口号和项目http clone地址端口一样的,建议容器和外部端口一致
external_url 'http://192.168.199.231'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 10022 # 此端口是run时22端口映射的10022端口
配置ssl

官方文档地址

修改配置

external_url "https://gitlab.example.com"

禁用gitlab自己生成证书

letsencrypt['enable'] = false

创建目录并将密钥和证书复制到该目录:/etc/gitlab/ssl

修改https后不会监听https,需要将请求重定向到https

nginx['redirect_http_to_https'] = true

要设置 ssl 证书创建目录的位置,请将 和 文件放在目录中,并指定以下配置:/etc/gitlab/ssl.crt.key

nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt" 
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key"

nginx 配置SSL反向代理到gitlab

#PROXY-START/
location  ~* \.(gif|png|jpg|css|js|woff|woff2)$
{
    proxy_pass http://127.0.0.1:8099;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    expires 12h;
}
location /
{
    proxy_pass http://127.0.0.1:8099;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    
    add_header X-Cache $upstream_cache_status;
    
    #Set Nginx Cache
    
    add_header Cache-Control no-cache;
}
#PROXY-END/

重新加载配置

gitlab-ctl reconfigure

- THE END -

helei

12月14日10:38

最后修改:2021年12月14日
0

非特殊说明,本博所有文章均为博主原创。