docker-compose 搭建gitlab

前提

安装好docker&docker-compose,如果没有安装好的,参考我另一章博客文章
传送门
docker-compose.yml 文件

version: '3'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab
    restart: always
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.0.2:8800' #若有域名可以写域名
        gitlab_rails['gitlab_shell_ssh_port'] = 2224
    ports:
      - '8800:8800'
      - '2224:22'
    volumes:
      #将相关配置映射到当前目录下的config目录
      - './config:/etc/gitlab'
      #将日志映射到当前目录下的logs目录
      - './logs:/var/log/gitlab'
      #将数据映射到当前目录下的data目录
      - './data:/var/opt/gitlab'

一键启动
docker-compose up -d
相关修改的配置,已经映射到宿主机,可以直接在宿主机进行修改

设置中文

登录用户后,在用户头像哪里,点击
image
选择语言--简体中文
image

配置邮件发送

修改./config/gitlab.rb 文件,默认是全部注释,这里配置邮箱信息即可
可以参考我的参数

external_url 'http://外网ip:端口'
prometheus['enable'] = false
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "发件箱@qq.com"
gitlab_rails['smtp_password'] = "QQ授权码,其他邮箱,就自行修改"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '发件箱@qq.com'

配置好后,重启
测试
进入容器
docker exec -it gitlab(容器名) bash
gitlab-rails console
使用测试,看看是否能收到邮件
Notify.test_email('收件箱地址', '邮件标题', '邮件正文qingyun').deliver_now
报错sh: 1: /usr/sbin/sendmail: not found是因为服务器本地没有安装sendmail
sudo apt-get install sendmail 进行安装
service sendmail start 启动
重启gitlab
再进入容器,测试发送邮件,可以发送成功
image

posted @ 2021-12-13 14:49  darling331  阅读(319)  评论(0编辑  收藏  举报