专业的编程技术博客社区

网站首页 > 博客文章 正文

如何使用Docker compose快速安装Gitlab私有仓库并配置邮箱服务器

baijin 2024-09-17 12:11:48 博客文章 4 ℃ 0 评论

概述

如何使用Docker compose 快速安装GitLab?如何配置GitLab的邮件服务器?如何设置Gitlab头像加载失败问题?

安装Docker、Docker Compose

大家可以参考之前发过的文章:
linux 快速安装docker以及docker compose 并配置国内镜像

安装GitLab

创建docker-compose.yml

新建一个gitlab目录,然后新建一个docker-compose.yml配置文件,复制以下内容:

mkdir gitlab #创建目录
nano docker-compose.yml`
version: '3.6'
services:
  web:
    image: 'gitlab/gitlab-ce:16.5.1-ce.0'
    restart: always
    hostname: '192.168.100.24'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.100.24'
        letsencrypt['enable'] = false
        nginx['redirect_http_to_https'] = false
    ports:
      - '80:80'
    volumes:
      - '/home/data/gitlab/config:/etc/gitlab'
      - '/home/data/gitlab/logs:/var/log/gitlab'
      - '/home/data/gitlab/data:/var/opt/gitlab'
    shm_size: '2048m'

image:GitLab的官方镜像,其他镜像地址
restart:容器出现问题时会自动重启
hostname: 主机IP地址
environment:环境变量配置,external_url设置对外访问的地址,letsencrypt['enable']设置是否开启ssl证书,nginx['redirect_http_to_https']设置nginx是否开启https
ports:端口映射,确认端口是否被占用
volumes:将宿主机目录挂载到容器中。将/home/data/gitlab/config挂载到/etc/gitlab下
shm_size:设置共享内容

安装Gitlab

使用命令启动gitlab,它会自动下载镜像并启动。-d参数时后台运行,如果不写容器的日志会显示在终端,并且关闭窗口后,容器也会关闭。

docker compose up -d

初始化时间大约5分钟,5分钟后,可以查看容器的状态,如果状态是healthy,就代表没有问题。下一步获取root密码并登录。

获取root密码

通过docker exec命令直接获取root账号的密码,768e487ba13d这个是您自己容器的id,通过docker ps命令查看,别写错了。

docker exec -it 768e487ba13d grep 'Password:' /etc/gitlab/initial_root_password

登录

通过上边的命令已经拿到了root账号的密码,以及docker compose配置文件中映射的端口,我们访问http://192.168.100.24即可,各位要根据自己的配置文件来确定访问地址。默认为英文界面,页面的下午可以切换为中文。


配置

配置邮箱服务器

想让gitlab在完成合并代码,或者流水线失败后自动发送邮件,能够发送邮件的前提是要配置邮件服务区。修改配置文件/home/data/gitlab/config/gitlab.rb,路径在你挂载的宿主机路径下。删掉注释,根据自己的邮件服务器信息进行配置,去掉注释后将地址替换成以下内容。

gitlab_rails['smtp_enable'] = true 
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@qq.com"
gitlab_rails['smtp_password'] = "ssssssssss"
gitlab_rails['smtp_domain'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = 'xxx@qq.com'

smtp_enable:开启邮件发送
smtp_address:配置smtp邮件服务器地址,使用qq企业邮箱或者其他发件服务器均可
smtp_port:端口根据官方提供的信息填写,一般开启ssl 走465
smtp_tls:开启ssl
smtp_user_name:登录邮件服务器的邮箱
smtp_password:配置你发件箱的独立密码
smtp_domain:跟地址一样即可
gitlab_email_from:从那个邮箱给别人发送邮件


配置只有重启后才能生效,生效后通过新建一个用户来验证邮箱是否配置成功



腾讯企业邮箱配置官方说明

配置头像cdn

启动后,如果头像不显示,可以配置头像的cdn地址,这样就可以显示了。修改配置文件/home/data/gitlab/config/gitlab.rb,去掉注释后将地址替换成以下内容。

gitlab_rails['gravatar_plain_url']="https://seccdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"
gitlab_rails['gravatar_ssl_url'] = "https://seccdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"


配置完重启之后,到界面上去F12看一下是否生效了。

重启容器后生效

重启docker compose,使用以下命令重启。

docker compose restart


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表